001package org.hl7.fhir.r5.model;
002
003
004/*
005  Copyright (c) 2011+, HL7, Inc.
006  All rights reserved.
007  
008  Redistribution and use in source and binary forms, with or without modification, \
009  are permitted provided that the following conditions are met:
010  
011   * Redistributions of source code must retain the above copyright notice, this \
012     list of conditions and the following disclaimer.
013   * Redistributions in binary form must reproduce the above copyright notice, \
014     this list of conditions and the following disclaimer in the documentation \
015     and/or other materials provided with the distribution.
016   * Neither the name of HL7 nor the names of its contributors may be used to 
017     endorse or promote products derived from this software without specific 
018     prior written permission.
019  
020  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \
021  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \
022  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \
023  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \
024  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \
025  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \
026  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \
027  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \
028  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \
029  POSSIBILITY OF SUCH DAMAGE.
030  */
031
032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0
033
034
035import org.hl7.fhir.instance.model.api.*;
036import org.hl7.fhir.utilities.Utilities;
037import org.hl7.fhir.exceptions.FHIRException;
038
039public class Enumerations {
040
041// In here: 
042//   ActionCardinalityBehavior: Defines behavior for an action or a group for how many times that item may be repeated.[PlanDefinition, RequestOrchestration]
043//   ActionConditionKind: Defines the kinds of conditions that can appear on actions.[PlanDefinition, RequestOrchestration]
044//   ActionGroupingBehavior: Defines organization behavior of a group.[PlanDefinition, RequestOrchestration]
045//   ActionParticipantType: The type of participant for the action.[ActivityDefinition, PlanDefinition, RequestOrchestration]
046//   ActionPrecheckBehavior: Defines selection frequency behavior for an action or group.[PlanDefinition, RequestOrchestration]
047//   ActionRelationshipType: Defines the types of relationships between actions.[PlanDefinition, RequestOrchestration]
048//   ActionRequiredBehavior: Defines expectations around whether an action or action group is required.[PlanDefinition, RequestOrchestration]
049//   ActionSelectionBehavior: Defines selection behavior of a group.[PlanDefinition, RequestOrchestration]
050//   AdministrativeGender: The gender of a person used for administrative purposes.[ObservationDefinition, Patient, Person, Practitioner, RelatedPerson]
051//   AllLanguages: This value set includes all possible codes from BCP-47 (see http://tools.ietf.org/html/bcp47)[Account, ActivityDefinition, ActorDefinition, AdministrableProductDefinition, AdverseEvent, AllergyIntolerance, Appointment, AppointmentResponse, ArtifactAssessment, Attachment, AuditEvent, Basic, Binary, BiologicallyDerivedProduct, BiologicallyDerivedProductDispense, BodyStructure, Bundle, CanonicalResource, CapabilityStatement, CarePlan, CareTeam, ChargeItem, ChargeItemDefinition, Citation, Claim, ClaimResponse, ClinicalImpression, ClinicalUseDefinition, CodeSystem, Communication, CommunicationRequest, CompartmentDefinition, Composition, ConceptMap, Condition, ConditionDefinition, Consent, Contract, Coverage, CoverageEligibilityRequest, CoverageEligibilityResponse, DetectedIssue, Device, DeviceAssociation, DeviceDefinition, DeviceDispense, DeviceMetric, DeviceRequest, DeviceUsage, DiagnosticReport, DocumentReference, DomainResource, Encounter, EncounterHistory, Endpoint, EnrollmentRequest, EnrollmentResponse, EpisodeOfCare, EventDefinition, Evidence, EvidenceReport, EvidenceVariable, ExampleScenario, ExplanationOfBenefit, FamilyMemberHistory, Flag, FormularyItem, GenomicStudy, Goal, GraphDefinition, Group, GuidanceResponse, HealthcareService, ImagingSelection, ImagingStudy, Immunization, ImmunizationEvaluation, ImmunizationRecommendation, ImplementationGuide, Ingredient, InsurancePlan, InventoryItem, InventoryReport, Invoice, Library, Linkage, List, Location, ManufacturedItemDefinition, Measure, MeasureReport, Medication, MedicationAdministration, MedicationDispense, MedicationKnowledge, MedicationRequest, MedicationStatement, MedicinalProductDefinition, MessageDefinition, MessageHeader, MetadataResource, MolecularSequence, NamingSystem, NutritionIntake, NutritionOrder, NutritionProduct, Observation, ObservationDefinition, OperationDefinition, OperationOutcome, Organization, OrganizationAffiliation, PackagedProductDefinition, Parameters, Patient, PaymentNotice, PaymentReconciliation, Permission, Person, PlanDefinition, Practitioner, PractitionerRole, Procedure, Provenance, Questionnaire, QuestionnaireResponse, RegulatedAuthorization, RelatedPerson, RequestOrchestration, Requirements, ResearchStudy, ResearchSubject, Resource, RiskAssessment, Schedule, SearchParameter, ServiceRequest, Slot, Specimen, SpecimenDefinition, StructureDefinition, StructureMap, Subscription, SubscriptionStatus, SubscriptionTopic, Substance, SubstanceDefinition, SubstanceNucleicAcid, SubstancePolymer, SubstanceProtein, SubstanceReferenceInformation, SubstanceSourceMaterial, SupplyDelivery, SupplyRequest, Task, TerminologyCapabilities, TestPlan, TestReport, TestScript, Transport, ValueSet, VerificationResult, VisionPrescription]
052//   BindingStrength: Indication of the degree of conformance expectations associated with a binding.[ElementDefinition, OperationDefinition]
053//   CapabilityStatementKind: How a capability statement is intended to be used.[CapabilityStatement, TerminologyCapabilities]
054//   ClaimProcessingCodes: This value set includes Claim Processing Outcome codes.[ClaimResponse, ExplanationOfBenefit]
055//   CodeSystemContentMode: The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.[CodeSystem, TerminologyCapabilities]
056//   CommonLanguages: This value set includes common codes from BCP-47 (see http://tools.ietf.org/html/bcp47)[InventoryItem, TerminologyCapabilities]
057//   CompartmentType: Which type a compartment definition describes.[CompartmentDefinition, GraphDefinition]
058//   CompositionStatus: The workflow/clinical status of the composition.[Composition, DocumentReference]
059//   ConceptMapRelationship: The relationship between concepts.[ConceptMap]
060//   ConsentDataMeaning: How a resource reference is interpreted when testing consent restrictions.[Consent, Permission]
061//   ConsentProvisionType: How a rule statement is applied, such as adding additional consent or removing consent.[Consent, Permission]
062//   Currencies: Currency codes from ISO 4217 (see https://www.iso.org/iso-4217-currency-codes.html)[Account, Money]
063//   DaysOfWeek: The days of the week.[Appointment, Availability, Timing]
064//   DeviceNameType: The type of name the device is referred by.[Device, DeviceDefinition]
065//   EncounterStatus: Current state of the encounter.[Encounter, EncounterHistory]
066//   EventStatus: Codes identifying the lifecycle stage of an event.[ClinicalImpression, Communication, NutritionIntake, Procedure]
067//   EvidenceVariableHandling: The handling of the variable in statistical analysis for exposures or outcomes (E.g. Dichotomous, Continuous, Descriptive).[Evidence, EvidenceVariable]
068//   ExampleScenarioActorType: The type of actor - system or human.[ActorDefinition, ExampleScenario]
069//   FHIRTypes: All FHIR types[DataRequirement, Measure, OperationDefinition, ParameterDefinition]
070//   FHIRVersion: All published FHIR Versions.[CapabilityStatement, ImplementationGuide, StructureDefinition]
071//   FilterOperator: The kind of operation to perform as a part of a property based filter.[CodeSystem, ValueSet]
072//   FinancialResourceStatusCodes: This value set includes Status codes.[Claim, ClaimResponse, Coverage, CoverageEligibilityRequest, CoverageEligibilityResponse, EnrollmentRequest, EnrollmentResponse, PaymentNotice, PaymentReconciliation, VisionPrescription]
073//   ListMode: The processing mode that applies to this list.[EvidenceReport, List]
074//   MeasureImprovementNotation: Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue.[Measure, MeasureReport]
075//   MimeTypes: This value set includes all possible codes from BCP-13 (see http://tools.ietf.org/html/bcp13)[Attachment, Binary, CapabilityStatement, ElementDefinition, Endpoint, Signature, Subscription, TestScript]
076//   ObservationStatus: Codes providing the status of an observation.[Observation, RiskAssessment]
077//   OperationParameterUse: Whether an operation parameter is an input or an output parameter.[OperationDefinition, ParameterDefinition]
078//   PublicationStatus: The lifecycle status of an artifact.[ActivityDefinition, ActorDefinition, AdministrableProductDefinition, CanonicalResource, CapabilityStatement, ChargeItemDefinition, Citation, CodeSystem, CompartmentDefinition, ConceptMap, ConditionDefinition, EventDefinition, Evidence, EvidenceReport, EvidenceVariable, ExampleScenario, GraphDefinition, ImplementationGuide, Ingredient, InsurancePlan, Library, ManufacturedItemDefinition, Measure, MessageDefinition, MetadataResource, NamingSystem, ObservationDefinition, OperationDefinition, PlanDefinition, Questionnaire, RelatedArtifact, Requirements, ResearchStudy, ResearchSubject, SearchParameter, SpecimenDefinition, StructureDefinition, StructureMap, SubscriptionTopic, TerminologyCapabilities, TestPlan, TestScript, ValueSet]
079//   QuantityComparator: How the Quantity should be understood and represented.[Age, Count, Distance, Duration, Quantity]
080//   RequestIntent: Codes indicating the degree of authority/intentionality associated with a request.[ActivityDefinition, CommunicationRequest, DeviceRequest, NutritionOrder, RequestOrchestration, ServiceRequest]
081//   RequestPriority: Identifies the level of importance to be assigned to actioning the request.[ActivityDefinition, Communication, CommunicationRequest, DeviceRequest, MedicationRequest, NutritionOrder, PlanDefinition, RequestOrchestration, ServiceRequest, SupplyRequest, Task, Transport]
082//   RequestStatus: Codes identifying the lifecycle stage of a request.[CarePlan, CommunicationRequest, DeviceRequest, NutritionOrder, RequestOrchestration, ServiceRequest]
083//   ResourceTypeEnum: Concrete FHIR Resource Types[CapabilityStatement, CompartmentDefinition, ImplementationGuide, MessageDefinition, Questionnaire]
084//   SearchComparator: What Search Comparator Codes are supported in search.[SearchParameter, Subscription, SubscriptionTopic]
085//   SearchModifierCode: A supported modifier for a search parameter.[SearchParameter, Subscription, SubscriptionTopic]
086//   SearchParamType: Data types allowed to be used for search parameters.[CapabilityStatement, OperationDefinition, SearchParameter]
087//   SubscriptionStatusCodes: State values for FHIR Subscriptions.[Subscription, SubscriptionStatus]
088//   Use: The purpose of the Claim: predetermination, preauthorization, claim.[Claim, ClaimResponse, ExplanationOfBenefit]
089//   VersionIndependentResourceTypesAll: Current and past FHIR resource types (deleted or renamed), including abstract types[GraphDefinition, OperationDefinition, SearchParameter]
090
091
092    public enum ActionCardinalityBehavior {
093        /**
094         * The action may only be selected one time.
095         */
096        SINGLE, 
097        /**
098         * The action may be selected multiple times.
099         */
100        MULTIPLE, 
101        /**
102         * added to help the parsers
103         */
104        NULL;
105        public static ActionCardinalityBehavior fromCode(String codeString) throws FHIRException {
106            if (codeString == null || "".equals(codeString))
107                return null;
108        if ("single".equals(codeString))
109          return SINGLE;
110        if ("multiple".equals(codeString))
111          return MULTIPLE;
112        throw new FHIRException("Unknown ActionCardinalityBehavior code '"+codeString+"'");
113        }
114        public static boolean isValidCode(String codeString) {
115            if (codeString == null || "".equals(codeString))
116                return false;
117          return Utilities.existsInList(codeString, "single", "multiple");
118        }
119        public String toCode() {
120          switch (this) {
121            case SINGLE: return "single";
122            case MULTIPLE: return "multiple";
123            case NULL: return null;
124            default: return "?";
125          }
126        }
127        public String getSystem() {
128          switch (this) {
129            case SINGLE: return "http://hl7.org/fhir/action-cardinality-behavior";
130            case MULTIPLE: return "http://hl7.org/fhir/action-cardinality-behavior";
131            case NULL: return null;
132            default: return "?";
133          }
134        }
135        public String getDefinition() {
136          switch (this) {
137            case SINGLE: return "The action may only be selected one time.";
138            case MULTIPLE: return "The action may be selected multiple times.";
139            case NULL: return null;
140            default: return "?";
141          }
142        }
143        public String getDisplay() {
144          switch (this) {
145            case SINGLE: return "Single";
146            case MULTIPLE: return "Multiple";
147            case NULL: return null;
148            default: return "?";
149          }
150        }
151    }
152
153  public static class ActionCardinalityBehaviorEnumFactory implements EnumFactory<ActionCardinalityBehavior> {
154    public ActionCardinalityBehavior fromCode(String codeString) throws IllegalArgumentException {
155      if (codeString == null || "".equals(codeString))
156            if (codeString == null || "".equals(codeString))
157                return null;
158        if ("single".equals(codeString))
159          return ActionCardinalityBehavior.SINGLE;
160        if ("multiple".equals(codeString))
161          return ActionCardinalityBehavior.MULTIPLE;
162        throw new IllegalArgumentException("Unknown ActionCardinalityBehavior code '"+codeString+"'");
163        }
164
165        public Enumeration<ActionCardinalityBehavior> fromType(PrimitiveType<?> code) throws FHIRException {
166          if (code == null)
167            return null;
168          if (code.isEmpty())
169            return new Enumeration<ActionCardinalityBehavior>(this, ActionCardinalityBehavior.NULL, code);
170          String codeString = ((PrimitiveType) code).asStringValue();
171          if (codeString == null || "".equals(codeString))
172            return new Enumeration<ActionCardinalityBehavior>(this, ActionCardinalityBehavior.NULL, code);
173        if ("single".equals(codeString))
174          return new Enumeration<ActionCardinalityBehavior>(this, ActionCardinalityBehavior.SINGLE, code);
175        if ("multiple".equals(codeString))
176          return new Enumeration<ActionCardinalityBehavior>(this, ActionCardinalityBehavior.MULTIPLE, code);
177        throw new FHIRException("Unknown ActionCardinalityBehavior code '"+codeString+"'");
178        }
179    public String toCode(ActionCardinalityBehavior code) {
180       if (code == ActionCardinalityBehavior.NULL)
181           return null;
182       if (code == ActionCardinalityBehavior.SINGLE)
183        return "single";
184      if (code == ActionCardinalityBehavior.MULTIPLE)
185        return "multiple";
186      return "?";
187   }
188    public String toSystem(ActionCardinalityBehavior code) {
189      return code.getSystem();
190      }
191    }
192
193    public enum ActionConditionKind {
194        /**
195         * The condition describes whether or not a given action is applicable.
196         */
197        APPLICABILITY, 
198        /**
199         * The condition is a starting condition for the action.
200         */
201        START, 
202        /**
203         * The condition is a stop, or exit condition for the action.
204         */
205        STOP, 
206        /**
207         * added to help the parsers
208         */
209        NULL;
210        public static ActionConditionKind fromCode(String codeString) throws FHIRException {
211            if (codeString == null || "".equals(codeString))
212                return null;
213        if ("applicability".equals(codeString))
214          return APPLICABILITY;
215        if ("start".equals(codeString))
216          return START;
217        if ("stop".equals(codeString))
218          return STOP;
219        throw new FHIRException("Unknown ActionConditionKind code '"+codeString+"'");
220        }
221        public static boolean isValidCode(String codeString) {
222            if (codeString == null || "".equals(codeString))
223                return false;
224          return Utilities.existsInList(codeString, "applicability", "start", "stop");
225        }
226        public String toCode() {
227          switch (this) {
228            case APPLICABILITY: return "applicability";
229            case START: return "start";
230            case STOP: return "stop";
231            case NULL: return null;
232            default: return "?";
233          }
234        }
235        public String getSystem() {
236          switch (this) {
237            case APPLICABILITY: return "http://hl7.org/fhir/action-condition-kind";
238            case START: return "http://hl7.org/fhir/action-condition-kind";
239            case STOP: return "http://hl7.org/fhir/action-condition-kind";
240            case NULL: return null;
241            default: return "?";
242          }
243        }
244        public String getDefinition() {
245          switch (this) {
246            case APPLICABILITY: return "The condition describes whether or not a given action is applicable.";
247            case START: return "The condition is a starting condition for the action.";
248            case STOP: return "The condition is a stop, or exit condition for the action.";
249            case NULL: return null;
250            default: return "?";
251          }
252        }
253        public String getDisplay() {
254          switch (this) {
255            case APPLICABILITY: return "Applicability";
256            case START: return "Start";
257            case STOP: return "Stop";
258            case NULL: return null;
259            default: return "?";
260          }
261        }
262    }
263
264  public static class ActionConditionKindEnumFactory implements EnumFactory<ActionConditionKind> {
265    public ActionConditionKind fromCode(String codeString) throws IllegalArgumentException {
266      if (codeString == null || "".equals(codeString))
267            if (codeString == null || "".equals(codeString))
268                return null;
269        if ("applicability".equals(codeString))
270          return ActionConditionKind.APPLICABILITY;
271        if ("start".equals(codeString))
272          return ActionConditionKind.START;
273        if ("stop".equals(codeString))
274          return ActionConditionKind.STOP;
275        throw new IllegalArgumentException("Unknown ActionConditionKind code '"+codeString+"'");
276        }
277
278        public Enumeration<ActionConditionKind> fromType(PrimitiveType<?> code) throws FHIRException {
279          if (code == null)
280            return null;
281          if (code.isEmpty())
282            return new Enumeration<ActionConditionKind>(this, ActionConditionKind.NULL, code);
283          String codeString = ((PrimitiveType) code).asStringValue();
284          if (codeString == null || "".equals(codeString))
285            return new Enumeration<ActionConditionKind>(this, ActionConditionKind.NULL, code);
286        if ("applicability".equals(codeString))
287          return new Enumeration<ActionConditionKind>(this, ActionConditionKind.APPLICABILITY, code);
288        if ("start".equals(codeString))
289          return new Enumeration<ActionConditionKind>(this, ActionConditionKind.START, code);
290        if ("stop".equals(codeString))
291          return new Enumeration<ActionConditionKind>(this, ActionConditionKind.STOP, code);
292        throw new FHIRException("Unknown ActionConditionKind code '"+codeString+"'");
293        }
294    public String toCode(ActionConditionKind code) {
295       if (code == ActionConditionKind.NULL)
296           return null;
297       if (code == ActionConditionKind.APPLICABILITY)
298        return "applicability";
299      if (code == ActionConditionKind.START)
300        return "start";
301      if (code == ActionConditionKind.STOP)
302        return "stop";
303      return "?";
304   }
305    public String toSystem(ActionConditionKind code) {
306      return code.getSystem();
307      }
308    }
309
310    public enum ActionGroupingBehavior {
311        /**
312         * Any group marked with this behavior should be displayed as a visual group to the end user.
313         */
314        VISUALGROUP, 
315        /**
316         * A group with this behavior logically groups its sub-elements, and may be shown as a visual group to the end user, but it is not required to do so.
317         */
318        LOGICALGROUP, 
319        /**
320         * A group of related alternative actions is a sentence group if the target referenced by the action is the same in all the actions and each action simply constitutes a different variation on how to specify the details for the target. For example, two actions that could be in a SentenceGroup are "aspirin, 500 mg, 2 times per day" and "aspirin, 300 mg, 3 times per day". In both cases, aspirin is the target referenced by the action, and the two actions represent different options for how aspirin might be ordered for the patient. Note that a SentenceGroup would almost always have an associated selection behavior of "AtMostOne", unless it's a required action, in which case, it would be "ExactlyOne".
321         */
322        SENTENCEGROUP, 
323        /**
324         * added to help the parsers
325         */
326        NULL;
327        public static ActionGroupingBehavior fromCode(String codeString) throws FHIRException {
328            if (codeString == null || "".equals(codeString))
329                return null;
330        if ("visual-group".equals(codeString))
331          return VISUALGROUP;
332        if ("logical-group".equals(codeString))
333          return LOGICALGROUP;
334        if ("sentence-group".equals(codeString))
335          return SENTENCEGROUP;
336        throw new FHIRException("Unknown ActionGroupingBehavior code '"+codeString+"'");
337        }
338        public static boolean isValidCode(String codeString) {
339            if (codeString == null || "".equals(codeString))
340                return false;
341          return Utilities.existsInList(codeString, "visual-group", "logical-group", "sentence-group");
342        }
343        public String toCode() {
344          switch (this) {
345            case VISUALGROUP: return "visual-group";
346            case LOGICALGROUP: return "logical-group";
347            case SENTENCEGROUP: return "sentence-group";
348            case NULL: return null;
349            default: return "?";
350          }
351        }
352        public String getSystem() {
353          switch (this) {
354            case VISUALGROUP: return "http://hl7.org/fhir/action-grouping-behavior";
355            case LOGICALGROUP: return "http://hl7.org/fhir/action-grouping-behavior";
356            case SENTENCEGROUP: return "http://hl7.org/fhir/action-grouping-behavior";
357            case NULL: return null;
358            default: return "?";
359          }
360        }
361        public String getDefinition() {
362          switch (this) {
363            case VISUALGROUP: return "Any group marked with this behavior should be displayed as a visual group to the end user.";
364            case LOGICALGROUP: return "A group with this behavior logically groups its sub-elements, and may be shown as a visual group to the end user, but it is not required to do so.";
365            case SENTENCEGROUP: return "A group of related alternative actions is a sentence group if the target referenced by the action is the same in all the actions and each action simply constitutes a different variation on how to specify the details for the target. For example, two actions that could be in a SentenceGroup are \"aspirin, 500 mg, 2 times per day\" and \"aspirin, 300 mg, 3 times per day\". In both cases, aspirin is the target referenced by the action, and the two actions represent different options for how aspirin might be ordered for the patient. Note that a SentenceGroup would almost always have an associated selection behavior of \"AtMostOne\", unless it's a required action, in which case, it would be \"ExactlyOne\".";
366            case NULL: return null;
367            default: return "?";
368          }
369        }
370        public String getDisplay() {
371          switch (this) {
372            case VISUALGROUP: return "Visual Group";
373            case LOGICALGROUP: return "Logical Group";
374            case SENTENCEGROUP: return "Sentence Group";
375            case NULL: return null;
376            default: return "?";
377          }
378        }
379    }
380
381  public static class ActionGroupingBehaviorEnumFactory implements EnumFactory<ActionGroupingBehavior> {
382    public ActionGroupingBehavior fromCode(String codeString) throws IllegalArgumentException {
383      if (codeString == null || "".equals(codeString))
384            if (codeString == null || "".equals(codeString))
385                return null;
386        if ("visual-group".equals(codeString))
387          return ActionGroupingBehavior.VISUALGROUP;
388        if ("logical-group".equals(codeString))
389          return ActionGroupingBehavior.LOGICALGROUP;
390        if ("sentence-group".equals(codeString))
391          return ActionGroupingBehavior.SENTENCEGROUP;
392        throw new IllegalArgumentException("Unknown ActionGroupingBehavior code '"+codeString+"'");
393        }
394
395        public Enumeration<ActionGroupingBehavior> fromType(PrimitiveType<?> code) throws FHIRException {
396          if (code == null)
397            return null;
398          if (code.isEmpty())
399            return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.NULL, code);
400          String codeString = ((PrimitiveType) code).asStringValue();
401          if (codeString == null || "".equals(codeString))
402            return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.NULL, code);
403        if ("visual-group".equals(codeString))
404          return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.VISUALGROUP, code);
405        if ("logical-group".equals(codeString))
406          return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.LOGICALGROUP, code);
407        if ("sentence-group".equals(codeString))
408          return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.SENTENCEGROUP, code);
409        throw new FHIRException("Unknown ActionGroupingBehavior code '"+codeString+"'");
410        }
411    public String toCode(ActionGroupingBehavior code) {
412       if (code == ActionGroupingBehavior.NULL)
413           return null;
414       if (code == ActionGroupingBehavior.VISUALGROUP)
415        return "visual-group";
416      if (code == ActionGroupingBehavior.LOGICALGROUP)
417        return "logical-group";
418      if (code == ActionGroupingBehavior.SENTENCEGROUP)
419        return "sentence-group";
420      return "?";
421   }
422    public String toSystem(ActionGroupingBehavior code) {
423      return code.getSystem();
424      }
425    }
426
427    public enum ActionParticipantType {
428        /**
429         * The participant is a care team caring for the patient under evaluation.
430         */
431        CARETEAM, 
432        /**
433         * The participant is a system or device used in the care of the patient.
434         */
435        DEVICE, 
436        /**
437         * The participant is a group of participants involved in the care of the patient.
438         */
439        GROUP, 
440        /**
441         * The participant is an institution that can provide the given healthcare service used in the care of the patient.
442         */
443        HEALTHCARESERVICE, 
444        /**
445         * The participant is a location involved in the care of the patient.
446         */
447        LOCATION, 
448        /**
449         * The participant is an organization involved in the care of the patient.
450         */
451        ORGANIZATION, 
452        /**
453         * The participant is the patient under evaluation.
454         */
455        PATIENT, 
456        /**
457         * The participant is a practitioner involved in the patient's care.
458         */
459        PRACTITIONER, 
460        /**
461         * The participant is a particular practitioner role involved in the patient's care.
462         */
463        PRACTITIONERROLE, 
464        /**
465         * The participant is a person related to the patient.
466         */
467        RELATEDPERSON, 
468        /**
469         * added to help the parsers
470         */
471        NULL;
472        public static ActionParticipantType fromCode(String codeString) throws FHIRException {
473            if (codeString == null || "".equals(codeString))
474                return null;
475        if ("careteam".equals(codeString))
476          return CARETEAM;
477        if ("device".equals(codeString))
478          return DEVICE;
479        if ("group".equals(codeString))
480          return GROUP;
481        if ("healthcareservice".equals(codeString))
482          return HEALTHCARESERVICE;
483        if ("location".equals(codeString))
484          return LOCATION;
485        if ("organization".equals(codeString))
486          return ORGANIZATION;
487        if ("patient".equals(codeString))
488          return PATIENT;
489        if ("practitioner".equals(codeString))
490          return PRACTITIONER;
491        if ("practitionerrole".equals(codeString))
492          return PRACTITIONERROLE;
493        if ("relatedperson".equals(codeString))
494          return RELATEDPERSON;
495        throw new FHIRException("Unknown ActionParticipantType code '"+codeString+"'");
496        }
497        public static boolean isValidCode(String codeString) {
498            if (codeString == null || "".equals(codeString))
499                return false;
500          return Utilities.existsInList(codeString, "careteam", "device", "group", "healthcareservice", "location", "organization", "patient", "practitioner", "practitionerrole", "relatedperson");
501        }
502        public String toCode() {
503          switch (this) {
504            case CARETEAM: return "careteam";
505            case DEVICE: return "device";
506            case GROUP: return "group";
507            case HEALTHCARESERVICE: return "healthcareservice";
508            case LOCATION: return "location";
509            case ORGANIZATION: return "organization";
510            case PATIENT: return "patient";
511            case PRACTITIONER: return "practitioner";
512            case PRACTITIONERROLE: return "practitionerrole";
513            case RELATEDPERSON: return "relatedperson";
514            case NULL: return null;
515            default: return "?";
516          }
517        }
518        public String getSystem() {
519          switch (this) {
520            case CARETEAM: return "http://hl7.org/fhir/action-participant-type";
521            case DEVICE: return "http://hl7.org/fhir/action-participant-type";
522            case GROUP: return "http://hl7.org/fhir/action-participant-type";
523            case HEALTHCARESERVICE: return "http://hl7.org/fhir/action-participant-type";
524            case LOCATION: return "http://hl7.org/fhir/action-participant-type";
525            case ORGANIZATION: return "http://hl7.org/fhir/action-participant-type";
526            case PATIENT: return "http://hl7.org/fhir/action-participant-type";
527            case PRACTITIONER: return "http://hl7.org/fhir/action-participant-type";
528            case PRACTITIONERROLE: return "http://hl7.org/fhir/action-participant-type";
529            case RELATEDPERSON: return "http://hl7.org/fhir/action-participant-type";
530            case NULL: return null;
531            default: return "?";
532          }
533        }
534        public String getDefinition() {
535          switch (this) {
536            case CARETEAM: return "The participant is a care team caring for the patient under evaluation.";
537            case DEVICE: return "The participant is a system or device used in the care of the patient.";
538            case GROUP: return "The participant is a group of participants involved in the care of the patient.";
539            case HEALTHCARESERVICE: return "The participant is an institution that can provide the given healthcare service used in the care of the patient.";
540            case LOCATION: return "The participant is a location involved in the care of the patient.";
541            case ORGANIZATION: return "The participant is an organization involved in the care of the patient.";
542            case PATIENT: return "The participant is the patient under evaluation.";
543            case PRACTITIONER: return "The participant is a practitioner involved in the patient's care.";
544            case PRACTITIONERROLE: return "The participant is a particular practitioner role involved in the patient's care.";
545            case RELATEDPERSON: return "The participant is a person related to the patient.";
546            case NULL: return null;
547            default: return "?";
548          }
549        }
550        public String getDisplay() {
551          switch (this) {
552            case CARETEAM: return "CareTeam";
553            case DEVICE: return "Device";
554            case GROUP: return "Group";
555            case HEALTHCARESERVICE: return "HealthcareService";
556            case LOCATION: return "Location";
557            case ORGANIZATION: return "Organization";
558            case PATIENT: return "Patient";
559            case PRACTITIONER: return "Practitioner";
560            case PRACTITIONERROLE: return "PractitionerRole";
561            case RELATEDPERSON: return "RelatedPerson";
562            case NULL: return null;
563            default: return "?";
564          }
565        }
566    }
567
568  public static class ActionParticipantTypeEnumFactory implements EnumFactory<ActionParticipantType> {
569    public ActionParticipantType fromCode(String codeString) throws IllegalArgumentException {
570      if (codeString == null || "".equals(codeString))
571            if (codeString == null || "".equals(codeString))
572                return null;
573        if ("careteam".equals(codeString))
574          return ActionParticipantType.CARETEAM;
575        if ("device".equals(codeString))
576          return ActionParticipantType.DEVICE;
577        if ("group".equals(codeString))
578          return ActionParticipantType.GROUP;
579        if ("healthcareservice".equals(codeString))
580          return ActionParticipantType.HEALTHCARESERVICE;
581        if ("location".equals(codeString))
582          return ActionParticipantType.LOCATION;
583        if ("organization".equals(codeString))
584          return ActionParticipantType.ORGANIZATION;
585        if ("patient".equals(codeString))
586          return ActionParticipantType.PATIENT;
587        if ("practitioner".equals(codeString))
588          return ActionParticipantType.PRACTITIONER;
589        if ("practitionerrole".equals(codeString))
590          return ActionParticipantType.PRACTITIONERROLE;
591        if ("relatedperson".equals(codeString))
592          return ActionParticipantType.RELATEDPERSON;
593        throw new IllegalArgumentException("Unknown ActionParticipantType code '"+codeString+"'");
594        }
595
596        public Enumeration<ActionParticipantType> fromType(PrimitiveType<?> code) throws FHIRException {
597          if (code == null)
598            return null;
599          if (code.isEmpty())
600            return new Enumeration<ActionParticipantType>(this, ActionParticipantType.NULL, code);
601          String codeString = ((PrimitiveType) code).asStringValue();
602          if (codeString == null || "".equals(codeString))
603            return new Enumeration<ActionParticipantType>(this, ActionParticipantType.NULL, code);
604        if ("careteam".equals(codeString))
605          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.CARETEAM, code);
606        if ("device".equals(codeString))
607          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.DEVICE, code);
608        if ("group".equals(codeString))
609          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.GROUP, code);
610        if ("healthcareservice".equals(codeString))
611          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.HEALTHCARESERVICE, code);
612        if ("location".equals(codeString))
613          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.LOCATION, code);
614        if ("organization".equals(codeString))
615          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.ORGANIZATION, code);
616        if ("patient".equals(codeString))
617          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.PATIENT, code);
618        if ("practitioner".equals(codeString))
619          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.PRACTITIONER, code);
620        if ("practitionerrole".equals(codeString))
621          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.PRACTITIONERROLE, code);
622        if ("relatedperson".equals(codeString))
623          return new Enumeration<ActionParticipantType>(this, ActionParticipantType.RELATEDPERSON, code);
624        throw new FHIRException("Unknown ActionParticipantType code '"+codeString+"'");
625        }
626    public String toCode(ActionParticipantType code) {
627       if (code == ActionParticipantType.NULL)
628           return null;
629       if (code == ActionParticipantType.CARETEAM)
630        return "careteam";
631      if (code == ActionParticipantType.DEVICE)
632        return "device";
633      if (code == ActionParticipantType.GROUP)
634        return "group";
635      if (code == ActionParticipantType.HEALTHCARESERVICE)
636        return "healthcareservice";
637      if (code == ActionParticipantType.LOCATION)
638        return "location";
639      if (code == ActionParticipantType.ORGANIZATION)
640        return "organization";
641      if (code == ActionParticipantType.PATIENT)
642        return "patient";
643      if (code == ActionParticipantType.PRACTITIONER)
644        return "practitioner";
645      if (code == ActionParticipantType.PRACTITIONERROLE)
646        return "practitionerrole";
647      if (code == ActionParticipantType.RELATEDPERSON)
648        return "relatedperson";
649      return "?";
650   }
651    public String toSystem(ActionParticipantType code) {
652      return code.getSystem();
653      }
654    }
655
656    public enum ActionPrecheckBehavior {
657        /**
658         * An action with this behavior is one of the most frequent action that is, or should be, included by an end user, for the particular context in which the action occurs. The system displaying the action to the end user should consider "pre-checking" such an action as a convenience for the user.
659         */
660        YES, 
661        /**
662         * An action with this behavior is one of the less frequent actions included by the end user, for the particular context in which the action occurs. The system displaying the actions to the end user would typically not "pre-check" such an action.
663         */
664        NO, 
665        /**
666         * added to help the parsers
667         */
668        NULL;
669        public static ActionPrecheckBehavior fromCode(String codeString) throws FHIRException {
670            if (codeString == null || "".equals(codeString))
671                return null;
672        if ("yes".equals(codeString))
673          return YES;
674        if ("no".equals(codeString))
675          return NO;
676        throw new FHIRException("Unknown ActionPrecheckBehavior code '"+codeString+"'");
677        }
678        public static boolean isValidCode(String codeString) {
679            if (codeString == null || "".equals(codeString))
680                return false;
681          return Utilities.existsInList(codeString, "yes", "no");
682        }
683        public String toCode() {
684          switch (this) {
685            case YES: return "yes";
686            case NO: return "no";
687            case NULL: return null;
688            default: return "?";
689          }
690        }
691        public String getSystem() {
692          switch (this) {
693            case YES: return "http://hl7.org/fhir/action-precheck-behavior";
694            case NO: return "http://hl7.org/fhir/action-precheck-behavior";
695            case NULL: return null;
696            default: return "?";
697          }
698        }
699        public String getDefinition() {
700          switch (this) {
701            case YES: return "An action with this behavior is one of the most frequent action that is, or should be, included by an end user, for the particular context in which the action occurs. The system displaying the action to the end user should consider \"pre-checking\" such an action as a convenience for the user.";
702            case NO: return "An action with this behavior is one of the less frequent actions included by the end user, for the particular context in which the action occurs. The system displaying the actions to the end user would typically not \"pre-check\" such an action.";
703            case NULL: return null;
704            default: return "?";
705          }
706        }
707        public String getDisplay() {
708          switch (this) {
709            case YES: return "Yes";
710            case NO: return "No";
711            case NULL: return null;
712            default: return "?";
713          }
714        }
715    }
716
717  public static class ActionPrecheckBehaviorEnumFactory implements EnumFactory<ActionPrecheckBehavior> {
718    public ActionPrecheckBehavior fromCode(String codeString) throws IllegalArgumentException {
719      if (codeString == null || "".equals(codeString))
720            if (codeString == null || "".equals(codeString))
721                return null;
722        if ("yes".equals(codeString))
723          return ActionPrecheckBehavior.YES;
724        if ("no".equals(codeString))
725          return ActionPrecheckBehavior.NO;
726        throw new IllegalArgumentException("Unknown ActionPrecheckBehavior code '"+codeString+"'");
727        }
728
729        public Enumeration<ActionPrecheckBehavior> fromType(PrimitiveType<?> code) throws FHIRException {
730          if (code == null)
731            return null;
732          if (code.isEmpty())
733            return new Enumeration<ActionPrecheckBehavior>(this, ActionPrecheckBehavior.NULL, code);
734          String codeString = ((PrimitiveType) code).asStringValue();
735          if (codeString == null || "".equals(codeString))
736            return new Enumeration<ActionPrecheckBehavior>(this, ActionPrecheckBehavior.NULL, code);
737        if ("yes".equals(codeString))
738          return new Enumeration<ActionPrecheckBehavior>(this, ActionPrecheckBehavior.YES, code);
739        if ("no".equals(codeString))
740          return new Enumeration<ActionPrecheckBehavior>(this, ActionPrecheckBehavior.NO, code);
741        throw new FHIRException("Unknown ActionPrecheckBehavior code '"+codeString+"'");
742        }
743    public String toCode(ActionPrecheckBehavior code) {
744       if (code == ActionPrecheckBehavior.NULL)
745           return null;
746       if (code == ActionPrecheckBehavior.YES)
747        return "yes";
748      if (code == ActionPrecheckBehavior.NO)
749        return "no";
750      return "?";
751   }
752    public String toSystem(ActionPrecheckBehavior code) {
753      return code.getSystem();
754      }
755    }
756
757    public enum ActionRelationshipType {
758        /**
759         * The action must be performed before the related action.
760         */
761        BEFORE, 
762        /**
763         * The action must be performed before the start of the related action.
764         */
765        BEFORESTART, 
766        /**
767         * The action must be performed before the end of the related action.
768         */
769        BEFOREEND, 
770        /**
771         * The action must be performed concurrent with the related action.
772         */
773        CONCURRENT, 
774        /**
775         * The action must be performed concurrent with the start of the related action.
776         */
777        CONCURRENTWITHSTART, 
778        /**
779         * The action must be performed concurrent with the end of the related action.
780         */
781        CONCURRENTWITHEND, 
782        /**
783         * The action must be performed after the related action.
784         */
785        AFTER, 
786        /**
787         * The action must be performed after the start of the related action.
788         */
789        AFTERSTART, 
790        /**
791         * The action must be performed after the end of the related action.
792         */
793        AFTEREND, 
794        /**
795         * added to help the parsers
796         */
797        NULL;
798        public static ActionRelationshipType fromCode(String codeString) throws FHIRException {
799            if (codeString == null || "".equals(codeString))
800                return null;
801        if ("before".equals(codeString))
802          return BEFORE;
803        if ("before-start".equals(codeString))
804          return BEFORESTART;
805        if ("before-end".equals(codeString))
806          return BEFOREEND;
807        if ("concurrent".equals(codeString))
808          return CONCURRENT;
809        if ("concurrent-with-start".equals(codeString))
810          return CONCURRENTWITHSTART;
811        if ("concurrent-with-end".equals(codeString))
812          return CONCURRENTWITHEND;
813        if ("after".equals(codeString))
814          return AFTER;
815        if ("after-start".equals(codeString))
816          return AFTERSTART;
817        if ("after-end".equals(codeString))
818          return AFTEREND;
819        throw new FHIRException("Unknown ActionRelationshipType code '"+codeString+"'");
820        }
821        public static boolean isValidCode(String codeString) {
822            if (codeString == null || "".equals(codeString))
823                return false;
824          return Utilities.existsInList(codeString, "before", "before-start", "before-end", "concurrent", "concurrent-with-start", "concurrent-with-end", "after", "after-start", "after-end");
825        }
826        public String toCode() {
827          switch (this) {
828            case BEFORE: return "before";
829            case BEFORESTART: return "before-start";
830            case BEFOREEND: return "before-end";
831            case CONCURRENT: return "concurrent";
832            case CONCURRENTWITHSTART: return "concurrent-with-start";
833            case CONCURRENTWITHEND: return "concurrent-with-end";
834            case AFTER: return "after";
835            case AFTERSTART: return "after-start";
836            case AFTEREND: return "after-end";
837            case NULL: return null;
838            default: return "?";
839          }
840        }
841        public String getSystem() {
842          switch (this) {
843            case BEFORE: return "http://hl7.org/fhir/action-relationship-type";
844            case BEFORESTART: return "http://hl7.org/fhir/action-relationship-type";
845            case BEFOREEND: return "http://hl7.org/fhir/action-relationship-type";
846            case CONCURRENT: return "http://hl7.org/fhir/action-relationship-type";
847            case CONCURRENTWITHSTART: return "http://hl7.org/fhir/action-relationship-type";
848            case CONCURRENTWITHEND: return "http://hl7.org/fhir/action-relationship-type";
849            case AFTER: return "http://hl7.org/fhir/action-relationship-type";
850            case AFTERSTART: return "http://hl7.org/fhir/action-relationship-type";
851            case AFTEREND: return "http://hl7.org/fhir/action-relationship-type";
852            case NULL: return null;
853            default: return "?";
854          }
855        }
856        public String getDefinition() {
857          switch (this) {
858            case BEFORE: return "The action must be performed before the related action.";
859            case BEFORESTART: return "The action must be performed before the start of the related action.";
860            case BEFOREEND: return "The action must be performed before the end of the related action.";
861            case CONCURRENT: return "The action must be performed concurrent with the related action.";
862            case CONCURRENTWITHSTART: return "The action must be performed concurrent with the start of the related action.";
863            case CONCURRENTWITHEND: return "The action must be performed concurrent with the end of the related action.";
864            case AFTER: return "The action must be performed after the related action.";
865            case AFTERSTART: return "The action must be performed after the start of the related action.";
866            case AFTEREND: return "The action must be performed after the end of the related action.";
867            case NULL: return null;
868            default: return "?";
869          }
870        }
871        public String getDisplay() {
872          switch (this) {
873            case BEFORE: return "Before";
874            case BEFORESTART: return "Before Start";
875            case BEFOREEND: return "Before End";
876            case CONCURRENT: return "Concurrent";
877            case CONCURRENTWITHSTART: return "Concurrent With Start";
878            case CONCURRENTWITHEND: return "Concurrent With End";
879            case AFTER: return "After";
880            case AFTERSTART: return "After Start";
881            case AFTEREND: return "After End";
882            case NULL: return null;
883            default: return "?";
884          }
885        }
886    }
887
888  public static class ActionRelationshipTypeEnumFactory implements EnumFactory<ActionRelationshipType> {
889    public ActionRelationshipType fromCode(String codeString) throws IllegalArgumentException {
890      if (codeString == null || "".equals(codeString))
891            if (codeString == null || "".equals(codeString))
892                return null;
893        if ("before".equals(codeString))
894          return ActionRelationshipType.BEFORE;
895        if ("before-start".equals(codeString))
896          return ActionRelationshipType.BEFORESTART;
897        if ("before-end".equals(codeString))
898          return ActionRelationshipType.BEFOREEND;
899        if ("concurrent".equals(codeString))
900          return ActionRelationshipType.CONCURRENT;
901        if ("concurrent-with-start".equals(codeString))
902          return ActionRelationshipType.CONCURRENTWITHSTART;
903        if ("concurrent-with-end".equals(codeString))
904          return ActionRelationshipType.CONCURRENTWITHEND;
905        if ("after".equals(codeString))
906          return ActionRelationshipType.AFTER;
907        if ("after-start".equals(codeString))
908          return ActionRelationshipType.AFTERSTART;
909        if ("after-end".equals(codeString))
910          return ActionRelationshipType.AFTEREND;
911        throw new IllegalArgumentException("Unknown ActionRelationshipType code '"+codeString+"'");
912        }
913
914        public Enumeration<ActionRelationshipType> fromType(PrimitiveType<?> code) throws FHIRException {
915          if (code == null)
916            return null;
917          if (code.isEmpty())
918            return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.NULL, code);
919          String codeString = ((PrimitiveType) code).asStringValue();
920          if (codeString == null || "".equals(codeString))
921            return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.NULL, code);
922        if ("before".equals(codeString))
923          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.BEFORE, code);
924        if ("before-start".equals(codeString))
925          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.BEFORESTART, code);
926        if ("before-end".equals(codeString))
927          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.BEFOREEND, code);
928        if ("concurrent".equals(codeString))
929          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.CONCURRENT, code);
930        if ("concurrent-with-start".equals(codeString))
931          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.CONCURRENTWITHSTART, code);
932        if ("concurrent-with-end".equals(codeString))
933          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.CONCURRENTWITHEND, code);
934        if ("after".equals(codeString))
935          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.AFTER, code);
936        if ("after-start".equals(codeString))
937          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.AFTERSTART, code);
938        if ("after-end".equals(codeString))
939          return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.AFTEREND, code);
940        throw new FHIRException("Unknown ActionRelationshipType code '"+codeString+"'");
941        }
942    public String toCode(ActionRelationshipType code) {
943       if (code == ActionRelationshipType.NULL)
944           return null;
945       if (code == ActionRelationshipType.BEFORE)
946        return "before";
947      if (code == ActionRelationshipType.BEFORESTART)
948        return "before-start";
949      if (code == ActionRelationshipType.BEFOREEND)
950        return "before-end";
951      if (code == ActionRelationshipType.CONCURRENT)
952        return "concurrent";
953      if (code == ActionRelationshipType.CONCURRENTWITHSTART)
954        return "concurrent-with-start";
955      if (code == ActionRelationshipType.CONCURRENTWITHEND)
956        return "concurrent-with-end";
957      if (code == ActionRelationshipType.AFTER)
958        return "after";
959      if (code == ActionRelationshipType.AFTERSTART)
960        return "after-start";
961      if (code == ActionRelationshipType.AFTEREND)
962        return "after-end";
963      return "?";
964   }
965    public String toSystem(ActionRelationshipType code) {
966      return code.getSystem();
967      }
968    }
969
970    public enum ActionRequiredBehavior {
971        /**
972         * An action with this behavior must be included in the actions processed by the end user; the end user SHALL NOT choose not to include this action.
973         */
974        MUST, 
975        /**
976         * An action with this behavior may be included in the set of actions processed by the end user.
977         */
978        COULD, 
979        /**
980         * An action with this behavior must be included in the set of actions processed by the end user, unless the end user provides documentation as to why the action was not included.
981         */
982        MUSTUNLESSDOCUMENTED, 
983        /**
984         * added to help the parsers
985         */
986        NULL;
987        public static ActionRequiredBehavior fromCode(String codeString) throws FHIRException {
988            if (codeString == null || "".equals(codeString))
989                return null;
990        if ("must".equals(codeString))
991          return MUST;
992        if ("could".equals(codeString))
993          return COULD;
994        if ("must-unless-documented".equals(codeString))
995          return MUSTUNLESSDOCUMENTED;
996        throw new FHIRException("Unknown ActionRequiredBehavior code '"+codeString+"'");
997        }
998        public static boolean isValidCode(String codeString) {
999            if (codeString == null || "".equals(codeString))
1000                return false;
1001          return Utilities.existsInList(codeString, "must", "could", "must-unless-documented");
1002        }
1003        public String toCode() {
1004          switch (this) {
1005            case MUST: return "must";
1006            case COULD: return "could";
1007            case MUSTUNLESSDOCUMENTED: return "must-unless-documented";
1008            case NULL: return null;
1009            default: return "?";
1010          }
1011        }
1012        public String getSystem() {
1013          switch (this) {
1014            case MUST: return "http://hl7.org/fhir/action-required-behavior";
1015            case COULD: return "http://hl7.org/fhir/action-required-behavior";
1016            case MUSTUNLESSDOCUMENTED: return "http://hl7.org/fhir/action-required-behavior";
1017            case NULL: return null;
1018            default: return "?";
1019          }
1020        }
1021        public String getDefinition() {
1022          switch (this) {
1023            case MUST: return "An action with this behavior must be included in the actions processed by the end user; the end user SHALL NOT choose not to include this action.";
1024            case COULD: return "An action with this behavior may be included in the set of actions processed by the end user.";
1025            case MUSTUNLESSDOCUMENTED: return "An action with this behavior must be included in the set of actions processed by the end user, unless the end user provides documentation as to why the action was not included.";
1026            case NULL: return null;
1027            default: return "?";
1028          }
1029        }
1030        public String getDisplay() {
1031          switch (this) {
1032            case MUST: return "Must";
1033            case COULD: return "Could";
1034            case MUSTUNLESSDOCUMENTED: return "Must Unless Documented";
1035            case NULL: return null;
1036            default: return "?";
1037          }
1038        }
1039    }
1040
1041  public static class ActionRequiredBehaviorEnumFactory implements EnumFactory<ActionRequiredBehavior> {
1042    public ActionRequiredBehavior fromCode(String codeString) throws IllegalArgumentException {
1043      if (codeString == null || "".equals(codeString))
1044            if (codeString == null || "".equals(codeString))
1045                return null;
1046        if ("must".equals(codeString))
1047          return ActionRequiredBehavior.MUST;
1048        if ("could".equals(codeString))
1049          return ActionRequiredBehavior.COULD;
1050        if ("must-unless-documented".equals(codeString))
1051          return ActionRequiredBehavior.MUSTUNLESSDOCUMENTED;
1052        throw new IllegalArgumentException("Unknown ActionRequiredBehavior code '"+codeString+"'");
1053        }
1054
1055        public Enumeration<ActionRequiredBehavior> fromType(PrimitiveType<?> code) throws FHIRException {
1056          if (code == null)
1057            return null;
1058          if (code.isEmpty())
1059            return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.NULL, code);
1060          String codeString = ((PrimitiveType) code).asStringValue();
1061          if (codeString == null || "".equals(codeString))
1062            return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.NULL, code);
1063        if ("must".equals(codeString))
1064          return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.MUST, code);
1065        if ("could".equals(codeString))
1066          return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.COULD, code);
1067        if ("must-unless-documented".equals(codeString))
1068          return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.MUSTUNLESSDOCUMENTED, code);
1069        throw new FHIRException("Unknown ActionRequiredBehavior code '"+codeString+"'");
1070        }
1071    public String toCode(ActionRequiredBehavior code) {
1072       if (code == ActionRequiredBehavior.NULL)
1073           return null;
1074       if (code == ActionRequiredBehavior.MUST)
1075        return "must";
1076      if (code == ActionRequiredBehavior.COULD)
1077        return "could";
1078      if (code == ActionRequiredBehavior.MUSTUNLESSDOCUMENTED)
1079        return "must-unless-documented";
1080      return "?";
1081   }
1082    public String toSystem(ActionRequiredBehavior code) {
1083      return code.getSystem();
1084      }
1085    }
1086
1087    public enum ActionSelectionBehavior {
1088        /**
1089         * Any number of the actions in the group may be chosen, from zero to all.
1090         */
1091        ANY, 
1092        /**
1093         * All the actions in the group must be selected as a single unit.
1094         */
1095        ALL, 
1096        /**
1097         * All the actions in the group are meant to be chosen as a single unit: either all must be selected by the end user, or none may be selected.
1098         */
1099        ALLORNONE, 
1100        /**
1101         * The end user must choose one and only one of the selectable actions in the group. The user SHALL NOT choose none of the actions in the group.
1102         */
1103        EXACTLYONE, 
1104        /**
1105         * The end user may choose zero or at most one of the actions in the group.
1106         */
1107        ATMOSTONE, 
1108        /**
1109         * The end user must choose a minimum of one, and as many additional as desired.
1110         */
1111        ONEORMORE, 
1112        /**
1113         * added to help the parsers
1114         */
1115        NULL;
1116        public static ActionSelectionBehavior fromCode(String codeString) throws FHIRException {
1117            if (codeString == null || "".equals(codeString))
1118                return null;
1119        if ("any".equals(codeString))
1120          return ANY;
1121        if ("all".equals(codeString))
1122          return ALL;
1123        if ("all-or-none".equals(codeString))
1124          return ALLORNONE;
1125        if ("exactly-one".equals(codeString))
1126          return EXACTLYONE;
1127        if ("at-most-one".equals(codeString))
1128          return ATMOSTONE;
1129        if ("one-or-more".equals(codeString))
1130          return ONEORMORE;
1131        throw new FHIRException("Unknown ActionSelectionBehavior code '"+codeString+"'");
1132        }
1133        public static boolean isValidCode(String codeString) {
1134            if (codeString == null || "".equals(codeString))
1135                return false;
1136          return Utilities.existsInList(codeString, "any", "all", "all-or-none", "exactly-one", "at-most-one", "one-or-more");
1137        }
1138        public String toCode() {
1139          switch (this) {
1140            case ANY: return "any";
1141            case ALL: return "all";
1142            case ALLORNONE: return "all-or-none";
1143            case EXACTLYONE: return "exactly-one";
1144            case ATMOSTONE: return "at-most-one";
1145            case ONEORMORE: return "one-or-more";
1146            case NULL: return null;
1147            default: return "?";
1148          }
1149        }
1150        public String getSystem() {
1151          switch (this) {
1152            case ANY: return "http://hl7.org/fhir/action-selection-behavior";
1153            case ALL: return "http://hl7.org/fhir/action-selection-behavior";
1154            case ALLORNONE: return "http://hl7.org/fhir/action-selection-behavior";
1155            case EXACTLYONE: return "http://hl7.org/fhir/action-selection-behavior";
1156            case ATMOSTONE: return "http://hl7.org/fhir/action-selection-behavior";
1157            case ONEORMORE: return "http://hl7.org/fhir/action-selection-behavior";
1158            case NULL: return null;
1159            default: return "?";
1160          }
1161        }
1162        public String getDefinition() {
1163          switch (this) {
1164            case ANY: return "Any number of the actions in the group may be chosen, from zero to all.";
1165            case ALL: return "All the actions in the group must be selected as a single unit.";
1166            case ALLORNONE: return "All the actions in the group are meant to be chosen as a single unit: either all must be selected by the end user, or none may be selected.";
1167            case EXACTLYONE: return "The end user must choose one and only one of the selectable actions in the group. The user SHALL NOT choose none of the actions in the group.";
1168            case ATMOSTONE: return "The end user may choose zero or at most one of the actions in the group.";
1169            case ONEORMORE: return "The end user must choose a minimum of one, and as many additional as desired.";
1170            case NULL: return null;
1171            default: return "?";
1172          }
1173        }
1174        public String getDisplay() {
1175          switch (this) {
1176            case ANY: return "Any";
1177            case ALL: return "All";
1178            case ALLORNONE: return "All Or None";
1179            case EXACTLYONE: return "Exactly One";
1180            case ATMOSTONE: return "At Most One";
1181            case ONEORMORE: return "One Or More";
1182            case NULL: return null;
1183            default: return "?";
1184          }
1185        }
1186    }
1187
1188  public static class ActionSelectionBehaviorEnumFactory implements EnumFactory<ActionSelectionBehavior> {
1189    public ActionSelectionBehavior fromCode(String codeString) throws IllegalArgumentException {
1190      if (codeString == null || "".equals(codeString))
1191            if (codeString == null || "".equals(codeString))
1192                return null;
1193        if ("any".equals(codeString))
1194          return ActionSelectionBehavior.ANY;
1195        if ("all".equals(codeString))
1196          return ActionSelectionBehavior.ALL;
1197        if ("all-or-none".equals(codeString))
1198          return ActionSelectionBehavior.ALLORNONE;
1199        if ("exactly-one".equals(codeString))
1200          return ActionSelectionBehavior.EXACTLYONE;
1201        if ("at-most-one".equals(codeString))
1202          return ActionSelectionBehavior.ATMOSTONE;
1203        if ("one-or-more".equals(codeString))
1204          return ActionSelectionBehavior.ONEORMORE;
1205        throw new IllegalArgumentException("Unknown ActionSelectionBehavior code '"+codeString+"'");
1206        }
1207
1208        public Enumeration<ActionSelectionBehavior> fromType(PrimitiveType<?> code) throws FHIRException {
1209          if (code == null)
1210            return null;
1211          if (code.isEmpty())
1212            return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.NULL, code);
1213          String codeString = ((PrimitiveType) code).asStringValue();
1214          if (codeString == null || "".equals(codeString))
1215            return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.NULL, code);
1216        if ("any".equals(codeString))
1217          return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ANY, code);
1218        if ("all".equals(codeString))
1219          return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ALL, code);
1220        if ("all-or-none".equals(codeString))
1221          return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ALLORNONE, code);
1222        if ("exactly-one".equals(codeString))
1223          return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.EXACTLYONE, code);
1224        if ("at-most-one".equals(codeString))
1225          return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ATMOSTONE, code);
1226        if ("one-or-more".equals(codeString))
1227          return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ONEORMORE, code);
1228        throw new FHIRException("Unknown ActionSelectionBehavior code '"+codeString+"'");
1229        }
1230    public String toCode(ActionSelectionBehavior code) {
1231       if (code == ActionSelectionBehavior.NULL)
1232           return null;
1233       if (code == ActionSelectionBehavior.ANY)
1234        return "any";
1235      if (code == ActionSelectionBehavior.ALL)
1236        return "all";
1237      if (code == ActionSelectionBehavior.ALLORNONE)
1238        return "all-or-none";
1239      if (code == ActionSelectionBehavior.EXACTLYONE)
1240        return "exactly-one";
1241      if (code == ActionSelectionBehavior.ATMOSTONE)
1242        return "at-most-one";
1243      if (code == ActionSelectionBehavior.ONEORMORE)
1244        return "one-or-more";
1245      return "?";
1246   }
1247    public String toSystem(ActionSelectionBehavior code) {
1248      return code.getSystem();
1249      }
1250    }
1251
1252    public enum AdministrativeGender {
1253        /**
1254         * Male.
1255         */
1256        MALE, 
1257        /**
1258         * Female.
1259         */
1260        FEMALE, 
1261        /**
1262         * Other.
1263         */
1264        OTHER, 
1265        /**
1266         * Unknown.
1267         */
1268        UNKNOWN, 
1269        /**
1270         * added to help the parsers
1271         */
1272        NULL;
1273        public static AdministrativeGender fromCode(String codeString) throws FHIRException {
1274            if (codeString == null || "".equals(codeString))
1275                return null;
1276        if ("male".equals(codeString))
1277          return MALE;
1278        if ("female".equals(codeString))
1279          return FEMALE;
1280        if ("other".equals(codeString))
1281          return OTHER;
1282        if ("unknown".equals(codeString))
1283          return UNKNOWN;
1284        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
1285        }
1286        public static boolean isValidCode(String codeString) {
1287            if (codeString == null || "".equals(codeString))
1288                return false;
1289          return Utilities.existsInList(codeString, "male", "female", "other", "unknown");
1290        }
1291        public String toCode() {
1292          switch (this) {
1293            case MALE: return "male";
1294            case FEMALE: return "female";
1295            case OTHER: return "other";
1296            case UNKNOWN: return "unknown";
1297            case NULL: return null;
1298            default: return "?";
1299          }
1300        }
1301        public String getSystem() {
1302          switch (this) {
1303            case MALE: return "http://hl7.org/fhir/administrative-gender";
1304            case FEMALE: return "http://hl7.org/fhir/administrative-gender";
1305            case OTHER: return "http://hl7.org/fhir/administrative-gender";
1306            case UNKNOWN: return "http://hl7.org/fhir/administrative-gender";
1307            case NULL: return null;
1308            default: return "?";
1309          }
1310        }
1311        public String getDefinition() {
1312          switch (this) {
1313            case MALE: return "Male.";
1314            case FEMALE: return "Female.";
1315            case OTHER: return "Other.";
1316            case UNKNOWN: return "Unknown.";
1317            case NULL: return null;
1318            default: return "?";
1319          }
1320        }
1321        public String getDisplay() {
1322          switch (this) {
1323            case MALE: return "Male";
1324            case FEMALE: return "Female";
1325            case OTHER: return "Other";
1326            case UNKNOWN: return "Unknown";
1327            case NULL: return null;
1328            default: return "?";
1329          }
1330        }
1331    }
1332
1333  public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> {
1334    public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException {
1335      if (codeString == null || "".equals(codeString))
1336            if (codeString == null || "".equals(codeString))
1337                return null;
1338        if ("male".equals(codeString))
1339          return AdministrativeGender.MALE;
1340        if ("female".equals(codeString))
1341          return AdministrativeGender.FEMALE;
1342        if ("other".equals(codeString))
1343          return AdministrativeGender.OTHER;
1344        if ("unknown".equals(codeString))
1345          return AdministrativeGender.UNKNOWN;
1346        throw new IllegalArgumentException("Unknown AdministrativeGender code '"+codeString+"'");
1347        }
1348
1349        public Enumeration<AdministrativeGender> fromType(PrimitiveType<?> code) throws FHIRException {
1350          if (code == null)
1351            return null;
1352          if (code.isEmpty())
1353            return new Enumeration<AdministrativeGender>(this, AdministrativeGender.NULL, code);
1354          String codeString = ((PrimitiveType) code).asStringValue();
1355          if (codeString == null || "".equals(codeString))
1356            return new Enumeration<AdministrativeGender>(this, AdministrativeGender.NULL, code);
1357        if ("male".equals(codeString))
1358          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE, code);
1359        if ("female".equals(codeString))
1360          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE, code);
1361        if ("other".equals(codeString))
1362          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER, code);
1363        if ("unknown".equals(codeString))
1364          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN, code);
1365        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
1366        }
1367    public String toCode(AdministrativeGender code) {
1368       if (code == AdministrativeGender.NULL)
1369           return null;
1370       if (code == AdministrativeGender.MALE)
1371        return "male";
1372      if (code == AdministrativeGender.FEMALE)
1373        return "female";
1374      if (code == AdministrativeGender.OTHER)
1375        return "other";
1376      if (code == AdministrativeGender.UNKNOWN)
1377        return "unknown";
1378      return "?";
1379   }
1380    public String toSystem(AdministrativeGender code) {
1381      return code.getSystem();
1382      }
1383    }
1384
1385    public enum AllLanguages {
1386        /**
1387         * added to help the parsers
1388         */
1389        NULL;
1390        public static AllLanguages fromCode(String codeString) throws FHIRException {
1391            if (codeString == null || "".equals(codeString))
1392                return null;
1393        throw new FHIRException("Unknown AllLanguages code '"+codeString+"'");
1394        }
1395        public static boolean isValidCode(String codeString) {
1396            if (codeString == null || "".equals(codeString))
1397                return false;
1398          return Utilities.existsInList(codeString);
1399        }
1400        public String toCode() {
1401          switch (this) {
1402            case NULL: return null;
1403            default: return "?";
1404          }
1405        }
1406        public String getSystem() {
1407          switch (this) {
1408            case NULL: return null;
1409            default: return "?";
1410          }
1411        }
1412        public String getDefinition() {
1413          switch (this) {
1414            case NULL: return null;
1415            default: return "?";
1416          }
1417        }
1418        public String getDisplay() {
1419          switch (this) {
1420            case NULL: return null;
1421            default: return "?";
1422          }
1423        }
1424    }
1425
1426  public static class AllLanguagesEnumFactory implements EnumFactory<AllLanguages> {
1427    public AllLanguages fromCode(String codeString) throws IllegalArgumentException {
1428      if (codeString == null || "".equals(codeString))
1429            if (codeString == null || "".equals(codeString))
1430                return null;
1431        throw new IllegalArgumentException("Unknown AllLanguages code '"+codeString+"'");
1432        }
1433
1434        public Enumeration<AllLanguages> fromType(PrimitiveType<?> code) throws FHIRException {
1435          if (code == null)
1436            return null;
1437          if (code.isEmpty())
1438            return new Enumeration<AllLanguages>(this, AllLanguages.NULL, code);
1439          String codeString = ((PrimitiveType) code).asStringValue();
1440          if (codeString == null || "".equals(codeString))
1441            return new Enumeration<AllLanguages>(this, AllLanguages.NULL, code);
1442        throw new FHIRException("Unknown AllLanguages code '"+codeString+"'");
1443        }
1444    public String toCode(AllLanguages code) {
1445       if (code == AllLanguages.NULL)
1446           return null;
1447       return "?";
1448   }
1449    public String toSystem(AllLanguages code) {
1450      return code.getSystem();
1451      }
1452    }
1453
1454    public enum BindingStrength {
1455        /**
1456         * To be conformant, the concept in this element SHALL be from the specified value set.
1457         */
1458        REQUIRED, 
1459        /**
1460         * 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.
1461         */
1462        EXTENSIBLE, 
1463        /**
1464         * Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant.
1465         */
1466        PREFERRED, 
1467        /**
1468         * 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.
1469         */
1470        EXAMPLE, 
1471        /**
1472         * added to help the parsers
1473         */
1474        NULL;
1475        public static BindingStrength fromCode(String codeString) throws FHIRException {
1476            if (codeString == null || "".equals(codeString))
1477                return null;
1478        if ("required".equals(codeString))
1479          return REQUIRED;
1480        if ("extensible".equals(codeString))
1481          return EXTENSIBLE;
1482        if ("preferred".equals(codeString))
1483          return PREFERRED;
1484        if ("example".equals(codeString))
1485          return EXAMPLE;
1486        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
1487        }
1488        public static boolean isValidCode(String codeString) {
1489            if (codeString == null || "".equals(codeString))
1490                return false;
1491          return Utilities.existsInList(codeString, "required", "extensible", "preferred", "example");
1492        }
1493        public String toCode() {
1494          switch (this) {
1495            case REQUIRED: return "required";
1496            case EXTENSIBLE: return "extensible";
1497            case PREFERRED: return "preferred";
1498            case EXAMPLE: return "example";
1499            case NULL: return null;
1500            default: return "?";
1501          }
1502        }
1503        public String getSystem() {
1504          switch (this) {
1505            case REQUIRED: return "http://hl7.org/fhir/binding-strength";
1506            case EXTENSIBLE: return "http://hl7.org/fhir/binding-strength";
1507            case PREFERRED: return "http://hl7.org/fhir/binding-strength";
1508            case EXAMPLE: return "http://hl7.org/fhir/binding-strength";
1509            case NULL: return null;
1510            default: return "?";
1511          }
1512        }
1513        public String getDefinition() {
1514          switch (this) {
1515            case REQUIRED: return "To be conformant, the concept in this element SHALL be from the specified value set.";
1516            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.";
1517            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.";
1518            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.";
1519            case NULL: return null;
1520            default: return "?";
1521          }
1522        }
1523        public String getDisplay() {
1524          switch (this) {
1525            case REQUIRED: return "Required";
1526            case EXTENSIBLE: return "Extensible";
1527            case PREFERRED: return "Preferred";
1528            case EXAMPLE: return "Example";
1529            case NULL: return null;
1530            default: return "?";
1531          }
1532        }
1533    }
1534
1535  public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> {
1536    public BindingStrength fromCode(String codeString) throws IllegalArgumentException {
1537      if (codeString == null || "".equals(codeString))
1538            if (codeString == null || "".equals(codeString))
1539                return null;
1540        if ("required".equals(codeString))
1541          return BindingStrength.REQUIRED;
1542        if ("extensible".equals(codeString))
1543          return BindingStrength.EXTENSIBLE;
1544        if ("preferred".equals(codeString))
1545          return BindingStrength.PREFERRED;
1546        if ("example".equals(codeString))
1547          return BindingStrength.EXAMPLE;
1548        throw new IllegalArgumentException("Unknown BindingStrength code '"+codeString+"'");
1549        }
1550
1551        public Enumeration<BindingStrength> fromType(PrimitiveType<?> code) throws FHIRException {
1552          if (code == null)
1553            return null;
1554          if (code.isEmpty())
1555            return new Enumeration<BindingStrength>(this, BindingStrength.NULL, code);
1556          String codeString = ((PrimitiveType) code).asStringValue();
1557          if (codeString == null || "".equals(codeString))
1558            return new Enumeration<BindingStrength>(this, BindingStrength.NULL, code);
1559        if ("required".equals(codeString))
1560          return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED, code);
1561        if ("extensible".equals(codeString))
1562          return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE, code);
1563        if ("preferred".equals(codeString))
1564          return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED, code);
1565        if ("example".equals(codeString))
1566          return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE, code);
1567        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
1568        }
1569    public String toCode(BindingStrength code) {
1570       if (code == BindingStrength.NULL)
1571           return null;
1572       if (code == BindingStrength.REQUIRED)
1573        return "required";
1574      if (code == BindingStrength.EXTENSIBLE)
1575        return "extensible";
1576      if (code == BindingStrength.PREFERRED)
1577        return "preferred";
1578      if (code == BindingStrength.EXAMPLE)
1579        return "example";
1580      return "?";
1581   }
1582    public String toSystem(BindingStrength code) {
1583      return code.getSystem();
1584      }
1585    }
1586
1587    public enum CapabilityStatementKind {
1588        /**
1589         * The CapabilityStatement instance represents the present capabilities of a specific system instance.  This is the kind returned by /metadata for a FHIR server end-point.
1590         */
1591        INSTANCE, 
1592        /**
1593         * The CapabilityStatement instance represents the capabilities of a system or piece of software, independent of a particular installation.
1594         */
1595        CAPABILITY, 
1596        /**
1597         * The CapabilityStatement instance represents a set of requirements for other systems to meet; e.g. as part of an implementation guide or 'request for proposal'.
1598         */
1599        REQUIREMENTS, 
1600        /**
1601         * added to help the parsers
1602         */
1603        NULL;
1604        public static CapabilityStatementKind fromCode(String codeString) throws FHIRException {
1605            if (codeString == null || "".equals(codeString))
1606                return null;
1607        if ("instance".equals(codeString))
1608          return INSTANCE;
1609        if ("capability".equals(codeString))
1610          return CAPABILITY;
1611        if ("requirements".equals(codeString))
1612          return REQUIREMENTS;
1613        throw new FHIRException("Unknown CapabilityStatementKind code '"+codeString+"'");
1614        }
1615        public static boolean isValidCode(String codeString) {
1616            if (codeString == null || "".equals(codeString))
1617                return false;
1618          return Utilities.existsInList(codeString, "instance", "capability", "requirements");
1619        }
1620        public String toCode() {
1621          switch (this) {
1622            case INSTANCE: return "instance";
1623            case CAPABILITY: return "capability";
1624            case REQUIREMENTS: return "requirements";
1625            case NULL: return null;
1626            default: return "?";
1627          }
1628        }
1629        public String getSystem() {
1630          switch (this) {
1631            case INSTANCE: return "http://hl7.org/fhir/capability-statement-kind";
1632            case CAPABILITY: return "http://hl7.org/fhir/capability-statement-kind";
1633            case REQUIREMENTS: return "http://hl7.org/fhir/capability-statement-kind";
1634            case NULL: return null;
1635            default: return "?";
1636          }
1637        }
1638        public String getDefinition() {
1639          switch (this) {
1640            case INSTANCE: return "The CapabilityStatement instance represents the present capabilities of a specific system instance.  This is the kind returned by /metadata for a FHIR server end-point.";
1641            case CAPABILITY: return "The CapabilityStatement instance represents the capabilities of a system or piece of software, independent of a particular installation.";
1642            case REQUIREMENTS: return "The CapabilityStatement instance represents a set of requirements for other systems to meet; e.g. as part of an implementation guide or 'request for proposal'.";
1643            case NULL: return null;
1644            default: return "?";
1645          }
1646        }
1647        public String getDisplay() {
1648          switch (this) {
1649            case INSTANCE: return "Instance";
1650            case CAPABILITY: return "Capability";
1651            case REQUIREMENTS: return "Requirements";
1652            case NULL: return null;
1653            default: return "?";
1654          }
1655        }
1656    }
1657
1658  public static class CapabilityStatementKindEnumFactory implements EnumFactory<CapabilityStatementKind> {
1659    public CapabilityStatementKind fromCode(String codeString) throws IllegalArgumentException {
1660      if (codeString == null || "".equals(codeString))
1661            if (codeString == null || "".equals(codeString))
1662                return null;
1663        if ("instance".equals(codeString))
1664          return CapabilityStatementKind.INSTANCE;
1665        if ("capability".equals(codeString))
1666          return CapabilityStatementKind.CAPABILITY;
1667        if ("requirements".equals(codeString))
1668          return CapabilityStatementKind.REQUIREMENTS;
1669        throw new IllegalArgumentException("Unknown CapabilityStatementKind code '"+codeString+"'");
1670        }
1671
1672        public Enumeration<CapabilityStatementKind> fromType(PrimitiveType<?> code) throws FHIRException {
1673          if (code == null)
1674            return null;
1675          if (code.isEmpty())
1676            return new Enumeration<CapabilityStatementKind>(this, CapabilityStatementKind.NULL, code);
1677          String codeString = ((PrimitiveType) code).asStringValue();
1678          if (codeString == null || "".equals(codeString))
1679            return new Enumeration<CapabilityStatementKind>(this, CapabilityStatementKind.NULL, code);
1680        if ("instance".equals(codeString))
1681          return new Enumeration<CapabilityStatementKind>(this, CapabilityStatementKind.INSTANCE, code);
1682        if ("capability".equals(codeString))
1683          return new Enumeration<CapabilityStatementKind>(this, CapabilityStatementKind.CAPABILITY, code);
1684        if ("requirements".equals(codeString))
1685          return new Enumeration<CapabilityStatementKind>(this, CapabilityStatementKind.REQUIREMENTS, code);
1686        throw new FHIRException("Unknown CapabilityStatementKind code '"+codeString+"'");
1687        }
1688    public String toCode(CapabilityStatementKind code) {
1689       if (code == CapabilityStatementKind.NULL)
1690           return null;
1691       if (code == CapabilityStatementKind.INSTANCE)
1692        return "instance";
1693      if (code == CapabilityStatementKind.CAPABILITY)
1694        return "capability";
1695      if (code == CapabilityStatementKind.REQUIREMENTS)
1696        return "requirements";
1697      return "?";
1698   }
1699    public String toSystem(CapabilityStatementKind code) {
1700      return code.getSystem();
1701      }
1702    }
1703
1704    public enum ClaimProcessingCodes {
1705        /**
1706         * The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.
1707         */
1708        QUEUED, 
1709        /**
1710         * The processing has completed without errors
1711         */
1712        COMPLETE, 
1713        /**
1714         * One or more errors have been detected in the Claim
1715         */
1716        ERROR, 
1717        /**
1718         * No errors have been detected in the Claim and some of the adjudication has been performed.
1719         */
1720        PARTIAL, 
1721        /**
1722         * added to help the parsers
1723         */
1724        NULL;
1725        public static ClaimProcessingCodes fromCode(String codeString) throws FHIRException {
1726            if (codeString == null || "".equals(codeString))
1727                return null;
1728        if ("queued".equals(codeString))
1729          return QUEUED;
1730        if ("complete".equals(codeString))
1731          return COMPLETE;
1732        if ("error".equals(codeString))
1733          return ERROR;
1734        if ("partial".equals(codeString))
1735          return PARTIAL;
1736        throw new FHIRException("Unknown ClaimProcessingCodes code '"+codeString+"'");
1737        }
1738        public static boolean isValidCode(String codeString) {
1739            if (codeString == null || "".equals(codeString))
1740                return false;
1741          return Utilities.existsInList(codeString, "queued", "complete", "error", "partial");
1742        }
1743        public String toCode() {
1744          switch (this) {
1745            case QUEUED: return "queued";
1746            case COMPLETE: return "complete";
1747            case ERROR: return "error";
1748            case PARTIAL: return "partial";
1749            case NULL: return null;
1750            default: return "?";
1751          }
1752        }
1753        public String getSystem() {
1754          switch (this) {
1755            case QUEUED: return "http://hl7.org/fhir/claim-outcome";
1756            case COMPLETE: return "http://hl7.org/fhir/claim-outcome";
1757            case ERROR: return "http://hl7.org/fhir/claim-outcome";
1758            case PARTIAL: return "http://hl7.org/fhir/claim-outcome";
1759            case NULL: return null;
1760            default: return "?";
1761          }
1762        }
1763        public String getDefinition() {
1764          switch (this) {
1765            case QUEUED: return "The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.";
1766            case COMPLETE: return "The processing has completed without errors";
1767            case ERROR: return "One or more errors have been detected in the Claim";
1768            case PARTIAL: return "No errors have been detected in the Claim and some of the adjudication has been performed.";
1769            case NULL: return null;
1770            default: return "?";
1771          }
1772        }
1773        public String getDisplay() {
1774          switch (this) {
1775            case QUEUED: return "Queued";
1776            case COMPLETE: return "Processing Complete";
1777            case ERROR: return "Error";
1778            case PARTIAL: return "Partial Processing";
1779            case NULL: return null;
1780            default: return "?";
1781          }
1782        }
1783    }
1784
1785  public static class ClaimProcessingCodesEnumFactory implements EnumFactory<ClaimProcessingCodes> {
1786    public ClaimProcessingCodes fromCode(String codeString) throws IllegalArgumentException {
1787      if (codeString == null || "".equals(codeString))
1788            if (codeString == null || "".equals(codeString))
1789                return null;
1790        if ("queued".equals(codeString))
1791          return ClaimProcessingCodes.QUEUED;
1792        if ("complete".equals(codeString))
1793          return ClaimProcessingCodes.COMPLETE;
1794        if ("error".equals(codeString))
1795          return ClaimProcessingCodes.ERROR;
1796        if ("partial".equals(codeString))
1797          return ClaimProcessingCodes.PARTIAL;
1798        throw new IllegalArgumentException("Unknown ClaimProcessingCodes code '"+codeString+"'");
1799        }
1800
1801        public Enumeration<ClaimProcessingCodes> fromType(PrimitiveType<?> code) throws FHIRException {
1802          if (code == null)
1803            return null;
1804          if (code.isEmpty())
1805            return new Enumeration<ClaimProcessingCodes>(this, ClaimProcessingCodes.NULL, code);
1806          String codeString = ((PrimitiveType) code).asStringValue();
1807          if (codeString == null || "".equals(codeString))
1808            return new Enumeration<ClaimProcessingCodes>(this, ClaimProcessingCodes.NULL, code);
1809        if ("queued".equals(codeString))
1810          return new Enumeration<ClaimProcessingCodes>(this, ClaimProcessingCodes.QUEUED, code);
1811        if ("complete".equals(codeString))
1812          return new Enumeration<ClaimProcessingCodes>(this, ClaimProcessingCodes.COMPLETE, code);
1813        if ("error".equals(codeString))
1814          return new Enumeration<ClaimProcessingCodes>(this, ClaimProcessingCodes.ERROR, code);
1815        if ("partial".equals(codeString))
1816          return new Enumeration<ClaimProcessingCodes>(this, ClaimProcessingCodes.PARTIAL, code);
1817        throw new FHIRException("Unknown ClaimProcessingCodes code '"+codeString+"'");
1818        }
1819    public String toCode(ClaimProcessingCodes code) {
1820       if (code == ClaimProcessingCodes.NULL)
1821           return null;
1822       if (code == ClaimProcessingCodes.QUEUED)
1823        return "queued";
1824      if (code == ClaimProcessingCodes.COMPLETE)
1825        return "complete";
1826      if (code == ClaimProcessingCodes.ERROR)
1827        return "error";
1828      if (code == ClaimProcessingCodes.PARTIAL)
1829        return "partial";
1830      return "?";
1831   }
1832    public String toSystem(ClaimProcessingCodes code) {
1833      return code.getSystem();
1834      }
1835    }
1836
1837    public enum CodeSystemContentMode {
1838        /**
1839         * None of the concepts defined by the code system are included in the code system resource.
1840         */
1841        NOTPRESENT, 
1842        /**
1843         * A subset of the valid externally defined concepts are included in the code system resource. There is no specific purpose or documented intent other than for illustrative purposes.
1844         */
1845        EXAMPLE, 
1846        /**
1847         * A subset of the code system concepts are included in the code system resource. This is a curated subset released for a specific purpose under the governance of the code system steward, and that the intent, bounds and consequences of the fragmentation are clearly defined in the fragment or the code system documentation. Fragments are also known as partitions.
1848         */
1849        FRAGMENT, 
1850        /**
1851         * All the concepts defined by the code system are included in the code system resource.
1852         */
1853        COMPLETE, 
1854        /**
1855         * The resource doesn't define any new concepts; it just provides additional designations and properties to another code system.
1856         */
1857        SUPPLEMENT, 
1858        /**
1859         * added to help the parsers
1860         */
1861        NULL;
1862        public static CodeSystemContentMode fromCode(String codeString) throws FHIRException {
1863            if (codeString == null || "".equals(codeString))
1864                return null;
1865        if ("not-present".equals(codeString))
1866          return NOTPRESENT;
1867        if ("example".equals(codeString))
1868          return EXAMPLE;
1869        if ("fragment".equals(codeString))
1870          return FRAGMENT;
1871        if ("complete".equals(codeString))
1872          return COMPLETE;
1873        if ("supplement".equals(codeString))
1874          return SUPPLEMENT;
1875        throw new FHIRException("Unknown CodeSystemContentMode code '"+codeString+"'");
1876        }
1877        public static boolean isValidCode(String codeString) {
1878            if (codeString == null || "".equals(codeString))
1879                return false;
1880          return Utilities.existsInList(codeString, "not-present", "example", "fragment", "complete", "supplement");
1881        }
1882        public String toCode() {
1883          switch (this) {
1884            case NOTPRESENT: return "not-present";
1885            case EXAMPLE: return "example";
1886            case FRAGMENT: return "fragment";
1887            case COMPLETE: return "complete";
1888            case SUPPLEMENT: return "supplement";
1889            case NULL: return null;
1890            default: return "?";
1891          }
1892        }
1893        public String getSystem() {
1894          switch (this) {
1895            case NOTPRESENT: return "http://hl7.org/fhir/codesystem-content-mode";
1896            case EXAMPLE: return "http://hl7.org/fhir/codesystem-content-mode";
1897            case FRAGMENT: return "http://hl7.org/fhir/codesystem-content-mode";
1898            case COMPLETE: return "http://hl7.org/fhir/codesystem-content-mode";
1899            case SUPPLEMENT: return "http://hl7.org/fhir/codesystem-content-mode";
1900            case NULL: return null;
1901            default: return "?";
1902          }
1903        }
1904        public String getDefinition() {
1905          switch (this) {
1906            case NOTPRESENT: return "None of the concepts defined by the code system are included in the code system resource.";
1907            case EXAMPLE: return "A subset of the valid externally defined concepts are included in the code system resource. There is no specific purpose or documented intent other than for illustrative purposes.";
1908            case FRAGMENT: return "A subset of the code system concepts are included in the code system resource. This is a curated subset released for a specific purpose under the governance of the code system steward, and that the intent, bounds and consequences of the fragmentation are clearly defined in the fragment or the code system documentation. Fragments are also known as partitions.";
1909            case COMPLETE: return "All the concepts defined by the code system are included in the code system resource.";
1910            case SUPPLEMENT: return "The resource doesn't define any new concepts; it just provides additional designations and properties to another code system.";
1911            case NULL: return null;
1912            default: return "?";
1913          }
1914        }
1915        public String getDisplay() {
1916          switch (this) {
1917            case NOTPRESENT: return "Not Present";
1918            case EXAMPLE: return "Example";
1919            case FRAGMENT: return "Fragment";
1920            case COMPLETE: return "Complete";
1921            case SUPPLEMENT: return "Supplement";
1922            case NULL: return null;
1923            default: return "?";
1924          }
1925        }
1926    }
1927
1928  public static class CodeSystemContentModeEnumFactory implements EnumFactory<CodeSystemContentMode> {
1929    public CodeSystemContentMode fromCode(String codeString) throws IllegalArgumentException {
1930      if (codeString == null || "".equals(codeString))
1931            if (codeString == null || "".equals(codeString))
1932                return null;
1933        if ("not-present".equals(codeString))
1934          return CodeSystemContentMode.NOTPRESENT;
1935        if ("example".equals(codeString))
1936          return CodeSystemContentMode.EXAMPLE;
1937        if ("fragment".equals(codeString))
1938          return CodeSystemContentMode.FRAGMENT;
1939        if ("complete".equals(codeString))
1940          return CodeSystemContentMode.COMPLETE;
1941        if ("supplement".equals(codeString))
1942          return CodeSystemContentMode.SUPPLEMENT;
1943        throw new IllegalArgumentException("Unknown CodeSystemContentMode code '"+codeString+"'");
1944        }
1945
1946        public Enumeration<CodeSystemContentMode> fromType(PrimitiveType<?> code) throws FHIRException {
1947          if (code == null)
1948            return null;
1949          if (code.isEmpty())
1950            return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.NULL, code);
1951          String codeString = ((PrimitiveType) code).asStringValue();
1952          if (codeString == null || "".equals(codeString))
1953            return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.NULL, code);
1954        if ("not-present".equals(codeString))
1955          return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.NOTPRESENT, code);
1956        if ("example".equals(codeString))
1957          return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.EXAMPLE, code);
1958        if ("fragment".equals(codeString))
1959          return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.FRAGMENT, code);
1960        if ("complete".equals(codeString))
1961          return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.COMPLETE, code);
1962        if ("supplement".equals(codeString))
1963          return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.SUPPLEMENT, code);
1964        throw new FHIRException("Unknown CodeSystemContentMode code '"+codeString+"'");
1965        }
1966    public String toCode(CodeSystemContentMode code) {
1967       if (code == CodeSystemContentMode.NULL)
1968           return null;
1969       if (code == CodeSystemContentMode.NOTPRESENT)
1970        return "not-present";
1971      if (code == CodeSystemContentMode.EXAMPLE)
1972        return "example";
1973      if (code == CodeSystemContentMode.FRAGMENT)
1974        return "fragment";
1975      if (code == CodeSystemContentMode.COMPLETE)
1976        return "complete";
1977      if (code == CodeSystemContentMode.SUPPLEMENT)
1978        return "supplement";
1979      return "?";
1980   }
1981    public String toSystem(CodeSystemContentMode code) {
1982      return code.getSystem();
1983      }
1984    }
1985
1986    public enum CommonLanguages {
1987        /**
1988         * null
1989         */
1990        AR, 
1991        /**
1992         * null
1993         */
1994        BG, 
1995        /**
1996         * null
1997         */
1998        BGBG, 
1999        /**
2000         * null
2001         */
2002        BN, 
2003        /**
2004         * null
2005         */
2006        CS, 
2007        /**
2008         * null
2009         */
2010        CSCZ, 
2011        /**
2012         * null
2013         */
2014        BS, 
2015        /**
2016         * null
2017         */
2018        BSBA, 
2019        /**
2020         * null
2021         */
2022        DA, 
2023        /**
2024         * null
2025         */
2026        DADK, 
2027        /**
2028         * null
2029         */
2030        DE, 
2031        /**
2032         * null
2033         */
2034        DEAT, 
2035        /**
2036         * null
2037         */
2038        DECH, 
2039        /**
2040         * null
2041         */
2042        DEDE, 
2043        /**
2044         * null
2045         */
2046        EL, 
2047        /**
2048         * null
2049         */
2050        ELGR, 
2051        /**
2052         * null
2053         */
2054        EN, 
2055        /**
2056         * null
2057         */
2058        ENAU, 
2059        /**
2060         * null
2061         */
2062        ENCA, 
2063        /**
2064         * null
2065         */
2066        ENGB, 
2067        /**
2068         * null
2069         */
2070        ENIN, 
2071        /**
2072         * null
2073         */
2074        ENNZ, 
2075        /**
2076         * null
2077         */
2078        ENSG, 
2079        /**
2080         * null
2081         */
2082        ENUS, 
2083        /**
2084         * null
2085         */
2086        ES, 
2087        /**
2088         * null
2089         */
2090        ESAR, 
2091        /**
2092         * null
2093         */
2094        ESES, 
2095        /**
2096         * null
2097         */
2098        ESUY, 
2099        /**
2100         * null
2101         */
2102        ET, 
2103        /**
2104         * null
2105         */
2106        ETEE, 
2107        /**
2108         * null
2109         */
2110        FI, 
2111        /**
2112         * null
2113         */
2114        FR, 
2115        /**
2116         * null
2117         */
2118        FRBE, 
2119        /**
2120         * null
2121         */
2122        FRCH, 
2123        /**
2124         * null
2125         */
2126        FRFR, 
2127        /**
2128         * null
2129         */
2130        FIFI, 
2131        /**
2132         * null
2133         */
2134        FRCA, 
2135        /**
2136         * null
2137         */
2138        FY, 
2139        /**
2140         * null
2141         */
2142        FYNL, 
2143        /**
2144         * null
2145         */
2146        HI, 
2147        /**
2148         * null
2149         */
2150        HR, 
2151        /**
2152         * null
2153         */
2154        HRHR, 
2155        /**
2156         * null
2157         */
2158        IS, 
2159        /**
2160         * null
2161         */
2162        ISIS, 
2163        /**
2164         * null
2165         */
2166        IT, 
2167        /**
2168         * null
2169         */
2170        ITCH, 
2171        /**
2172         * null
2173         */
2174        ITIT, 
2175        /**
2176         * null
2177         */
2178        JA, 
2179        /**
2180         * null
2181         */
2182        KO, 
2183        /**
2184         * null
2185         */
2186        LT, 
2187        /**
2188         * null
2189         */
2190        LTLT, 
2191        /**
2192         * null
2193         */
2194        LV, 
2195        /**
2196         * null
2197         */
2198        LVLV, 
2199        /**
2200         * null
2201         */
2202        NL, 
2203        /**
2204         * null
2205         */
2206        NLBE, 
2207        /**
2208         * null
2209         */
2210        NLNL, 
2211        /**
2212         * null
2213         */
2214        NO, 
2215        /**
2216         * null
2217         */
2218        NONO, 
2219        /**
2220         * null
2221         */
2222        PA, 
2223        /**
2224         * null
2225         */
2226        PL, 
2227        /**
2228         * null
2229         */
2230        PLPL, 
2231        /**
2232         * null
2233         */
2234        PT, 
2235        /**
2236         * null
2237         */
2238        PTPT, 
2239        /**
2240         * null
2241         */
2242        PTBR, 
2243        /**
2244         * null
2245         */
2246        RO, 
2247        /**
2248         * null
2249         */
2250        RORO, 
2251        /**
2252         * null
2253         */
2254        RU, 
2255        /**
2256         * null
2257         */
2258        RURU, 
2259        /**
2260         * null
2261         */
2262        SK, 
2263        /**
2264         * null
2265         */
2266        SKSK, 
2267        /**
2268         * null
2269         */
2270        SL, 
2271        /**
2272         * null
2273         */
2274        SLSI, 
2275        /**
2276         * null
2277         */
2278        SR, 
2279        /**
2280         * null
2281         */
2282        SRRS, 
2283        /**
2284         * null
2285         */
2286        SV, 
2287        /**
2288         * null
2289         */
2290        SVSE, 
2291        /**
2292         * null
2293         */
2294        TE, 
2295        /**
2296         * null
2297         */
2298        ZH, 
2299        /**
2300         * null
2301         */
2302        ZHCN, 
2303        /**
2304         * null
2305         */
2306        ZHHK, 
2307        /**
2308         * null
2309         */
2310        ZHSG, 
2311        /**
2312         * null
2313         */
2314        ZHTW, 
2315        /**
2316         * added to help the parsers
2317         */
2318        NULL;
2319        public static CommonLanguages fromCode(String codeString) throws FHIRException {
2320            if (codeString == null || "".equals(codeString))
2321                return null;
2322        if ("ar".equals(codeString))
2323          return AR;
2324        if ("bg".equals(codeString))
2325          return BG;
2326        if ("bg-BG".equals(codeString))
2327          return BGBG;
2328        if ("bn".equals(codeString))
2329          return BN;
2330        if ("cs".equals(codeString))
2331          return CS;
2332        if ("cs-CZ".equals(codeString))
2333          return CSCZ;
2334        if ("bs".equals(codeString))
2335          return BS;
2336        if ("bs-BA".equals(codeString))
2337          return BSBA;
2338        if ("da".equals(codeString))
2339          return DA;
2340        if ("da-DK".equals(codeString))
2341          return DADK;
2342        if ("de".equals(codeString))
2343          return DE;
2344        if ("de-AT".equals(codeString))
2345          return DEAT;
2346        if ("de-CH".equals(codeString))
2347          return DECH;
2348        if ("de-DE".equals(codeString))
2349          return DEDE;
2350        if ("el".equals(codeString))
2351          return EL;
2352        if ("el-GR".equals(codeString))
2353          return ELGR;
2354        if ("en".equals(codeString))
2355          return EN;
2356        if ("en-AU".equals(codeString))
2357          return ENAU;
2358        if ("en-CA".equals(codeString))
2359          return ENCA;
2360        if ("en-GB".equals(codeString))
2361          return ENGB;
2362        if ("en-IN".equals(codeString))
2363          return ENIN;
2364        if ("en-NZ".equals(codeString))
2365          return ENNZ;
2366        if ("en-SG".equals(codeString))
2367          return ENSG;
2368        if ("en-US".equals(codeString))
2369          return ENUS;
2370        if ("es".equals(codeString))
2371          return ES;
2372        if ("es-AR".equals(codeString))
2373          return ESAR;
2374        if ("es-ES".equals(codeString))
2375          return ESES;
2376        if ("es-UY".equals(codeString))
2377          return ESUY;
2378        if ("et".equals(codeString))
2379          return ET;
2380        if ("et-EE".equals(codeString))
2381          return ETEE;
2382        if ("fi".equals(codeString))
2383          return FI;
2384        if ("fr".equals(codeString))
2385          return FR;
2386        if ("fr-BE".equals(codeString))
2387          return FRBE;
2388        if ("fr-CH".equals(codeString))
2389          return FRCH;
2390        if ("fr-FR".equals(codeString))
2391          return FRFR;
2392        if ("fi-FI".equals(codeString))
2393          return FIFI;
2394        if ("fr-CA".equals(codeString))
2395          return FRCA;
2396        if ("fy".equals(codeString))
2397          return FY;
2398        if ("fy-NL".equals(codeString))
2399          return FYNL;
2400        if ("hi".equals(codeString))
2401          return HI;
2402        if ("hr".equals(codeString))
2403          return HR;
2404        if ("hr-HR".equals(codeString))
2405          return HRHR;
2406        if ("is".equals(codeString))
2407          return IS;
2408        if ("is-IS".equals(codeString))
2409          return ISIS;
2410        if ("it".equals(codeString))
2411          return IT;
2412        if ("it-CH".equals(codeString))
2413          return ITCH;
2414        if ("it-IT".equals(codeString))
2415          return ITIT;
2416        if ("ja".equals(codeString))
2417          return JA;
2418        if ("ko".equals(codeString))
2419          return KO;
2420        if ("lt".equals(codeString))
2421          return LT;
2422        if ("lt-LT".equals(codeString))
2423          return LTLT;
2424        if ("lv".equals(codeString))
2425          return LV;
2426        if ("lv-LV".equals(codeString))
2427          return LVLV;
2428        if ("nl".equals(codeString))
2429          return NL;
2430        if ("nl-BE".equals(codeString))
2431          return NLBE;
2432        if ("nl-NL".equals(codeString))
2433          return NLNL;
2434        if ("no".equals(codeString))
2435          return NO;
2436        if ("no-NO".equals(codeString))
2437          return NONO;
2438        if ("pa".equals(codeString))
2439          return PA;
2440        if ("pl".equals(codeString))
2441          return PL;
2442        if ("pl-PL".equals(codeString))
2443          return PLPL;
2444        if ("pt".equals(codeString))
2445          return PT;
2446        if ("pt-PT".equals(codeString))
2447          return PTPT;
2448        if ("pt-BR".equals(codeString))
2449          return PTBR;
2450        if ("ro".equals(codeString))
2451          return RO;
2452        if ("ro-RO".equals(codeString))
2453          return RORO;
2454        if ("ru".equals(codeString))
2455          return RU;
2456        if ("ru-RU".equals(codeString))
2457          return RURU;
2458        if ("sk".equals(codeString))
2459          return SK;
2460        if ("sk-SK".equals(codeString))
2461          return SKSK;
2462        if ("sl".equals(codeString))
2463          return SL;
2464        if ("sl-SI".equals(codeString))
2465          return SLSI;
2466        if ("sr".equals(codeString))
2467          return SR;
2468        if ("sr-RS".equals(codeString))
2469          return SRRS;
2470        if ("sv".equals(codeString))
2471          return SV;
2472        if ("sv-SE".equals(codeString))
2473          return SVSE;
2474        if ("te".equals(codeString))
2475          return TE;
2476        if ("zh".equals(codeString))
2477          return ZH;
2478        if ("zh-CN".equals(codeString))
2479          return ZHCN;
2480        if ("zh-HK".equals(codeString))
2481          return ZHHK;
2482        if ("zh-SG".equals(codeString))
2483          return ZHSG;
2484        if ("zh-TW".equals(codeString))
2485          return ZHTW;
2486        throw new FHIRException("Unknown CommonLanguages code '"+codeString+"'");
2487        }
2488        public static boolean isValidCode(String codeString) {
2489            if (codeString == null || "".equals(codeString))
2490                return false;
2491          return Utilities.existsInList(codeString, "ar", "bg", "bg-BG", "bn", "cs", "cs-CZ", "bs", "bs-BA", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "el", "el-GR", "en", "en-AU", "en-CA", "en-GB", "en-IN", "en-NZ", "en-SG", "en-US", "es", "es-AR", "es-ES", "es-UY", "et", "et-EE", "fi", "fr", "fr-BE", "fr-CH", "fr-FR", "fi-FI", "fr-CA", "fy", "fy-NL", "hi", "hr", "hr-HR", "is", "is-IS", "it", "it-CH", "it-IT", "ja", "ko", "lt", "lt-LT", "lv", "lv-LV", "nl", "nl-BE", "nl-NL", "no", "no-NO", "pa", "pl", "pl-PL", "pt", "pt-PT", "pt-BR", "ro", "ro-RO", "ru", "ru-RU", "sk", "sk-SK", "sl", "sl-SI", "sr", "sr-RS", "sv", "sv-SE", "te", "zh", "zh-CN", "zh-HK", "zh-SG", "zh-TW");
2492        }
2493        public String toCode() {
2494          switch (this) {
2495            case AR: return "ar";
2496            case BG: return "bg";
2497            case BGBG: return "bg-BG";
2498            case BN: return "bn";
2499            case CS: return "cs";
2500            case CSCZ: return "cs-CZ";
2501            case BS: return "bs";
2502            case BSBA: return "bs-BA";
2503            case DA: return "da";
2504            case DADK: return "da-DK";
2505            case DE: return "de";
2506            case DEAT: return "de-AT";
2507            case DECH: return "de-CH";
2508            case DEDE: return "de-DE";
2509            case EL: return "el";
2510            case ELGR: return "el-GR";
2511            case EN: return "en";
2512            case ENAU: return "en-AU";
2513            case ENCA: return "en-CA";
2514            case ENGB: return "en-GB";
2515            case ENIN: return "en-IN";
2516            case ENNZ: return "en-NZ";
2517            case ENSG: return "en-SG";
2518            case ENUS: return "en-US";
2519            case ES: return "es";
2520            case ESAR: return "es-AR";
2521            case ESES: return "es-ES";
2522            case ESUY: return "es-UY";
2523            case ET: return "et";
2524            case ETEE: return "et-EE";
2525            case FI: return "fi";
2526            case FR: return "fr";
2527            case FRBE: return "fr-BE";
2528            case FRCH: return "fr-CH";
2529            case FRFR: return "fr-FR";
2530            case FIFI: return "fi-FI";
2531            case FRCA: return "fr-CA";
2532            case FY: return "fy";
2533            case FYNL: return "fy-NL";
2534            case HI: return "hi";
2535            case HR: return "hr";
2536            case HRHR: return "hr-HR";
2537            case IS: return "is";
2538            case ISIS: return "is-IS";
2539            case IT: return "it";
2540            case ITCH: return "it-CH";
2541            case ITIT: return "it-IT";
2542            case JA: return "ja";
2543            case KO: return "ko";
2544            case LT: return "lt";
2545            case LTLT: return "lt-LT";
2546            case LV: return "lv";
2547            case LVLV: return "lv-LV";
2548            case NL: return "nl";
2549            case NLBE: return "nl-BE";
2550            case NLNL: return "nl-NL";
2551            case NO: return "no";
2552            case NONO: return "no-NO";
2553            case PA: return "pa";
2554            case PL: return "pl";
2555            case PLPL: return "pl-PL";
2556            case PT: return "pt";
2557            case PTPT: return "pt-PT";
2558            case PTBR: return "pt-BR";
2559            case RO: return "ro";
2560            case RORO: return "ro-RO";
2561            case RU: return "ru";
2562            case RURU: return "ru-RU";
2563            case SK: return "sk";
2564            case SKSK: return "sk-SK";
2565            case SL: return "sl";
2566            case SLSI: return "sl-SI";
2567            case SR: return "sr";
2568            case SRRS: return "sr-RS";
2569            case SV: return "sv";
2570            case SVSE: return "sv-SE";
2571            case TE: return "te";
2572            case ZH: return "zh";
2573            case ZHCN: return "zh-CN";
2574            case ZHHK: return "zh-HK";
2575            case ZHSG: return "zh-SG";
2576            case ZHTW: return "zh-TW";
2577            case NULL: return null;
2578            default: return "?";
2579          }
2580        }
2581        public String getSystem() {
2582          switch (this) {
2583            case AR: return "urn:ietf:bcp:47";
2584            case BG: return "urn:ietf:bcp:47";
2585            case BGBG: return "urn:ietf:bcp:47";
2586            case BN: return "urn:ietf:bcp:47";
2587            case CS: return "urn:ietf:bcp:47";
2588            case CSCZ: return "urn:ietf:bcp:47";
2589            case BS: return "urn:ietf:bcp:47";
2590            case BSBA: return "urn:ietf:bcp:47";
2591            case DA: return "urn:ietf:bcp:47";
2592            case DADK: return "urn:ietf:bcp:47";
2593            case DE: return "urn:ietf:bcp:47";
2594            case DEAT: return "urn:ietf:bcp:47";
2595            case DECH: return "urn:ietf:bcp:47";
2596            case DEDE: return "urn:ietf:bcp:47";
2597            case EL: return "urn:ietf:bcp:47";
2598            case ELGR: return "urn:ietf:bcp:47";
2599            case EN: return "urn:ietf:bcp:47";
2600            case ENAU: return "urn:ietf:bcp:47";
2601            case ENCA: return "urn:ietf:bcp:47";
2602            case ENGB: return "urn:ietf:bcp:47";
2603            case ENIN: return "urn:ietf:bcp:47";
2604            case ENNZ: return "urn:ietf:bcp:47";
2605            case ENSG: return "urn:ietf:bcp:47";
2606            case ENUS: return "urn:ietf:bcp:47";
2607            case ES: return "urn:ietf:bcp:47";
2608            case ESAR: return "urn:ietf:bcp:47";
2609            case ESES: return "urn:ietf:bcp:47";
2610            case ESUY: return "urn:ietf:bcp:47";
2611            case ET: return "urn:ietf:bcp:47";
2612            case ETEE: return "urn:ietf:bcp:47";
2613            case FI: return "urn:ietf:bcp:47";
2614            case FR: return "urn:ietf:bcp:47";
2615            case FRBE: return "urn:ietf:bcp:47";
2616            case FRCH: return "urn:ietf:bcp:47";
2617            case FRFR: return "urn:ietf:bcp:47";
2618            case FIFI: return "urn:ietf:bcp:47";
2619            case FRCA: return "urn:ietf:bcp:47";
2620            case FY: return "urn:ietf:bcp:47";
2621            case FYNL: return "urn:ietf:bcp:47";
2622            case HI: return "urn:ietf:bcp:47";
2623            case HR: return "urn:ietf:bcp:47";
2624            case HRHR: return "urn:ietf:bcp:47";
2625            case IS: return "urn:ietf:bcp:47";
2626            case ISIS: return "urn:ietf:bcp:47";
2627            case IT: return "urn:ietf:bcp:47";
2628            case ITCH: return "urn:ietf:bcp:47";
2629            case ITIT: return "urn:ietf:bcp:47";
2630            case JA: return "urn:ietf:bcp:47";
2631            case KO: return "urn:ietf:bcp:47";
2632            case LT: return "urn:ietf:bcp:47";
2633            case LTLT: return "urn:ietf:bcp:47";
2634            case LV: return "urn:ietf:bcp:47";
2635            case LVLV: return "urn:ietf:bcp:47";
2636            case NL: return "urn:ietf:bcp:47";
2637            case NLBE: return "urn:ietf:bcp:47";
2638            case NLNL: return "urn:ietf:bcp:47";
2639            case NO: return "urn:ietf:bcp:47";
2640            case NONO: return "urn:ietf:bcp:47";
2641            case PA: return "urn:ietf:bcp:47";
2642            case PL: return "urn:ietf:bcp:47";
2643            case PLPL: return "urn:ietf:bcp:47";
2644            case PT: return "urn:ietf:bcp:47";
2645            case PTPT: return "urn:ietf:bcp:47";
2646            case PTBR: return "urn:ietf:bcp:47";
2647            case RO: return "urn:ietf:bcp:47";
2648            case RORO: return "urn:ietf:bcp:47";
2649            case RU: return "urn:ietf:bcp:47";
2650            case RURU: return "urn:ietf:bcp:47";
2651            case SK: return "urn:ietf:bcp:47";
2652            case SKSK: return "urn:ietf:bcp:47";
2653            case SL: return "urn:ietf:bcp:47";
2654            case SLSI: return "urn:ietf:bcp:47";
2655            case SR: return "urn:ietf:bcp:47";
2656            case SRRS: return "urn:ietf:bcp:47";
2657            case SV: return "urn:ietf:bcp:47";
2658            case SVSE: return "urn:ietf:bcp:47";
2659            case TE: return "urn:ietf:bcp:47";
2660            case ZH: return "urn:ietf:bcp:47";
2661            case ZHCN: return "urn:ietf:bcp:47";
2662            case ZHHK: return "urn:ietf:bcp:47";
2663            case ZHSG: return "urn:ietf:bcp:47";
2664            case ZHTW: return "urn:ietf:bcp:47";
2665            case NULL: return null;
2666            default: return "?";
2667          }
2668        }
2669        public String getDefinition() {
2670          switch (this) {
2671            case AR: return "";
2672            case BG: return "";
2673            case BGBG: return "";
2674            case BN: return "";
2675            case CS: return "";
2676            case CSCZ: return "";
2677            case BS: return "";
2678            case BSBA: return "";
2679            case DA: return "";
2680            case DADK: return "";
2681            case DE: return "";
2682            case DEAT: return "";
2683            case DECH: return "";
2684            case DEDE: return "";
2685            case EL: return "";
2686            case ELGR: return "";
2687            case EN: return "";
2688            case ENAU: return "";
2689            case ENCA: return "";
2690            case ENGB: return "";
2691            case ENIN: return "";
2692            case ENNZ: return "";
2693            case ENSG: return "";
2694            case ENUS: return "";
2695            case ES: return "";
2696            case ESAR: return "";
2697            case ESES: return "";
2698            case ESUY: return "";
2699            case ET: return "";
2700            case ETEE: return "";
2701            case FI: return "";
2702            case FR: return "";
2703            case FRBE: return "";
2704            case FRCH: return "";
2705            case FRFR: return "";
2706            case FIFI: return "";
2707            case FRCA: return "";
2708            case FY: return "";
2709            case FYNL: return "";
2710            case HI: return "";
2711            case HR: return "";
2712            case HRHR: return "";
2713            case IS: return "";
2714            case ISIS: return "";
2715            case IT: return "";
2716            case ITCH: return "";
2717            case ITIT: return "";
2718            case JA: return "";
2719            case KO: return "";
2720            case LT: return "";
2721            case LTLT: return "";
2722            case LV: return "";
2723            case LVLV: return "";
2724            case NL: return "";
2725            case NLBE: return "";
2726            case NLNL: return "";
2727            case NO: return "";
2728            case NONO: return "";
2729            case PA: return "";
2730            case PL: return "";
2731            case PLPL: return "";
2732            case PT: return "";
2733            case PTPT: return "";
2734            case PTBR: return "";
2735            case RO: return "";
2736            case RORO: return "";
2737            case RU: return "";
2738            case RURU: return "";
2739            case SK: return "";
2740            case SKSK: return "";
2741            case SL: return "";
2742            case SLSI: return "";
2743            case SR: return "";
2744            case SRRS: return "";
2745            case SV: return "";
2746            case SVSE: return "";
2747            case TE: return "";
2748            case ZH: return "";
2749            case ZHCN: return "";
2750            case ZHHK: return "";
2751            case ZHSG: return "";
2752            case ZHTW: return "";
2753            case NULL: return null;
2754            default: return "?";
2755          }
2756        }
2757        public String getDisplay() {
2758          switch (this) {
2759            case AR: return "Arabisk";
2760            case BG: return "Bulgarian";
2761            case BGBG: return "Bulgarian (Bulgaria)";
2762            case BN: return "Bengali";
2763            case CS: return "Czech";
2764            case CSCZ: return "Czech (Czechia)";
2765            case BS: return "Bosnian";
2766            case BSBA: return "Bosnian (Bosnia and Herzegovina))";
2767            case DA: return "Danish";
2768            case DADK: return "Danish (Denmark)";
2769            case DE: return "German";
2770            case DEAT: return "German (Austria)";
2771            case DECH: return "German (Switzerland)";
2772            case DEDE: return "German (Germany)";
2773            case EL: return "Greek";
2774            case ELGR: return "Greek (Greece)";
2775            case EN: return "English";
2776            case ENAU: return "English (Australia)";
2777            case ENCA: return "English (Canada)";
2778            case ENGB: return "English (Great Britain)";
2779            case ENIN: return "English (India)";
2780            case ENNZ: return "English (New Zealand)";
2781            case ENSG: return "English (Singapore)";
2782            case ENUS: return "English (United States)";
2783            case ES: return "Spanish";
2784            case ESAR: return "Spanish (Argentina)";
2785            case ESES: return "Spanish (Spain)";
2786            case ESUY: return "Spanish (Uruguay)";
2787            case ET: return "Estonian";
2788            case ETEE: return "Estonian (Estonia)";
2789            case FI: return "Finnish";
2790            case FR: return "French";
2791            case FRBE: return "French (Belgium)";
2792            case FRCH: return "French (Switzerland)";
2793            case FRFR: return "French (France)";
2794            case FIFI: return "Finnish (Finland)";
2795            case FRCA: return "French (Canada)";
2796            case FY: return "Frisian";
2797            case FYNL: return "Frisian (Netherlands)";
2798            case HI: return "Hindi";
2799            case HR: return "Croatian";
2800            case HRHR: return "Croatian (Croatia)";
2801            case IS: return "Icelandic";
2802            case ISIS: return "Icelandic (Iceland)";
2803            case IT: return "Italian";
2804            case ITCH: return "Italian (Switzerland)";
2805            case ITIT: return "Italian (Italy)";
2806            case JA: return "Japanese";
2807            case KO: return "Korean";
2808            case LT: return "Lithuanian";
2809            case LTLT: return "Lithuanian (Lithuania)";
2810            case LV: return "Latvian";
2811            case LVLV: return "Latvian (Latvia)";
2812            case NL: return "Dutch";
2813            case NLBE: return "Dutch (Belgium)";
2814            case NLNL: return "Dutch (Netherlands)";
2815            case NO: return "Norwegian";
2816            case NONO: return "Norwegian (Norway)";
2817            case PA: return "Punjabi";
2818            case PL: return "Polskie";
2819            case PLPL: return "Polish (Poland)";
2820            case PT: return "Portuguese";
2821            case PTPT: return "Portuguese (Portugal)";
2822            case PTBR: return "Portuguese (Brazil)";
2823            case RO: return "Romanian";
2824            case RORO: return "Romanian (Romania)";
2825            case RU: return "Russian";
2826            case RURU: return "Russian (Russia)";
2827            case SK: return "Slovakian";
2828            case SKSK: return "Slovakian (Slovakia)";
2829            case SL: return "Slovenian";
2830            case SLSI: return "Slovenian (Slovenia)";
2831            case SR: return "Serbian";
2832            case SRRS: return "Serbian (Serbia)";
2833            case SV: return "Swedish";
2834            case SVSE: return "Swedish (Sweden)";
2835            case TE: return "Telugu";
2836            case ZH: return "Chinese";
2837            case ZHCN: return "Chinese (China)";
2838            case ZHHK: return "Chinese (Hong Kong)";
2839            case ZHSG: return "Chinese (Singapore)";
2840            case ZHTW: return "Chinese (Taiwan)";
2841            case NULL: return null;
2842            default: return "?";
2843          }
2844        }
2845    }
2846
2847  public static class CommonLanguagesEnumFactory implements EnumFactory<CommonLanguages> {
2848    public CommonLanguages fromCode(String codeString) throws IllegalArgumentException {
2849      if (codeString == null || "".equals(codeString))
2850            if (codeString == null || "".equals(codeString))
2851                return null;
2852        if ("ar".equals(codeString))
2853          return CommonLanguages.AR;
2854        if ("bg".equals(codeString))
2855          return CommonLanguages.BG;
2856        if ("bg-BG".equals(codeString))
2857          return CommonLanguages.BGBG;
2858        if ("bn".equals(codeString))
2859          return CommonLanguages.BN;
2860        if ("cs".equals(codeString))
2861          return CommonLanguages.CS;
2862        if ("cs-CZ".equals(codeString))
2863          return CommonLanguages.CSCZ;
2864        if ("bs".equals(codeString))
2865          return CommonLanguages.BS;
2866        if ("bs-BA".equals(codeString))
2867          return CommonLanguages.BSBA;
2868        if ("da".equals(codeString))
2869          return CommonLanguages.DA;
2870        if ("da-DK".equals(codeString))
2871          return CommonLanguages.DADK;
2872        if ("de".equals(codeString))
2873          return CommonLanguages.DE;
2874        if ("de-AT".equals(codeString))
2875          return CommonLanguages.DEAT;
2876        if ("de-CH".equals(codeString))
2877          return CommonLanguages.DECH;
2878        if ("de-DE".equals(codeString))
2879          return CommonLanguages.DEDE;
2880        if ("el".equals(codeString))
2881          return CommonLanguages.EL;
2882        if ("el-GR".equals(codeString))
2883          return CommonLanguages.ELGR;
2884        if ("en".equals(codeString))
2885          return CommonLanguages.EN;
2886        if ("en-AU".equals(codeString))
2887          return CommonLanguages.ENAU;
2888        if ("en-CA".equals(codeString))
2889          return CommonLanguages.ENCA;
2890        if ("en-GB".equals(codeString))
2891          return CommonLanguages.ENGB;
2892        if ("en-IN".equals(codeString))
2893          return CommonLanguages.ENIN;
2894        if ("en-NZ".equals(codeString))
2895          return CommonLanguages.ENNZ;
2896        if ("en-SG".equals(codeString))
2897          return CommonLanguages.ENSG;
2898        if ("en-US".equals(codeString))
2899          return CommonLanguages.ENUS;
2900        if ("es".equals(codeString))
2901          return CommonLanguages.ES;
2902        if ("es-AR".equals(codeString))
2903          return CommonLanguages.ESAR;
2904        if ("es-ES".equals(codeString))
2905          return CommonLanguages.ESES;
2906        if ("es-UY".equals(codeString))
2907          return CommonLanguages.ESUY;
2908        if ("et".equals(codeString))
2909          return CommonLanguages.ET;
2910        if ("et-EE".equals(codeString))
2911          return CommonLanguages.ETEE;
2912        if ("fi".equals(codeString))
2913          return CommonLanguages.FI;
2914        if ("fr".equals(codeString))
2915          return CommonLanguages.FR;
2916        if ("fr-BE".equals(codeString))
2917          return CommonLanguages.FRBE;
2918        if ("fr-CH".equals(codeString))
2919          return CommonLanguages.FRCH;
2920        if ("fr-FR".equals(codeString))
2921          return CommonLanguages.FRFR;
2922        if ("fi-FI".equals(codeString))
2923          return CommonLanguages.FIFI;
2924        if ("fr-CA".equals(codeString))
2925          return CommonLanguages.FRCA;
2926        if ("fy".equals(codeString))
2927          return CommonLanguages.FY;
2928        if ("fy-NL".equals(codeString))
2929          return CommonLanguages.FYNL;
2930        if ("hi".equals(codeString))
2931          return CommonLanguages.HI;
2932        if ("hr".equals(codeString))
2933          return CommonLanguages.HR;
2934        if ("hr-HR".equals(codeString))
2935          return CommonLanguages.HRHR;
2936        if ("is".equals(codeString))
2937          return CommonLanguages.IS;
2938        if ("is-IS".equals(codeString))
2939          return CommonLanguages.ISIS;
2940        if ("it".equals(codeString))
2941          return CommonLanguages.IT;
2942        if ("it-CH".equals(codeString))
2943          return CommonLanguages.ITCH;
2944        if ("it-IT".equals(codeString))
2945          return CommonLanguages.ITIT;
2946        if ("ja".equals(codeString))
2947          return CommonLanguages.JA;
2948        if ("ko".equals(codeString))
2949          return CommonLanguages.KO;
2950        if ("lt".equals(codeString))
2951          return CommonLanguages.LT;
2952        if ("lt-LT".equals(codeString))
2953          return CommonLanguages.LTLT;
2954        if ("lv".equals(codeString))
2955          return CommonLanguages.LV;
2956        if ("lv-LV".equals(codeString))
2957          return CommonLanguages.LVLV;
2958        if ("nl".equals(codeString))
2959          return CommonLanguages.NL;
2960        if ("nl-BE".equals(codeString))
2961          return CommonLanguages.NLBE;
2962        if ("nl-NL".equals(codeString))
2963          return CommonLanguages.NLNL;
2964        if ("no".equals(codeString))
2965          return CommonLanguages.NO;
2966        if ("no-NO".equals(codeString))
2967          return CommonLanguages.NONO;
2968        if ("pa".equals(codeString))
2969          return CommonLanguages.PA;
2970        if ("pl".equals(codeString))
2971          return CommonLanguages.PL;
2972        if ("pl-PL".equals(codeString))
2973          return CommonLanguages.PLPL;
2974        if ("pt".equals(codeString))
2975          return CommonLanguages.PT;
2976        if ("pt-PT".equals(codeString))
2977          return CommonLanguages.PTPT;
2978        if ("pt-BR".equals(codeString))
2979          return CommonLanguages.PTBR;
2980        if ("ro".equals(codeString))
2981          return CommonLanguages.RO;
2982        if ("ro-RO".equals(codeString))
2983          return CommonLanguages.RORO;
2984        if ("ru".equals(codeString))
2985          return CommonLanguages.RU;
2986        if ("ru-RU".equals(codeString))
2987          return CommonLanguages.RURU;
2988        if ("sk".equals(codeString))
2989          return CommonLanguages.SK;
2990        if ("sk-SK".equals(codeString))
2991          return CommonLanguages.SKSK;
2992        if ("sl".equals(codeString))
2993          return CommonLanguages.SL;
2994        if ("sl-SI".equals(codeString))
2995          return CommonLanguages.SLSI;
2996        if ("sr".equals(codeString))
2997          return CommonLanguages.SR;
2998        if ("sr-RS".equals(codeString))
2999          return CommonLanguages.SRRS;
3000        if ("sv".equals(codeString))
3001          return CommonLanguages.SV;
3002        if ("sv-SE".equals(codeString))
3003          return CommonLanguages.SVSE;
3004        if ("te".equals(codeString))
3005          return CommonLanguages.TE;
3006        if ("zh".equals(codeString))
3007          return CommonLanguages.ZH;
3008        if ("zh-CN".equals(codeString))
3009          return CommonLanguages.ZHCN;
3010        if ("zh-HK".equals(codeString))
3011          return CommonLanguages.ZHHK;
3012        if ("zh-SG".equals(codeString))
3013          return CommonLanguages.ZHSG;
3014        if ("zh-TW".equals(codeString))
3015          return CommonLanguages.ZHTW;
3016        throw new IllegalArgumentException("Unknown CommonLanguages code '"+codeString+"'");
3017        }
3018
3019        public Enumeration<CommonLanguages> fromType(PrimitiveType<?> code) throws FHIRException {
3020          if (code == null)
3021            return null;
3022          if (code.isEmpty())
3023            return new Enumeration<CommonLanguages>(this, CommonLanguages.NULL, code);
3024          String codeString = ((PrimitiveType) code).asStringValue();
3025          if (codeString == null || "".equals(codeString))
3026            return new Enumeration<CommonLanguages>(this, CommonLanguages.NULL, code);
3027        if ("ar".equals(codeString))
3028          return new Enumeration<CommonLanguages>(this, CommonLanguages.AR, code);
3029        if ("bg".equals(codeString))
3030          return new Enumeration<CommonLanguages>(this, CommonLanguages.BG, code);
3031        if ("bg-BG".equals(codeString))
3032          return new Enumeration<CommonLanguages>(this, CommonLanguages.BGBG, code);
3033        if ("bn".equals(codeString))
3034          return new Enumeration<CommonLanguages>(this, CommonLanguages.BN, code);
3035        if ("cs".equals(codeString))
3036          return new Enumeration<CommonLanguages>(this, CommonLanguages.CS, code);
3037        if ("cs-CZ".equals(codeString))
3038          return new Enumeration<CommonLanguages>(this, CommonLanguages.CSCZ, code);
3039        if ("bs".equals(codeString))
3040          return new Enumeration<CommonLanguages>(this, CommonLanguages.BS, code);
3041        if ("bs-BA".equals(codeString))
3042          return new Enumeration<CommonLanguages>(this, CommonLanguages.BSBA, code);
3043        if ("da".equals(codeString))
3044          return new Enumeration<CommonLanguages>(this, CommonLanguages.DA, code);
3045        if ("da-DK".equals(codeString))
3046          return new Enumeration<CommonLanguages>(this, CommonLanguages.DADK, code);
3047        if ("de".equals(codeString))
3048          return new Enumeration<CommonLanguages>(this, CommonLanguages.DE, code);
3049        if ("de-AT".equals(codeString))
3050          return new Enumeration<CommonLanguages>(this, CommonLanguages.DEAT, code);
3051        if ("de-CH".equals(codeString))
3052          return new Enumeration<CommonLanguages>(this, CommonLanguages.DECH, code);
3053        if ("de-DE".equals(codeString))
3054          return new Enumeration<CommonLanguages>(this, CommonLanguages.DEDE, code);
3055        if ("el".equals(codeString))
3056          return new Enumeration<CommonLanguages>(this, CommonLanguages.EL, code);
3057        if ("el-GR".equals(codeString))
3058          return new Enumeration<CommonLanguages>(this, CommonLanguages.ELGR, code);
3059        if ("en".equals(codeString))
3060          return new Enumeration<CommonLanguages>(this, CommonLanguages.EN, code);
3061        if ("en-AU".equals(codeString))
3062          return new Enumeration<CommonLanguages>(this, CommonLanguages.ENAU, code);
3063        if ("en-CA".equals(codeString))
3064          return new Enumeration<CommonLanguages>(this, CommonLanguages.ENCA, code);
3065        if ("en-GB".equals(codeString))
3066          return new Enumeration<CommonLanguages>(this, CommonLanguages.ENGB, code);
3067        if ("en-IN".equals(codeString))
3068          return new Enumeration<CommonLanguages>(this, CommonLanguages.ENIN, code);
3069        if ("en-NZ".equals(codeString))
3070          return new Enumeration<CommonLanguages>(this, CommonLanguages.ENNZ, code);
3071        if ("en-SG".equals(codeString))
3072          return new Enumeration<CommonLanguages>(this, CommonLanguages.ENSG, code);
3073        if ("en-US".equals(codeString))
3074          return new Enumeration<CommonLanguages>(this, CommonLanguages.ENUS, code);
3075        if ("es".equals(codeString))
3076          return new Enumeration<CommonLanguages>(this, CommonLanguages.ES, code);
3077        if ("es-AR".equals(codeString))
3078          return new Enumeration<CommonLanguages>(this, CommonLanguages.ESAR, code);
3079        if ("es-ES".equals(codeString))
3080          return new Enumeration<CommonLanguages>(this, CommonLanguages.ESES, code);
3081        if ("es-UY".equals(codeString))
3082          return new Enumeration<CommonLanguages>(this, CommonLanguages.ESUY, code);
3083        if ("et".equals(codeString))
3084          return new Enumeration<CommonLanguages>(this, CommonLanguages.ET, code);
3085        if ("et-EE".equals(codeString))
3086          return new Enumeration<CommonLanguages>(this, CommonLanguages.ETEE, code);
3087        if ("fi".equals(codeString))
3088          return new Enumeration<CommonLanguages>(this, CommonLanguages.FI, code);
3089        if ("fr".equals(codeString))
3090          return new Enumeration<CommonLanguages>(this, CommonLanguages.FR, code);
3091        if ("fr-BE".equals(codeString))
3092          return new Enumeration<CommonLanguages>(this, CommonLanguages.FRBE, code);
3093        if ("fr-CH".equals(codeString))
3094          return new Enumeration<CommonLanguages>(this, CommonLanguages.FRCH, code);
3095        if ("fr-FR".equals(codeString))
3096          return new Enumeration<CommonLanguages>(this, CommonLanguages.FRFR, code);
3097        if ("fi-FI".equals(codeString))
3098          return new Enumeration<CommonLanguages>(this, CommonLanguages.FIFI, code);
3099        if ("fr-CA".equals(codeString))
3100          return new Enumeration<CommonLanguages>(this, CommonLanguages.FRCA, code);
3101        if ("fy".equals(codeString))
3102          return new Enumeration<CommonLanguages>(this, CommonLanguages.FY, code);
3103        if ("fy-NL".equals(codeString))
3104          return new Enumeration<CommonLanguages>(this, CommonLanguages.FYNL, code);
3105        if ("hi".equals(codeString))
3106          return new Enumeration<CommonLanguages>(this, CommonLanguages.HI, code);
3107        if ("hr".equals(codeString))
3108          return new Enumeration<CommonLanguages>(this, CommonLanguages.HR, code);
3109        if ("hr-HR".equals(codeString))
3110          return new Enumeration<CommonLanguages>(this, CommonLanguages.HRHR, code);
3111        if ("is".equals(codeString))
3112          return new Enumeration<CommonLanguages>(this, CommonLanguages.IS, code);
3113        if ("is-IS".equals(codeString))
3114          return new Enumeration<CommonLanguages>(this, CommonLanguages.ISIS, code);
3115        if ("it".equals(codeString))
3116          return new Enumeration<CommonLanguages>(this, CommonLanguages.IT, code);
3117        if ("it-CH".equals(codeString))
3118          return new Enumeration<CommonLanguages>(this, CommonLanguages.ITCH, code);
3119        if ("it-IT".equals(codeString))
3120          return new Enumeration<CommonLanguages>(this, CommonLanguages.ITIT, code);
3121        if ("ja".equals(codeString))
3122          return new Enumeration<CommonLanguages>(this, CommonLanguages.JA, code);
3123        if ("ko".equals(codeString))
3124          return new Enumeration<CommonLanguages>(this, CommonLanguages.KO, code);
3125        if ("lt".equals(codeString))
3126          return new Enumeration<CommonLanguages>(this, CommonLanguages.LT, code);
3127        if ("lt-LT".equals(codeString))
3128          return new Enumeration<CommonLanguages>(this, CommonLanguages.LTLT, code);
3129        if ("lv".equals(codeString))
3130          return new Enumeration<CommonLanguages>(this, CommonLanguages.LV, code);
3131        if ("lv-LV".equals(codeString))
3132          return new Enumeration<CommonLanguages>(this, CommonLanguages.LVLV, code);
3133        if ("nl".equals(codeString))
3134          return new Enumeration<CommonLanguages>(this, CommonLanguages.NL, code);
3135        if ("nl-BE".equals(codeString))
3136          return new Enumeration<CommonLanguages>(this, CommonLanguages.NLBE, code);
3137        if ("nl-NL".equals(codeString))
3138          return new Enumeration<CommonLanguages>(this, CommonLanguages.NLNL, code);
3139        if ("no".equals(codeString))
3140          return new Enumeration<CommonLanguages>(this, CommonLanguages.NO, code);
3141        if ("no-NO".equals(codeString))
3142          return new Enumeration<CommonLanguages>(this, CommonLanguages.NONO, code);
3143        if ("pa".equals(codeString))
3144          return new Enumeration<CommonLanguages>(this, CommonLanguages.PA, code);
3145        if ("pl".equals(codeString))
3146          return new Enumeration<CommonLanguages>(this, CommonLanguages.PL, code);
3147        if ("pl-PL".equals(codeString))
3148          return new Enumeration<CommonLanguages>(this, CommonLanguages.PLPL, code);
3149        if ("pt".equals(codeString))
3150          return new Enumeration<CommonLanguages>(this, CommonLanguages.PT, code);
3151        if ("pt-PT".equals(codeString))
3152          return new Enumeration<CommonLanguages>(this, CommonLanguages.PTPT, code);
3153        if ("pt-BR".equals(codeString))
3154          return new Enumeration<CommonLanguages>(this, CommonLanguages.PTBR, code);
3155        if ("ro".equals(codeString))
3156          return new Enumeration<CommonLanguages>(this, CommonLanguages.RO, code);
3157        if ("ro-RO".equals(codeString))
3158          return new Enumeration<CommonLanguages>(this, CommonLanguages.RORO, code);
3159        if ("ru".equals(codeString))
3160          return new Enumeration<CommonLanguages>(this, CommonLanguages.RU, code);
3161        if ("ru-RU".equals(codeString))
3162          return new Enumeration<CommonLanguages>(this, CommonLanguages.RURU, code);
3163        if ("sk".equals(codeString))
3164          return new Enumeration<CommonLanguages>(this, CommonLanguages.SK, code);
3165        if ("sk-SK".equals(codeString))
3166          return new Enumeration<CommonLanguages>(this, CommonLanguages.SKSK, code);
3167        if ("sl".equals(codeString))
3168          return new Enumeration<CommonLanguages>(this, CommonLanguages.SL, code);
3169        if ("sl-SI".equals(codeString))
3170          return new Enumeration<CommonLanguages>(this, CommonLanguages.SLSI, code);
3171        if ("sr".equals(codeString))
3172          return new Enumeration<CommonLanguages>(this, CommonLanguages.SR, code);
3173        if ("sr-RS".equals(codeString))
3174          return new Enumeration<CommonLanguages>(this, CommonLanguages.SRRS, code);
3175        if ("sv".equals(codeString))
3176          return new Enumeration<CommonLanguages>(this, CommonLanguages.SV, code);
3177        if ("sv-SE".equals(codeString))
3178          return new Enumeration<CommonLanguages>(this, CommonLanguages.SVSE, code);
3179        if ("te".equals(codeString))
3180          return new Enumeration<CommonLanguages>(this, CommonLanguages.TE, code);
3181        if ("zh".equals(codeString))
3182          return new Enumeration<CommonLanguages>(this, CommonLanguages.ZH, code);
3183        if ("zh-CN".equals(codeString))
3184          return new Enumeration<CommonLanguages>(this, CommonLanguages.ZHCN, code);
3185        if ("zh-HK".equals(codeString))
3186          return new Enumeration<CommonLanguages>(this, CommonLanguages.ZHHK, code);
3187        if ("zh-SG".equals(codeString))
3188          return new Enumeration<CommonLanguages>(this, CommonLanguages.ZHSG, code);
3189        if ("zh-TW".equals(codeString))
3190          return new Enumeration<CommonLanguages>(this, CommonLanguages.ZHTW, code);
3191        throw new FHIRException("Unknown CommonLanguages code '"+codeString+"'");
3192        }
3193    public String toCode(CommonLanguages code) {
3194       if (code == CommonLanguages.NULL)
3195           return null;
3196       if (code == CommonLanguages.AR)
3197        return "ar";
3198      if (code == CommonLanguages.BG)
3199        return "bg";
3200      if (code == CommonLanguages.BGBG)
3201        return "bg-BG";
3202      if (code == CommonLanguages.BN)
3203        return "bn";
3204      if (code == CommonLanguages.CS)
3205        return "cs";
3206      if (code == CommonLanguages.CSCZ)
3207        return "cs-CZ";
3208      if (code == CommonLanguages.BS)
3209        return "bs";
3210      if (code == CommonLanguages.BSBA)
3211        return "bs-BA";
3212      if (code == CommonLanguages.DA)
3213        return "da";
3214      if (code == CommonLanguages.DADK)
3215        return "da-DK";
3216      if (code == CommonLanguages.DE)
3217        return "de";
3218      if (code == CommonLanguages.DEAT)
3219        return "de-AT";
3220      if (code == CommonLanguages.DECH)
3221        return "de-CH";
3222      if (code == CommonLanguages.DEDE)
3223        return "de-DE";
3224      if (code == CommonLanguages.EL)
3225        return "el";
3226      if (code == CommonLanguages.ELGR)
3227        return "el-GR";
3228      if (code == CommonLanguages.EN)
3229        return "en";
3230      if (code == CommonLanguages.ENAU)
3231        return "en-AU";
3232      if (code == CommonLanguages.ENCA)
3233        return "en-CA";
3234      if (code == CommonLanguages.ENGB)
3235        return "en-GB";
3236      if (code == CommonLanguages.ENIN)
3237        return "en-IN";
3238      if (code == CommonLanguages.ENNZ)
3239        return "en-NZ";
3240      if (code == CommonLanguages.ENSG)
3241        return "en-SG";
3242      if (code == CommonLanguages.ENUS)
3243        return "en-US";
3244      if (code == CommonLanguages.ES)
3245        return "es";
3246      if (code == CommonLanguages.ESAR)
3247        return "es-AR";
3248      if (code == CommonLanguages.ESES)
3249        return "es-ES";
3250      if (code == CommonLanguages.ESUY)
3251        return "es-UY";
3252      if (code == CommonLanguages.ET)
3253        return "et";
3254      if (code == CommonLanguages.ETEE)
3255        return "et-EE";
3256      if (code == CommonLanguages.FI)
3257        return "fi";
3258      if (code == CommonLanguages.FR)
3259        return "fr";
3260      if (code == CommonLanguages.FRBE)
3261        return "fr-BE";
3262      if (code == CommonLanguages.FRCH)
3263        return "fr-CH";
3264      if (code == CommonLanguages.FRFR)
3265        return "fr-FR";
3266      if (code == CommonLanguages.FIFI)
3267        return "fi-FI";
3268      if (code == CommonLanguages.FRCA)
3269        return "fr-CA";
3270      if (code == CommonLanguages.FY)
3271        return "fy";
3272      if (code == CommonLanguages.FYNL)
3273        return "fy-NL";
3274      if (code == CommonLanguages.HI)
3275        return "hi";
3276      if (code == CommonLanguages.HR)
3277        return "hr";
3278      if (code == CommonLanguages.HRHR)
3279        return "hr-HR";
3280      if (code == CommonLanguages.IS)
3281        return "is";
3282      if (code == CommonLanguages.ISIS)
3283        return "is-IS";
3284      if (code == CommonLanguages.IT)
3285        return "it";
3286      if (code == CommonLanguages.ITCH)
3287        return "it-CH";
3288      if (code == CommonLanguages.ITIT)
3289        return "it-IT";
3290      if (code == CommonLanguages.JA)
3291        return "ja";
3292      if (code == CommonLanguages.KO)
3293        return "ko";
3294      if (code == CommonLanguages.LT)
3295        return "lt";
3296      if (code == CommonLanguages.LTLT)
3297        return "lt-LT";
3298      if (code == CommonLanguages.LV)
3299        return "lv";
3300      if (code == CommonLanguages.LVLV)
3301        return "lv-LV";
3302      if (code == CommonLanguages.NL)
3303        return "nl";
3304      if (code == CommonLanguages.NLBE)
3305        return "nl-BE";
3306      if (code == CommonLanguages.NLNL)
3307        return "nl-NL";
3308      if (code == CommonLanguages.NO)
3309        return "no";
3310      if (code == CommonLanguages.NONO)
3311        return "no-NO";
3312      if (code == CommonLanguages.PA)
3313        return "pa";
3314      if (code == CommonLanguages.PL)
3315        return "pl";
3316      if (code == CommonLanguages.PLPL)
3317        return "pl-PL";
3318      if (code == CommonLanguages.PT)
3319        return "pt";
3320      if (code == CommonLanguages.PTPT)
3321        return "pt-PT";
3322      if (code == CommonLanguages.PTBR)
3323        return "pt-BR";
3324      if (code == CommonLanguages.RO)
3325        return "ro";
3326      if (code == CommonLanguages.RORO)
3327        return "ro-RO";
3328      if (code == CommonLanguages.RU)
3329        return "ru";
3330      if (code == CommonLanguages.RURU)
3331        return "ru-RU";
3332      if (code == CommonLanguages.SK)
3333        return "sk";
3334      if (code == CommonLanguages.SKSK)
3335        return "sk-SK";
3336      if (code == CommonLanguages.SL)
3337        return "sl";
3338      if (code == CommonLanguages.SLSI)
3339        return "sl-SI";
3340      if (code == CommonLanguages.SR)
3341        return "sr";
3342      if (code == CommonLanguages.SRRS)
3343        return "sr-RS";
3344      if (code == CommonLanguages.SV)
3345        return "sv";
3346      if (code == CommonLanguages.SVSE)
3347        return "sv-SE";
3348      if (code == CommonLanguages.TE)
3349        return "te";
3350      if (code == CommonLanguages.ZH)
3351        return "zh";
3352      if (code == CommonLanguages.ZHCN)
3353        return "zh-CN";
3354      if (code == CommonLanguages.ZHHK)
3355        return "zh-HK";
3356      if (code == CommonLanguages.ZHSG)
3357        return "zh-SG";
3358      if (code == CommonLanguages.ZHTW)
3359        return "zh-TW";
3360      return "?";
3361   }
3362    public String toSystem(CommonLanguages code) {
3363      return code.getSystem();
3364      }
3365    }
3366
3367    public enum CompartmentType {
3368        /**
3369         * The compartment definition is for the patient compartment.
3370         */
3371        PATIENT, 
3372        /**
3373         * The compartment definition is for the encounter compartment.
3374         */
3375        ENCOUNTER, 
3376        /**
3377         * The compartment definition is for the related-person compartment.
3378         */
3379        RELATEDPERSON, 
3380        /**
3381         * The compartment definition is for the practitioner compartment.
3382         */
3383        PRACTITIONER, 
3384        /**
3385         * The compartment definition is for the device compartment.
3386         */
3387        DEVICE, 
3388        /**
3389         * The compartment definition is for the episodeofcare compartment.
3390         */
3391        EPISODEOFCARE, 
3392        /**
3393         * added to help the parsers
3394         */
3395        NULL;
3396        public static CompartmentType fromCode(String codeString) throws FHIRException {
3397            if (codeString == null || "".equals(codeString))
3398                return null;
3399        if ("Patient".equals(codeString))
3400          return PATIENT;
3401        if ("Encounter".equals(codeString))
3402          return ENCOUNTER;
3403        if ("RelatedPerson".equals(codeString))
3404          return RELATEDPERSON;
3405        if ("Practitioner".equals(codeString))
3406          return PRACTITIONER;
3407        if ("Device".equals(codeString))
3408          return DEVICE;
3409        if ("EpisodeOfCare".equals(codeString))
3410          return EPISODEOFCARE;
3411        throw new FHIRException("Unknown CompartmentType code '"+codeString+"'");
3412        }
3413        public static boolean isValidCode(String codeString) {
3414            if (codeString == null || "".equals(codeString))
3415                return false;
3416          return Utilities.existsInList(codeString, "Patient", "Encounter", "RelatedPerson", "Practitioner", "Device", "EpisodeOfCare");
3417        }
3418        public String toCode() {
3419          switch (this) {
3420            case PATIENT: return "Patient";
3421            case ENCOUNTER: return "Encounter";
3422            case RELATEDPERSON: return "RelatedPerson";
3423            case PRACTITIONER: return "Practitioner";
3424            case DEVICE: return "Device";
3425            case EPISODEOFCARE: return "EpisodeOfCare";
3426            case NULL: return null;
3427            default: return "?";
3428          }
3429        }
3430        public String getSystem() {
3431          switch (this) {
3432            case PATIENT: return "http://hl7.org/fhir/compartment-type";
3433            case ENCOUNTER: return "http://hl7.org/fhir/compartment-type";
3434            case RELATEDPERSON: return "http://hl7.org/fhir/compartment-type";
3435            case PRACTITIONER: return "http://hl7.org/fhir/compartment-type";
3436            case DEVICE: return "http://hl7.org/fhir/compartment-type";
3437            case EPISODEOFCARE: return "http://hl7.org/fhir/compartment-type";
3438            case NULL: return null;
3439            default: return "?";
3440          }
3441        }
3442        public String getDefinition() {
3443          switch (this) {
3444            case PATIENT: return "The compartment definition is for the patient compartment.";
3445            case ENCOUNTER: return "The compartment definition is for the encounter compartment.";
3446            case RELATEDPERSON: return "The compartment definition is for the related-person compartment.";
3447            case PRACTITIONER: return "The compartment definition is for the practitioner compartment.";
3448            case DEVICE: return "The compartment definition is for the device compartment.";
3449            case EPISODEOFCARE: return "The compartment definition is for the episodeofcare compartment.";
3450            case NULL: return null;
3451            default: return "?";
3452          }
3453        }
3454        public String getDisplay() {
3455          switch (this) {
3456            case PATIENT: return "Patient";
3457            case ENCOUNTER: return "Encounter";
3458            case RELATEDPERSON: return "RelatedPerson";
3459            case PRACTITIONER: return "Practitioner";
3460            case DEVICE: return "Device";
3461            case EPISODEOFCARE: return "EpisodeOfCare";
3462            case NULL: return null;
3463            default: return "?";
3464          }
3465        }
3466    }
3467
3468  public static class CompartmentTypeEnumFactory implements EnumFactory<CompartmentType> {
3469    public CompartmentType fromCode(String codeString) throws IllegalArgumentException {
3470      if (codeString == null || "".equals(codeString))
3471            if (codeString == null || "".equals(codeString))
3472                return null;
3473        if ("Patient".equals(codeString))
3474          return CompartmentType.PATIENT;
3475        if ("Encounter".equals(codeString))
3476          return CompartmentType.ENCOUNTER;
3477        if ("RelatedPerson".equals(codeString))
3478          return CompartmentType.RELATEDPERSON;
3479        if ("Practitioner".equals(codeString))
3480          return CompartmentType.PRACTITIONER;
3481        if ("Device".equals(codeString))
3482          return CompartmentType.DEVICE;
3483        if ("EpisodeOfCare".equals(codeString))
3484          return CompartmentType.EPISODEOFCARE;
3485        throw new IllegalArgumentException("Unknown CompartmentType code '"+codeString+"'");
3486        }
3487
3488        public Enumeration<CompartmentType> fromType(PrimitiveType<?> code) throws FHIRException {
3489          if (code == null)
3490            return null;
3491          if (code.isEmpty())
3492            return new Enumeration<CompartmentType>(this, CompartmentType.NULL, code);
3493          String codeString = ((PrimitiveType) code).asStringValue();
3494          if (codeString == null || "".equals(codeString))
3495            return new Enumeration<CompartmentType>(this, CompartmentType.NULL, code);
3496        if ("Patient".equals(codeString))
3497          return new Enumeration<CompartmentType>(this, CompartmentType.PATIENT, code);
3498        if ("Encounter".equals(codeString))
3499          return new Enumeration<CompartmentType>(this, CompartmentType.ENCOUNTER, code);
3500        if ("RelatedPerson".equals(codeString))
3501          return new Enumeration<CompartmentType>(this, CompartmentType.RELATEDPERSON, code);
3502        if ("Practitioner".equals(codeString))
3503          return new Enumeration<CompartmentType>(this, CompartmentType.PRACTITIONER, code);
3504        if ("Device".equals(codeString))
3505          return new Enumeration<CompartmentType>(this, CompartmentType.DEVICE, code);
3506        if ("EpisodeOfCare".equals(codeString))
3507          return new Enumeration<CompartmentType>(this, CompartmentType.EPISODEOFCARE, code);
3508        throw new FHIRException("Unknown CompartmentType code '"+codeString+"'");
3509        }
3510    public String toCode(CompartmentType code) {
3511       if (code == CompartmentType.NULL)
3512           return null;
3513       if (code == CompartmentType.PATIENT)
3514        return "Patient";
3515      if (code == CompartmentType.ENCOUNTER)
3516        return "Encounter";
3517      if (code == CompartmentType.RELATEDPERSON)
3518        return "RelatedPerson";
3519      if (code == CompartmentType.PRACTITIONER)
3520        return "Practitioner";
3521      if (code == CompartmentType.DEVICE)
3522        return "Device";
3523      if (code == CompartmentType.EPISODEOFCARE)
3524        return "EpisodeOfCare";
3525      return "?";
3526   }
3527    public String toSystem(CompartmentType code) {
3528      return code.getSystem();
3529      }
3530    }
3531
3532    public enum CompositionStatus {
3533        /**
3534         * The existence of the composition is registered, but there is nothing yet available.
3535         */
3536        REGISTERED, 
3537        /**
3538         * This is a partial (e.g. initial, interim or preliminary) composition: data in the composition may be incomplete or unverified.
3539         */
3540        PARTIAL, 
3541        /**
3542         * Verified early results are available, but not all results are final.
3543         */
3544        PRELIMINARY, 
3545        /**
3546         * This version of the composition is complete and verified by an appropriate person and no further work is planned. Any subsequent updates would be on a new version of the composition.
3547         */
3548        FINAL, 
3549        /**
3550         * The composition content or the referenced resources have been modified (edited or added to) subsequent to being released as "final" and the composition is complete and verified by an authorized person.
3551         */
3552        AMENDED, 
3553        /**
3554         * Subsequent to being final, the composition content has been modified to correct an error in the composition or referenced results.
3555         */
3556        CORRECTED, 
3557        /**
3558         * Subsequent to being final, the composition content has been modified by adding new content. The existing content is unchanged.
3559         */
3560        APPENDED, 
3561        /**
3562         * The composition is unavailable because the measurement was not started or not completed (also sometimes called "aborted").
3563         */
3564        CANCELLED, 
3565        /**
3566         * The composition or document was originally created/issued in error, and this is an amendment that marks that the entire series should not be considered as valid.
3567         */
3568        ENTEREDINERROR, 
3569        /**
3570         * This composition has been withdrawn or superseded and should no longer be used.
3571         */
3572        DEPRECATED, 
3573        /**
3574         * The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which.
3575         */
3576        UNKNOWN, 
3577        /**
3578         * added to help the parsers
3579         */
3580        NULL;
3581        public static CompositionStatus fromCode(String codeString) throws FHIRException {
3582            if (codeString == null || "".equals(codeString))
3583                return null;
3584        if ("registered".equals(codeString))
3585          return REGISTERED;
3586        if ("partial".equals(codeString))
3587          return PARTIAL;
3588        if ("preliminary".equals(codeString))
3589          return PRELIMINARY;
3590        if ("final".equals(codeString))
3591          return FINAL;
3592        if ("amended".equals(codeString))
3593          return AMENDED;
3594        if ("corrected".equals(codeString))
3595          return CORRECTED;
3596        if ("appended".equals(codeString))
3597          return APPENDED;
3598        if ("cancelled".equals(codeString))
3599          return CANCELLED;
3600        if ("entered-in-error".equals(codeString))
3601          return ENTEREDINERROR;
3602        if ("deprecated".equals(codeString))
3603          return DEPRECATED;
3604        if ("unknown".equals(codeString))
3605          return UNKNOWN;
3606        throw new FHIRException("Unknown CompositionStatus code '"+codeString+"'");
3607        }
3608        public static boolean isValidCode(String codeString) {
3609            if (codeString == null || "".equals(codeString))
3610                return false;
3611          return Utilities.existsInList(codeString, "registered", "partial", "preliminary", "final", "amended", "corrected", "appended", "cancelled", "entered-in-error", "deprecated", "unknown");
3612        }
3613        public String toCode() {
3614          switch (this) {
3615            case REGISTERED: return "registered";
3616            case PARTIAL: return "partial";
3617            case PRELIMINARY: return "preliminary";
3618            case FINAL: return "final";
3619            case AMENDED: return "amended";
3620            case CORRECTED: return "corrected";
3621            case APPENDED: return "appended";
3622            case CANCELLED: return "cancelled";
3623            case ENTEREDINERROR: return "entered-in-error";
3624            case DEPRECATED: return "deprecated";
3625            case UNKNOWN: return "unknown";
3626            case NULL: return null;
3627            default: return "?";
3628          }
3629        }
3630        public String getSystem() {
3631          switch (this) {
3632            case REGISTERED: return "http://hl7.org/fhir/composition-status";
3633            case PARTIAL: return "http://hl7.org/fhir/composition-status";
3634            case PRELIMINARY: return "http://hl7.org/fhir/composition-status";
3635            case FINAL: return "http://hl7.org/fhir/composition-status";
3636            case AMENDED: return "http://hl7.org/fhir/composition-status";
3637            case CORRECTED: return "http://hl7.org/fhir/composition-status";
3638            case APPENDED: return "http://hl7.org/fhir/composition-status";
3639            case CANCELLED: return "http://hl7.org/fhir/composition-status";
3640            case ENTEREDINERROR: return "http://hl7.org/fhir/composition-status";
3641            case DEPRECATED: return "http://hl7.org/fhir/composition-status";
3642            case UNKNOWN: return "http://hl7.org/fhir/composition-status";
3643            case NULL: return null;
3644            default: return "?";
3645          }
3646        }
3647        public String getDefinition() {
3648          switch (this) {
3649            case REGISTERED: return "The existence of the composition is registered, but there is nothing yet available.";
3650            case PARTIAL: return "This is a partial (e.g. initial, interim or preliminary) composition: data in the composition may be incomplete or unverified.";
3651            case PRELIMINARY: return "Verified early results are available, but not all results are final.";
3652            case FINAL: return "This version of the composition is complete and verified by an appropriate person and no further work is planned. Any subsequent updates would be on a new version of the composition.";
3653            case AMENDED: return "The composition content or the referenced resources have been modified (edited or added to) subsequent to being released as \"final\" and the composition is complete and verified by an authorized person.";
3654            case CORRECTED: return "Subsequent to being final, the composition content has been modified to correct an error in the composition or referenced results.";
3655            case APPENDED: return "Subsequent to being final, the composition content has been modified by adding new content. The existing content is unchanged.";
3656            case CANCELLED: return "The composition is unavailable because the measurement was not started or not completed (also sometimes called \"aborted\").";
3657            case ENTEREDINERROR: return "The composition or document was originally created/issued in error, and this is an amendment that marks that the entire series should not be considered as valid.";
3658            case DEPRECATED: return "This composition has been withdrawn or superseded and should no longer be used.";
3659            case UNKNOWN: return "The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which.";
3660            case NULL: return null;
3661            default: return "?";
3662          }
3663        }
3664        public String getDisplay() {
3665          switch (this) {
3666            case REGISTERED: return "Registered";
3667            case PARTIAL: return "Partial";
3668            case PRELIMINARY: return "Preliminary";
3669            case FINAL: return "Final";
3670            case AMENDED: return "Amended";
3671            case CORRECTED: return "Corrected";
3672            case APPENDED: return "Appended";
3673            case CANCELLED: return "Cancelled";
3674            case ENTEREDINERROR: return "Entered in Error";
3675            case DEPRECATED: return "Deprecated";
3676            case UNKNOWN: return "Unknown";
3677            case NULL: return null;
3678            default: return "?";
3679          }
3680        }
3681    }
3682
3683  public static class CompositionStatusEnumFactory implements EnumFactory<CompositionStatus> {
3684    public CompositionStatus fromCode(String codeString) throws IllegalArgumentException {
3685      if (codeString == null || "".equals(codeString))
3686            if (codeString == null || "".equals(codeString))
3687                return null;
3688        if ("registered".equals(codeString))
3689          return CompositionStatus.REGISTERED;
3690        if ("partial".equals(codeString))
3691          return CompositionStatus.PARTIAL;
3692        if ("preliminary".equals(codeString))
3693          return CompositionStatus.PRELIMINARY;
3694        if ("final".equals(codeString))
3695          return CompositionStatus.FINAL;
3696        if ("amended".equals(codeString))
3697          return CompositionStatus.AMENDED;
3698        if ("corrected".equals(codeString))
3699          return CompositionStatus.CORRECTED;
3700        if ("appended".equals(codeString))
3701          return CompositionStatus.APPENDED;
3702        if ("cancelled".equals(codeString))
3703          return CompositionStatus.CANCELLED;
3704        if ("entered-in-error".equals(codeString))
3705          return CompositionStatus.ENTEREDINERROR;
3706        if ("deprecated".equals(codeString))
3707          return CompositionStatus.DEPRECATED;
3708        if ("unknown".equals(codeString))
3709          return CompositionStatus.UNKNOWN;
3710        throw new IllegalArgumentException("Unknown CompositionStatus code '"+codeString+"'");
3711        }
3712
3713        public Enumeration<CompositionStatus> fromType(PrimitiveType<?> code) throws FHIRException {
3714          if (code == null)
3715            return null;
3716          if (code.isEmpty())
3717            return new Enumeration<CompositionStatus>(this, CompositionStatus.NULL, code);
3718          String codeString = ((PrimitiveType) code).asStringValue();
3719          if (codeString == null || "".equals(codeString))
3720            return new Enumeration<CompositionStatus>(this, CompositionStatus.NULL, code);
3721        if ("registered".equals(codeString))
3722          return new Enumeration<CompositionStatus>(this, CompositionStatus.REGISTERED, code);
3723        if ("partial".equals(codeString))
3724          return new Enumeration<CompositionStatus>(this, CompositionStatus.PARTIAL, code);
3725        if ("preliminary".equals(codeString))
3726          return new Enumeration<CompositionStatus>(this, CompositionStatus.PRELIMINARY, code);
3727        if ("final".equals(codeString))
3728          return new Enumeration<CompositionStatus>(this, CompositionStatus.FINAL, code);
3729        if ("amended".equals(codeString))
3730          return new Enumeration<CompositionStatus>(this, CompositionStatus.AMENDED, code);
3731        if ("corrected".equals(codeString))
3732          return new Enumeration<CompositionStatus>(this, CompositionStatus.CORRECTED, code);
3733        if ("appended".equals(codeString))
3734          return new Enumeration<CompositionStatus>(this, CompositionStatus.APPENDED, code);
3735        if ("cancelled".equals(codeString))
3736          return new Enumeration<CompositionStatus>(this, CompositionStatus.CANCELLED, code);
3737        if ("entered-in-error".equals(codeString))
3738          return new Enumeration<CompositionStatus>(this, CompositionStatus.ENTEREDINERROR, code);
3739        if ("deprecated".equals(codeString))
3740          return new Enumeration<CompositionStatus>(this, CompositionStatus.DEPRECATED, code);
3741        if ("unknown".equals(codeString))
3742          return new Enumeration<CompositionStatus>(this, CompositionStatus.UNKNOWN, code);
3743        throw new FHIRException("Unknown CompositionStatus code '"+codeString+"'");
3744        }
3745    public String toCode(CompositionStatus code) {
3746       if (code == CompositionStatus.NULL)
3747           return null;
3748       if (code == CompositionStatus.REGISTERED)
3749        return "registered";
3750      if (code == CompositionStatus.PARTIAL)
3751        return "partial";
3752      if (code == CompositionStatus.PRELIMINARY)
3753        return "preliminary";
3754      if (code == CompositionStatus.FINAL)
3755        return "final";
3756      if (code == CompositionStatus.AMENDED)
3757        return "amended";
3758      if (code == CompositionStatus.CORRECTED)
3759        return "corrected";
3760      if (code == CompositionStatus.APPENDED)
3761        return "appended";
3762      if (code == CompositionStatus.CANCELLED)
3763        return "cancelled";
3764      if (code == CompositionStatus.ENTEREDINERROR)
3765        return "entered-in-error";
3766      if (code == CompositionStatus.DEPRECATED)
3767        return "deprecated";
3768      if (code == CompositionStatus.UNKNOWN)
3769        return "unknown";
3770      return "?";
3771   }
3772    public String toSystem(CompositionStatus code) {
3773      return code.getSystem();
3774      }
3775    }
3776
3777    public enum ConceptMapRelationship {
3778        /**
3779         * The concepts are related to each other, but the exact relationship is not known.
3780         */
3781        RELATEDTO, 
3782        /**
3783         * The definitions of the concepts mean the same thing.
3784         */
3785        EQUIVALENT, 
3786        /**
3787         * The source concept is narrower in meaning than the target concept.
3788         */
3789        SOURCEISNARROWERTHANTARGET, 
3790        /**
3791         * The source concept is broader in meaning than the target concept.
3792         */
3793        SOURCEISBROADERTHANTARGET, 
3794        /**
3795         * This is an explicit assertion that the target concept is not related to the source concept.
3796         */
3797        NOTRELATEDTO, 
3798        /**
3799         * added to help the parsers
3800         */
3801        NULL;
3802        public static ConceptMapRelationship fromCode(String codeString) throws FHIRException {
3803            if (codeString == null || "".equals(codeString))
3804                return null;
3805        if ("related-to".equals(codeString))
3806          return RELATEDTO;
3807        if ("equivalent".equals(codeString))
3808          return EQUIVALENT;
3809        if ("source-is-narrower-than-target".equals(codeString))
3810          return SOURCEISNARROWERTHANTARGET;
3811        if ("source-is-broader-than-target".equals(codeString))
3812          return SOURCEISBROADERTHANTARGET;
3813        if ("not-related-to".equals(codeString))
3814          return NOTRELATEDTO;
3815        throw new FHIRException("Unknown ConceptMapRelationship code '"+codeString+"'");
3816        }
3817        public static boolean isValidCode(String codeString) {
3818            if (codeString == null || "".equals(codeString))
3819                return false;
3820          return Utilities.existsInList(codeString, "related-to", "equivalent", "source-is-narrower-than-target", "source-is-broader-than-target", "not-related-to");
3821        }
3822        public String toCode() {
3823          switch (this) {
3824            case RELATEDTO: return "related-to";
3825            case EQUIVALENT: return "equivalent";
3826            case SOURCEISNARROWERTHANTARGET: return "source-is-narrower-than-target";
3827            case SOURCEISBROADERTHANTARGET: return "source-is-broader-than-target";
3828            case NOTRELATEDTO: return "not-related-to";
3829            case NULL: return null;
3830            default: return "?";
3831          }
3832        }
3833        public String getSystem() {
3834          switch (this) {
3835            case RELATEDTO: return "http://hl7.org/fhir/concept-map-relationship";
3836            case EQUIVALENT: return "http://hl7.org/fhir/concept-map-relationship";
3837            case SOURCEISNARROWERTHANTARGET: return "http://hl7.org/fhir/concept-map-relationship";
3838            case SOURCEISBROADERTHANTARGET: return "http://hl7.org/fhir/concept-map-relationship";
3839            case NOTRELATEDTO: return "http://hl7.org/fhir/concept-map-relationship";
3840            case NULL: return null;
3841            default: return "?";
3842          }
3843        }
3844        public String getDefinition() {
3845          switch (this) {
3846            case RELATEDTO: return "The concepts are related to each other, but the exact relationship is not known.";
3847            case EQUIVALENT: return "The definitions of the concepts mean the same thing.";
3848            case SOURCEISNARROWERTHANTARGET: return "The source concept is narrower in meaning than the target concept.";
3849            case SOURCEISBROADERTHANTARGET: return "The source concept is broader in meaning than the target concept.";
3850            case NOTRELATEDTO: return "This is an explicit assertion that the target concept is not related to the source concept.";
3851            case NULL: return null;
3852            default: return "?";
3853          }
3854        }
3855        public String getDisplay() {
3856          switch (this) {
3857            case RELATEDTO: return "Related To";
3858            case EQUIVALENT: return "Equivalent";
3859            case SOURCEISNARROWERTHANTARGET: return "Source Is Narrower Than Target";
3860            case SOURCEISBROADERTHANTARGET: return "Source Is Broader Than Target";
3861            case NOTRELATEDTO: return "Not Related To";
3862            case NULL: return null;
3863            default: return "?";
3864          }
3865        }
3866        public String getSymbol() {
3867          switch (this) {
3868          case RELATEDTO: return "-";
3869          case EQUIVALENT: return "=";
3870          case SOURCEISNARROWERTHANTARGET: return "<";
3871          case SOURCEISBROADERTHANTARGET: return ">";
3872          case NOTRELATEDTO: return "!=";
3873          case NULL: return null;
3874          default: return "?";
3875        }
3876        }
3877    }
3878
3879  public static class ConceptMapRelationshipEnumFactory implements EnumFactory<ConceptMapRelationship> {
3880    public ConceptMapRelationship fromCode(String codeString) throws IllegalArgumentException {
3881      if (codeString == null || "".equals(codeString))
3882            if (codeString == null || "".equals(codeString))
3883                return null;
3884        if ("related-to".equals(codeString))
3885          return ConceptMapRelationship.RELATEDTO;
3886        if ("equivalent".equals(codeString))
3887          return ConceptMapRelationship.EQUIVALENT;
3888        if ("source-is-narrower-than-target".equals(codeString))
3889          return ConceptMapRelationship.SOURCEISNARROWERTHANTARGET;
3890        if ("source-is-broader-than-target".equals(codeString))
3891          return ConceptMapRelationship.SOURCEISBROADERTHANTARGET;
3892        if ("not-related-to".equals(codeString))
3893          return ConceptMapRelationship.NOTRELATEDTO;
3894        throw new IllegalArgumentException("Unknown ConceptMapRelationship code '"+codeString+"'");
3895        }
3896
3897        public Enumeration<ConceptMapRelationship> fromType(PrimitiveType<?> code) throws FHIRException {
3898          if (code == null)
3899            return null;
3900          if (code.isEmpty())
3901            return new Enumeration<ConceptMapRelationship>(this, ConceptMapRelationship.NULL, code);
3902          String codeString = ((PrimitiveType) code).asStringValue();
3903          if (codeString == null || "".equals(codeString))
3904            return new Enumeration<ConceptMapRelationship>(this, ConceptMapRelationship.NULL, code);
3905        if ("related-to".equals(codeString))
3906          return new Enumeration<ConceptMapRelationship>(this, ConceptMapRelationship.RELATEDTO, code);
3907        if ("equivalent".equals(codeString))
3908          return new Enumeration<ConceptMapRelationship>(this, ConceptMapRelationship.EQUIVALENT, code);
3909        if ("source-is-narrower-than-target".equals(codeString))
3910          return new Enumeration<ConceptMapRelationship>(this, ConceptMapRelationship.SOURCEISNARROWERTHANTARGET, code);
3911        if ("source-is-broader-than-target".equals(codeString))
3912          return new Enumeration<ConceptMapRelationship>(this, ConceptMapRelationship.SOURCEISBROADERTHANTARGET, code);
3913        if ("not-related-to".equals(codeString))
3914          return new Enumeration<ConceptMapRelationship>(this, ConceptMapRelationship.NOTRELATEDTO, code);
3915        throw new FHIRException("Unknown ConceptMapRelationship code '"+codeString+"'");
3916        }
3917    public String toCode(ConceptMapRelationship code) {
3918       if (code == ConceptMapRelationship.NULL)
3919           return null;
3920       if (code == ConceptMapRelationship.RELATEDTO)
3921        return "related-to";
3922      if (code == ConceptMapRelationship.EQUIVALENT)
3923        return "equivalent";
3924      if (code == ConceptMapRelationship.SOURCEISNARROWERTHANTARGET)
3925        return "source-is-narrower-than-target";
3926      if (code == ConceptMapRelationship.SOURCEISBROADERTHANTARGET)
3927        return "source-is-broader-than-target";
3928      if (code == ConceptMapRelationship.NOTRELATEDTO)
3929        return "not-related-to";
3930      return "?";
3931   }
3932    public String toSystem(ConceptMapRelationship code) {
3933      return code.getSystem();
3934      }
3935    }
3936
3937    public enum ConsentDataMeaning {
3938        /**
3939         * The consent applies directly to the instance of the resource.
3940         */
3941        INSTANCE, 
3942        /**
3943         * The consent applies directly to the instance of the resource and instances it refers to.
3944         */
3945        RELATED, 
3946        /**
3947         * The consent applies directly to the instance of the resource and instances that refer to it.
3948         */
3949        DEPENDENTS, 
3950        /**
3951         * The consent applies to instances of resources that are authored by.
3952         */
3953        AUTHOREDBY, 
3954        /**
3955         * added to help the parsers
3956         */
3957        NULL;
3958        public static ConsentDataMeaning fromCode(String codeString) throws FHIRException {
3959            if (codeString == null || "".equals(codeString))
3960                return null;
3961        if ("instance".equals(codeString))
3962          return INSTANCE;
3963        if ("related".equals(codeString))
3964          return RELATED;
3965        if ("dependents".equals(codeString))
3966          return DEPENDENTS;
3967        if ("authoredby".equals(codeString))
3968          return AUTHOREDBY;
3969        throw new FHIRException("Unknown ConsentDataMeaning code '"+codeString+"'");
3970        }
3971        public static boolean isValidCode(String codeString) {
3972            if (codeString == null || "".equals(codeString))
3973                return false;
3974          return Utilities.existsInList(codeString, "instance", "related", "dependents", "authoredby");
3975        }
3976        public String toCode() {
3977          switch (this) {
3978            case INSTANCE: return "instance";
3979            case RELATED: return "related";
3980            case DEPENDENTS: return "dependents";
3981            case AUTHOREDBY: return "authoredby";
3982            case NULL: return null;
3983            default: return "?";
3984          }
3985        }
3986        public String getSystem() {
3987          switch (this) {
3988            case INSTANCE: return "http://hl7.org/fhir/consent-data-meaning";
3989            case RELATED: return "http://hl7.org/fhir/consent-data-meaning";
3990            case DEPENDENTS: return "http://hl7.org/fhir/consent-data-meaning";
3991            case AUTHOREDBY: return "http://hl7.org/fhir/consent-data-meaning";
3992            case NULL: return null;
3993            default: return "?";
3994          }
3995        }
3996        public String getDefinition() {
3997          switch (this) {
3998            case INSTANCE: return "The consent applies directly to the instance of the resource.";
3999            case RELATED: return "The consent applies directly to the instance of the resource and instances it refers to.";
4000            case DEPENDENTS: return "The consent applies directly to the instance of the resource and instances that refer to it.";
4001            case AUTHOREDBY: return "The consent applies to instances of resources that are authored by.";
4002            case NULL: return null;
4003            default: return "?";
4004          }
4005        }
4006        public String getDisplay() {
4007          switch (this) {
4008            case INSTANCE: return "Instance";
4009            case RELATED: return "Related";
4010            case DEPENDENTS: return "Dependents";
4011            case AUTHOREDBY: return "AuthoredBy";
4012            case NULL: return null;
4013            default: return "?";
4014          }
4015        }
4016    }
4017
4018  public static class ConsentDataMeaningEnumFactory implements EnumFactory<ConsentDataMeaning> {
4019    public ConsentDataMeaning fromCode(String codeString) throws IllegalArgumentException {
4020      if (codeString == null || "".equals(codeString))
4021            if (codeString == null || "".equals(codeString))
4022                return null;
4023        if ("instance".equals(codeString))
4024          return ConsentDataMeaning.INSTANCE;
4025        if ("related".equals(codeString))
4026          return ConsentDataMeaning.RELATED;
4027        if ("dependents".equals(codeString))
4028          return ConsentDataMeaning.DEPENDENTS;
4029        if ("authoredby".equals(codeString))
4030          return ConsentDataMeaning.AUTHOREDBY;
4031        throw new IllegalArgumentException("Unknown ConsentDataMeaning code '"+codeString+"'");
4032        }
4033
4034        public Enumeration<ConsentDataMeaning> fromType(PrimitiveType<?> code) throws FHIRException {
4035          if (code == null)
4036            return null;
4037          if (code.isEmpty())
4038            return new Enumeration<ConsentDataMeaning>(this, ConsentDataMeaning.NULL, code);
4039          String codeString = ((PrimitiveType) code).asStringValue();
4040          if (codeString == null || "".equals(codeString))
4041            return new Enumeration<ConsentDataMeaning>(this, ConsentDataMeaning.NULL, code);
4042        if ("instance".equals(codeString))
4043          return new Enumeration<ConsentDataMeaning>(this, ConsentDataMeaning.INSTANCE, code);
4044        if ("related".equals(codeString))
4045          return new Enumeration<ConsentDataMeaning>(this, ConsentDataMeaning.RELATED, code);
4046        if ("dependents".equals(codeString))
4047          return new Enumeration<ConsentDataMeaning>(this, ConsentDataMeaning.DEPENDENTS, code);
4048        if ("authoredby".equals(codeString))
4049          return new Enumeration<ConsentDataMeaning>(this, ConsentDataMeaning.AUTHOREDBY, code);
4050        throw new FHIRException("Unknown ConsentDataMeaning code '"+codeString+"'");
4051        }
4052    public String toCode(ConsentDataMeaning code) {
4053       if (code == ConsentDataMeaning.NULL)
4054           return null;
4055       if (code == ConsentDataMeaning.INSTANCE)
4056        return "instance";
4057      if (code == ConsentDataMeaning.RELATED)
4058        return "related";
4059      if (code == ConsentDataMeaning.DEPENDENTS)
4060        return "dependents";
4061      if (code == ConsentDataMeaning.AUTHOREDBY)
4062        return "authoredby";
4063      return "?";
4064   }
4065    public String toSystem(ConsentDataMeaning code) {
4066      return code.getSystem();
4067      }
4068    }
4069
4070    public enum ConsentProvisionType {
4071        /**
4072         * Consent is denied for actions meeting these rules.
4073         */
4074        DENY, 
4075        /**
4076         * Consent is provided for actions meeting these rules.
4077         */
4078        PERMIT, 
4079        /**
4080         * added to help the parsers
4081         */
4082        NULL;
4083        public static ConsentProvisionType fromCode(String codeString) throws FHIRException {
4084            if (codeString == null || "".equals(codeString))
4085                return null;
4086        if ("deny".equals(codeString))
4087          return DENY;
4088        if ("permit".equals(codeString))
4089          return PERMIT;
4090        throw new FHIRException("Unknown ConsentProvisionType code '"+codeString+"'");
4091        }
4092        public static boolean isValidCode(String codeString) {
4093            if (codeString == null || "".equals(codeString))
4094                return false;
4095          return Utilities.existsInList(codeString, "deny", "permit");
4096        }
4097        public String toCode() {
4098          switch (this) {
4099            case DENY: return "deny";
4100            case PERMIT: return "permit";
4101            case NULL: return null;
4102            default: return "?";
4103          }
4104        }
4105        public String getSystem() {
4106          switch (this) {
4107            case DENY: return "http://hl7.org/fhir/consent-provision-type";
4108            case PERMIT: return "http://hl7.org/fhir/consent-provision-type";
4109            case NULL: return null;
4110            default: return "?";
4111          }
4112        }
4113        public String getDefinition() {
4114          switch (this) {
4115            case DENY: return "Consent is denied for actions meeting these rules.";
4116            case PERMIT: return "Consent is provided for actions meeting these rules.";
4117            case NULL: return null;
4118            default: return "?";
4119          }
4120        }
4121        public String getDisplay() {
4122          switch (this) {
4123            case DENY: return "Deny";
4124            case PERMIT: return "Permit";
4125            case NULL: return null;
4126            default: return "?";
4127          }
4128        }
4129    }
4130
4131  public static class ConsentProvisionTypeEnumFactory implements EnumFactory<ConsentProvisionType> {
4132    public ConsentProvisionType fromCode(String codeString) throws IllegalArgumentException {
4133      if (codeString == null || "".equals(codeString))
4134            if (codeString == null || "".equals(codeString))
4135                return null;
4136        if ("deny".equals(codeString))
4137          return ConsentProvisionType.DENY;
4138        if ("permit".equals(codeString))
4139          return ConsentProvisionType.PERMIT;
4140        throw new IllegalArgumentException("Unknown ConsentProvisionType code '"+codeString+"'");
4141        }
4142
4143        public Enumeration<ConsentProvisionType> fromType(PrimitiveType<?> code) throws FHIRException {
4144          if (code == null)
4145            return null;
4146          if (code.isEmpty())
4147            return new Enumeration<ConsentProvisionType>(this, ConsentProvisionType.NULL, code);
4148          String codeString = ((PrimitiveType) code).asStringValue();
4149          if (codeString == null || "".equals(codeString))
4150            return new Enumeration<ConsentProvisionType>(this, ConsentProvisionType.NULL, code);
4151        if ("deny".equals(codeString))
4152          return new Enumeration<ConsentProvisionType>(this, ConsentProvisionType.DENY, code);
4153        if ("permit".equals(codeString))
4154          return new Enumeration<ConsentProvisionType>(this, ConsentProvisionType.PERMIT, code);
4155        throw new FHIRException("Unknown ConsentProvisionType code '"+codeString+"'");
4156        }
4157    public String toCode(ConsentProvisionType code) {
4158       if (code == ConsentProvisionType.NULL)
4159           return null;
4160       if (code == ConsentProvisionType.DENY)
4161        return "deny";
4162      if (code == ConsentProvisionType.PERMIT)
4163        return "permit";
4164      return "?";
4165   }
4166    public String toSystem(ConsentProvisionType code) {
4167      return code.getSystem();
4168      }
4169    }
4170
4171    public enum Currencies {
4172        /**
4173         * null
4174         */
4175        AED, 
4176        /**
4177         * null
4178         */
4179        AFN, 
4180        /**
4181         * null
4182         */
4183        ALL, 
4184        /**
4185         * null
4186         */
4187        AMD, 
4188        /**
4189         * null
4190         */
4191        ANG, 
4192        /**
4193         * null
4194         */
4195        AOA, 
4196        /**
4197         * null
4198         */
4199        ARS, 
4200        /**
4201         * null
4202         */
4203        AUD, 
4204        /**
4205         * null
4206         */
4207        AWG, 
4208        /**
4209         * null
4210         */
4211        AZN, 
4212        /**
4213         * null
4214         */
4215        BAM, 
4216        /**
4217         * null
4218         */
4219        BBD, 
4220        /**
4221         * null
4222         */
4223        BDT, 
4224        /**
4225         * null
4226         */
4227        BGN, 
4228        /**
4229         * null
4230         */
4231        BHD, 
4232        /**
4233         * null
4234         */
4235        BIF, 
4236        /**
4237         * null
4238         */
4239        BMD, 
4240        /**
4241         * null
4242         */
4243        BND, 
4244        /**
4245         * null
4246         */
4247        BOB, 
4248        /**
4249         * null
4250         */
4251        BOV, 
4252        /**
4253         * null
4254         */
4255        BRL, 
4256        /**
4257         * null
4258         */
4259        BSD, 
4260        /**
4261         * null
4262         */
4263        BTN, 
4264        /**
4265         * null
4266         */
4267        BWP, 
4268        /**
4269         * null
4270         */
4271        BYN, 
4272        /**
4273         * null
4274         */
4275        BZD, 
4276        /**
4277         * null
4278         */
4279        CAD, 
4280        /**
4281         * null
4282         */
4283        CDF, 
4284        /**
4285         * null
4286         */
4287        CHE, 
4288        /**
4289         * null
4290         */
4291        CHF, 
4292        /**
4293         * null
4294         */
4295        CHW, 
4296        /**
4297         * null
4298         */
4299        CLF, 
4300        /**
4301         * null
4302         */
4303        CLP, 
4304        /**
4305         * null
4306         */
4307        CNY, 
4308        /**
4309         * null
4310         */
4311        COP, 
4312        /**
4313         * null
4314         */
4315        COU, 
4316        /**
4317         * null
4318         */
4319        CRC, 
4320        /**
4321         * null
4322         */
4323        CUC, 
4324        /**
4325         * null
4326         */
4327        CUP, 
4328        /**
4329         * null
4330         */
4331        CVE, 
4332        /**
4333         * null
4334         */
4335        CZK, 
4336        /**
4337         * null
4338         */
4339        DJF, 
4340        /**
4341         * null
4342         */
4343        DKK, 
4344        /**
4345         * null
4346         */
4347        DOP, 
4348        /**
4349         * null
4350         */
4351        DZD, 
4352        /**
4353         * null
4354         */
4355        EGP, 
4356        /**
4357         * null
4358         */
4359        ERN, 
4360        /**
4361         * null
4362         */
4363        ETB, 
4364        /**
4365         * null
4366         */
4367        EUR, 
4368        /**
4369         * null
4370         */
4371        FJD, 
4372        /**
4373         * null
4374         */
4375        FKP, 
4376        /**
4377         * null
4378         */
4379        GBP, 
4380        /**
4381         * null
4382         */
4383        GEL, 
4384        /**
4385         * null
4386         */
4387        GGP, 
4388        /**
4389         * null
4390         */
4391        GHS, 
4392        /**
4393         * null
4394         */
4395        GIP, 
4396        /**
4397         * null
4398         */
4399        GMD, 
4400        /**
4401         * null
4402         */
4403        GNF, 
4404        /**
4405         * null
4406         */
4407        GTQ, 
4408        /**
4409         * null
4410         */
4411        GYD, 
4412        /**
4413         * null
4414         */
4415        HKD, 
4416        /**
4417         * null
4418         */
4419        HNL, 
4420        /**
4421         * null
4422         */
4423        HRK, 
4424        /**
4425         * null
4426         */
4427        HTG, 
4428        /**
4429         * null
4430         */
4431        HUF, 
4432        /**
4433         * null
4434         */
4435        IDR, 
4436        /**
4437         * null
4438         */
4439        ILS, 
4440        /**
4441         * null
4442         */
4443        IMP, 
4444        /**
4445         * null
4446         */
4447        INR, 
4448        /**
4449         * null
4450         */
4451        IQD, 
4452        /**
4453         * null
4454         */
4455        IRR, 
4456        /**
4457         * null
4458         */
4459        ISK, 
4460        /**
4461         * null
4462         */
4463        JEP, 
4464        /**
4465         * null
4466         */
4467        JMD, 
4468        /**
4469         * null
4470         */
4471        JOD, 
4472        /**
4473         * null
4474         */
4475        JPY, 
4476        /**
4477         * null
4478         */
4479        KES, 
4480        /**
4481         * null
4482         */
4483        KGS, 
4484        /**
4485         * null
4486         */
4487        KHR, 
4488        /**
4489         * null
4490         */
4491        KMF, 
4492        /**
4493         * null
4494         */
4495        KPW, 
4496        /**
4497         * null
4498         */
4499        KRW, 
4500        /**
4501         * null
4502         */
4503        KWD, 
4504        /**
4505         * null
4506         */
4507        KYD, 
4508        /**
4509         * null
4510         */
4511        KZT, 
4512        /**
4513         * null
4514         */
4515        LAK, 
4516        /**
4517         * null
4518         */
4519        LBP, 
4520        /**
4521         * null
4522         */
4523        LKR, 
4524        /**
4525         * null
4526         */
4527        LRD, 
4528        /**
4529         * null
4530         */
4531        LSL, 
4532        /**
4533         * null
4534         */
4535        LYD, 
4536        /**
4537         * null
4538         */
4539        MAD, 
4540        /**
4541         * null
4542         */
4543        MDL, 
4544        /**
4545         * null
4546         */
4547        MGA, 
4548        /**
4549         * null
4550         */
4551        MKD, 
4552        /**
4553         * null
4554         */
4555        MMK, 
4556        /**
4557         * null
4558         */
4559        MNT, 
4560        /**
4561         * null
4562         */
4563        MOP, 
4564        /**
4565         * null
4566         */
4567        MRU, 
4568        /**
4569         * null
4570         */
4571        MUR, 
4572        /**
4573         * null
4574         */
4575        MVR, 
4576        /**
4577         * null
4578         */
4579        MWK, 
4580        /**
4581         * null
4582         */
4583        MXN, 
4584        /**
4585         * null
4586         */
4587        MXV, 
4588        /**
4589         * null
4590         */
4591        MYR, 
4592        /**
4593         * null
4594         */
4595        MZN, 
4596        /**
4597         * null
4598         */
4599        NAD, 
4600        /**
4601         * null
4602         */
4603        NGN, 
4604        /**
4605         * null
4606         */
4607        NIO, 
4608        /**
4609         * null
4610         */
4611        NOK, 
4612        /**
4613         * null
4614         */
4615        NPR, 
4616        /**
4617         * null
4618         */
4619        NZD, 
4620        /**
4621         * null
4622         */
4623        OMR, 
4624        /**
4625         * null
4626         */
4627        PAB, 
4628        /**
4629         * null
4630         */
4631        PEN, 
4632        /**
4633         * null
4634         */
4635        PGK, 
4636        /**
4637         * null
4638         */
4639        PHP, 
4640        /**
4641         * null
4642         */
4643        PKR, 
4644        /**
4645         * null
4646         */
4647        PLN, 
4648        /**
4649         * null
4650         */
4651        PYG, 
4652        /**
4653         * null
4654         */
4655        QAR, 
4656        /**
4657         * null
4658         */
4659        RON, 
4660        /**
4661         * null
4662         */
4663        RSD, 
4664        /**
4665         * null
4666         */
4667        RUB, 
4668        /**
4669         * null
4670         */
4671        RWF, 
4672        /**
4673         * null
4674         */
4675        SAR, 
4676        /**
4677         * null
4678         */
4679        SBD, 
4680        /**
4681         * null
4682         */
4683        SCR, 
4684        /**
4685         * null
4686         */
4687        SDG, 
4688        /**
4689         * null
4690         */
4691        SEK, 
4692        /**
4693         * null
4694         */
4695        SGD, 
4696        /**
4697         * null
4698         */
4699        SHP, 
4700        /**
4701         * null
4702         */
4703        SLL, 
4704        /**
4705         * null
4706         */
4707        SOS, 
4708        /**
4709         * null
4710         */
4711        SRD, 
4712        /**
4713         * null
4714         */
4715        SSP, 
4716        /**
4717         * null
4718         */
4719        STN, 
4720        /**
4721         * null
4722         */
4723        SVC, 
4724        /**
4725         * null
4726         */
4727        SYP, 
4728        /**
4729         * null
4730         */
4731        SZL, 
4732        /**
4733         * null
4734         */
4735        THB, 
4736        /**
4737         * null
4738         */
4739        TJS, 
4740        /**
4741         * null
4742         */
4743        TMT, 
4744        /**
4745         * null
4746         */
4747        TND, 
4748        /**
4749         * null
4750         */
4751        TOP, 
4752        /**
4753         * null
4754         */
4755        TRY, 
4756        /**
4757         * null
4758         */
4759        TTD, 
4760        /**
4761         * null
4762         */
4763        TVD, 
4764        /**
4765         * null
4766         */
4767        TWD, 
4768        /**
4769         * null
4770         */
4771        TZS, 
4772        /**
4773         * null
4774         */
4775        UAH, 
4776        /**
4777         * null
4778         */
4779        UGX, 
4780        /**
4781         * null
4782         */
4783        USD, 
4784        /**
4785         * null
4786         */
4787        USN, 
4788        /**
4789         * null
4790         */
4791        UYI, 
4792        /**
4793         * null
4794         */
4795        UYU, 
4796        /**
4797         * null
4798         */
4799        UZS, 
4800        /**
4801         * null
4802         */
4803        VEF, 
4804        /**
4805         * null
4806         */
4807        VND, 
4808        /**
4809         * null
4810         */
4811        VUV, 
4812        /**
4813         * null
4814         */
4815        WST, 
4816        /**
4817         * null
4818         */
4819        XAF, 
4820        /**
4821         * null
4822         */
4823        XAG, 
4824        /**
4825         * null
4826         */
4827        XAU, 
4828        /**
4829         * null
4830         */
4831        XBA, 
4832        /**
4833         * null
4834         */
4835        XBB, 
4836        /**
4837         * null
4838         */
4839        XBC, 
4840        /**
4841         * null
4842         */
4843        XBD, 
4844        /**
4845         * null
4846         */
4847        XCD, 
4848        /**
4849         * null
4850         */
4851        XDR, 
4852        /**
4853         * null
4854         */
4855        XOF, 
4856        /**
4857         * null
4858         */
4859        XPD, 
4860        /**
4861         * null
4862         */
4863        XPF, 
4864        /**
4865         * null
4866         */
4867        XPT, 
4868        /**
4869         * null
4870         */
4871        XSU, 
4872        /**
4873         * null
4874         */
4875        XTS, 
4876        /**
4877         * null
4878         */
4879        XUA, 
4880        /**
4881         * null
4882         */
4883        XXX, 
4884        /**
4885         * null
4886         */
4887        YER, 
4888        /**
4889         * null
4890         */
4891        ZAR, 
4892        /**
4893         * null
4894         */
4895        ZMW, 
4896        /**
4897         * null
4898         */
4899        ZWL, 
4900        /**
4901         * added to help the parsers
4902         */
4903        NULL;
4904        public static Currencies fromCode(String codeString) throws FHIRException {
4905            if (codeString == null || "".equals(codeString))
4906                return null;
4907        if ("AED".equals(codeString))
4908          return AED;
4909        if ("AFN".equals(codeString))
4910          return AFN;
4911        if ("ALL".equals(codeString))
4912          return ALL;
4913        if ("AMD".equals(codeString))
4914          return AMD;
4915        if ("ANG".equals(codeString))
4916          return ANG;
4917        if ("AOA".equals(codeString))
4918          return AOA;
4919        if ("ARS".equals(codeString))
4920          return ARS;
4921        if ("AUD".equals(codeString))
4922          return AUD;
4923        if ("AWG".equals(codeString))
4924          return AWG;
4925        if ("AZN".equals(codeString))
4926          return AZN;
4927        if ("BAM".equals(codeString))
4928          return BAM;
4929        if ("BBD".equals(codeString))
4930          return BBD;
4931        if ("BDT".equals(codeString))
4932          return BDT;
4933        if ("BGN".equals(codeString))
4934          return BGN;
4935        if ("BHD".equals(codeString))
4936          return BHD;
4937        if ("BIF".equals(codeString))
4938          return BIF;
4939        if ("BMD".equals(codeString))
4940          return BMD;
4941        if ("BND".equals(codeString))
4942          return BND;
4943        if ("BOB".equals(codeString))
4944          return BOB;
4945        if ("BOV".equals(codeString))
4946          return BOV;
4947        if ("BRL".equals(codeString))
4948          return BRL;
4949        if ("BSD".equals(codeString))
4950          return BSD;
4951        if ("BTN".equals(codeString))
4952          return BTN;
4953        if ("BWP".equals(codeString))
4954          return BWP;
4955        if ("BYN".equals(codeString))
4956          return BYN;
4957        if ("BZD".equals(codeString))
4958          return BZD;
4959        if ("CAD".equals(codeString))
4960          return CAD;
4961        if ("CDF".equals(codeString))
4962          return CDF;
4963        if ("CHE".equals(codeString))
4964          return CHE;
4965        if ("CHF".equals(codeString))
4966          return CHF;
4967        if ("CHW".equals(codeString))
4968          return CHW;
4969        if ("CLF".equals(codeString))
4970          return CLF;
4971        if ("CLP".equals(codeString))
4972          return CLP;
4973        if ("CNY".equals(codeString))
4974          return CNY;
4975        if ("COP".equals(codeString))
4976          return COP;
4977        if ("COU".equals(codeString))
4978          return COU;
4979        if ("CRC".equals(codeString))
4980          return CRC;
4981        if ("CUC".equals(codeString))
4982          return CUC;
4983        if ("CUP".equals(codeString))
4984          return CUP;
4985        if ("CVE".equals(codeString))
4986          return CVE;
4987        if ("CZK".equals(codeString))
4988          return CZK;
4989        if ("DJF".equals(codeString))
4990          return DJF;
4991        if ("DKK".equals(codeString))
4992          return DKK;
4993        if ("DOP".equals(codeString))
4994          return DOP;
4995        if ("DZD".equals(codeString))
4996          return DZD;
4997        if ("EGP".equals(codeString))
4998          return EGP;
4999        if ("ERN".equals(codeString))
5000          return ERN;
5001        if ("ETB".equals(codeString))
5002          return ETB;
5003        if ("EUR".equals(codeString))
5004          return EUR;
5005        if ("FJD".equals(codeString))
5006          return FJD;
5007        if ("FKP".equals(codeString))
5008          return FKP;
5009        if ("GBP".equals(codeString))
5010          return GBP;
5011        if ("GEL".equals(codeString))
5012          return GEL;
5013        if ("GGP".equals(codeString))
5014          return GGP;
5015        if ("GHS".equals(codeString))
5016          return GHS;
5017        if ("GIP".equals(codeString))
5018          return GIP;
5019        if ("GMD".equals(codeString))
5020          return GMD;
5021        if ("GNF".equals(codeString))
5022          return GNF;
5023        if ("GTQ".equals(codeString))
5024          return GTQ;
5025        if ("GYD".equals(codeString))
5026          return GYD;
5027        if ("HKD".equals(codeString))
5028          return HKD;
5029        if ("HNL".equals(codeString))
5030          return HNL;
5031        if ("HRK".equals(codeString))
5032          return HRK;
5033        if ("HTG".equals(codeString))
5034          return HTG;
5035        if ("HUF".equals(codeString))
5036          return HUF;
5037        if ("IDR".equals(codeString))
5038          return IDR;
5039        if ("ILS".equals(codeString))
5040          return ILS;
5041        if ("IMP".equals(codeString))
5042          return IMP;
5043        if ("INR".equals(codeString))
5044          return INR;
5045        if ("IQD".equals(codeString))
5046          return IQD;
5047        if ("IRR".equals(codeString))
5048          return IRR;
5049        if ("ISK".equals(codeString))
5050          return ISK;
5051        if ("JEP".equals(codeString))
5052          return JEP;
5053        if ("JMD".equals(codeString))
5054          return JMD;
5055        if ("JOD".equals(codeString))
5056          return JOD;
5057        if ("JPY".equals(codeString))
5058          return JPY;
5059        if ("KES".equals(codeString))
5060          return KES;
5061        if ("KGS".equals(codeString))
5062          return KGS;
5063        if ("KHR".equals(codeString))
5064          return KHR;
5065        if ("KMF".equals(codeString))
5066          return KMF;
5067        if ("KPW".equals(codeString))
5068          return KPW;
5069        if ("KRW".equals(codeString))
5070          return KRW;
5071        if ("KWD".equals(codeString))
5072          return KWD;
5073        if ("KYD".equals(codeString))
5074          return KYD;
5075        if ("KZT".equals(codeString))
5076          return KZT;
5077        if ("LAK".equals(codeString))
5078          return LAK;
5079        if ("LBP".equals(codeString))
5080          return LBP;
5081        if ("LKR".equals(codeString))
5082          return LKR;
5083        if ("LRD".equals(codeString))
5084          return LRD;
5085        if ("LSL".equals(codeString))
5086          return LSL;
5087        if ("LYD".equals(codeString))
5088          return LYD;
5089        if ("MAD".equals(codeString))
5090          return MAD;
5091        if ("MDL".equals(codeString))
5092          return MDL;
5093        if ("MGA".equals(codeString))
5094          return MGA;
5095        if ("MKD".equals(codeString))
5096          return MKD;
5097        if ("MMK".equals(codeString))
5098          return MMK;
5099        if ("MNT".equals(codeString))
5100          return MNT;
5101        if ("MOP".equals(codeString))
5102          return MOP;
5103        if ("MRU".equals(codeString))
5104          return MRU;
5105        if ("MUR".equals(codeString))
5106          return MUR;
5107        if ("MVR".equals(codeString))
5108          return MVR;
5109        if ("MWK".equals(codeString))
5110          return MWK;
5111        if ("MXN".equals(codeString))
5112          return MXN;
5113        if ("MXV".equals(codeString))
5114          return MXV;
5115        if ("MYR".equals(codeString))
5116          return MYR;
5117        if ("MZN".equals(codeString))
5118          return MZN;
5119        if ("NAD".equals(codeString))
5120          return NAD;
5121        if ("NGN".equals(codeString))
5122          return NGN;
5123        if ("NIO".equals(codeString))
5124          return NIO;
5125        if ("NOK".equals(codeString))
5126          return NOK;
5127        if ("NPR".equals(codeString))
5128          return NPR;
5129        if ("NZD".equals(codeString))
5130          return NZD;
5131        if ("OMR".equals(codeString))
5132          return OMR;
5133        if ("PAB".equals(codeString))
5134          return PAB;
5135        if ("PEN".equals(codeString))
5136          return PEN;
5137        if ("PGK".equals(codeString))
5138          return PGK;
5139        if ("PHP".equals(codeString))
5140          return PHP;
5141        if ("PKR".equals(codeString))
5142          return PKR;
5143        if ("PLN".equals(codeString))
5144          return PLN;
5145        if ("PYG".equals(codeString))
5146          return PYG;
5147        if ("QAR".equals(codeString))
5148          return QAR;
5149        if ("RON".equals(codeString))
5150          return RON;
5151        if ("RSD".equals(codeString))
5152          return RSD;
5153        if ("RUB".equals(codeString))
5154          return RUB;
5155        if ("RWF".equals(codeString))
5156          return RWF;
5157        if ("SAR".equals(codeString))
5158          return SAR;
5159        if ("SBD".equals(codeString))
5160          return SBD;
5161        if ("SCR".equals(codeString))
5162          return SCR;
5163        if ("SDG".equals(codeString))
5164          return SDG;
5165        if ("SEK".equals(codeString))
5166          return SEK;
5167        if ("SGD".equals(codeString))
5168          return SGD;
5169        if ("SHP".equals(codeString))
5170          return SHP;
5171        if ("SLL".equals(codeString))
5172          return SLL;
5173        if ("SOS".equals(codeString))
5174          return SOS;
5175        if ("SRD".equals(codeString))
5176          return SRD;
5177        if ("SSP".equals(codeString))
5178          return SSP;
5179        if ("STN".equals(codeString))
5180          return STN;
5181        if ("SVC".equals(codeString))
5182          return SVC;
5183        if ("SYP".equals(codeString))
5184          return SYP;
5185        if ("SZL".equals(codeString))
5186          return SZL;
5187        if ("THB".equals(codeString))
5188          return THB;
5189        if ("TJS".equals(codeString))
5190          return TJS;
5191        if ("TMT".equals(codeString))
5192          return TMT;
5193        if ("TND".equals(codeString))
5194          return TND;
5195        if ("TOP".equals(codeString))
5196          return TOP;
5197        if ("TRY".equals(codeString))
5198          return TRY;
5199        if ("TTD".equals(codeString))
5200          return TTD;
5201        if ("TVD".equals(codeString))
5202          return TVD;
5203        if ("TWD".equals(codeString))
5204          return TWD;
5205        if ("TZS".equals(codeString))
5206          return TZS;
5207        if ("UAH".equals(codeString))
5208          return UAH;
5209        if ("UGX".equals(codeString))
5210          return UGX;
5211        if ("USD".equals(codeString))
5212          return USD;
5213        if ("USN".equals(codeString))
5214          return USN;
5215        if ("UYI".equals(codeString))
5216          return UYI;
5217        if ("UYU".equals(codeString))
5218          return UYU;
5219        if ("UZS".equals(codeString))
5220          return UZS;
5221        if ("VEF".equals(codeString))
5222          return VEF;
5223        if ("VND".equals(codeString))
5224          return VND;
5225        if ("VUV".equals(codeString))
5226          return VUV;
5227        if ("WST".equals(codeString))
5228          return WST;
5229        if ("XAF".equals(codeString))
5230          return XAF;
5231        if ("XAG".equals(codeString))
5232          return XAG;
5233        if ("XAU".equals(codeString))
5234          return XAU;
5235        if ("XBA".equals(codeString))
5236          return XBA;
5237        if ("XBB".equals(codeString))
5238          return XBB;
5239        if ("XBC".equals(codeString))
5240          return XBC;
5241        if ("XBD".equals(codeString))
5242          return XBD;
5243        if ("XCD".equals(codeString))
5244          return XCD;
5245        if ("XDR".equals(codeString))
5246          return XDR;
5247        if ("XOF".equals(codeString))
5248          return XOF;
5249        if ("XPD".equals(codeString))
5250          return XPD;
5251        if ("XPF".equals(codeString))
5252          return XPF;
5253        if ("XPT".equals(codeString))
5254          return XPT;
5255        if ("XSU".equals(codeString))
5256          return XSU;
5257        if ("XTS".equals(codeString))
5258          return XTS;
5259        if ("XUA".equals(codeString))
5260          return XUA;
5261        if ("XXX".equals(codeString))
5262          return XXX;
5263        if ("YER".equals(codeString))
5264          return YER;
5265        if ("ZAR".equals(codeString))
5266          return ZAR;
5267        if ("ZMW".equals(codeString))
5268          return ZMW;
5269        if ("ZWL".equals(codeString))
5270          return ZWL;
5271        throw new FHIRException("Unknown Currencies code '"+codeString+"'");
5272        }
5273        public static boolean isValidCode(String codeString) {
5274            if (codeString == null || "".equals(codeString))
5275                return false;
5276          return Utilities.existsInList(codeString, "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BOV", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLF", "CLP", "CNY", "COP", "COU", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GGP", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MXV", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SSP", "STN", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "USN", "UYI", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XOF", "XPD", "XPF", "XPT", "XSU", "XTS", "XUA", "XXX", "YER", "ZAR", "ZMW", "ZWL");
5277        }
5278        public String toCode() {
5279          switch (this) {
5280            case AED: return "AED";
5281            case AFN: return "AFN";
5282            case ALL: return "ALL";
5283            case AMD: return "AMD";
5284            case ANG: return "ANG";
5285            case AOA: return "AOA";
5286            case ARS: return "ARS";
5287            case AUD: return "AUD";
5288            case AWG: return "AWG";
5289            case AZN: return "AZN";
5290            case BAM: return "BAM";
5291            case BBD: return "BBD";
5292            case BDT: return "BDT";
5293            case BGN: return "BGN";
5294            case BHD: return "BHD";
5295            case BIF: return "BIF";
5296            case BMD: return "BMD";
5297            case BND: return "BND";
5298            case BOB: return "BOB";
5299            case BOV: return "BOV";
5300            case BRL: return "BRL";
5301            case BSD: return "BSD";
5302            case BTN: return "BTN";
5303            case BWP: return "BWP";
5304            case BYN: return "BYN";
5305            case BZD: return "BZD";
5306            case CAD: return "CAD";
5307            case CDF: return "CDF";
5308            case CHE: return "CHE";
5309            case CHF: return "CHF";
5310            case CHW: return "CHW";
5311            case CLF: return "CLF";
5312            case CLP: return "CLP";
5313            case CNY: return "CNY";
5314            case COP: return "COP";
5315            case COU: return "COU";
5316            case CRC: return "CRC";
5317            case CUC: return "CUC";
5318            case CUP: return "CUP";
5319            case CVE: return "CVE";
5320            case CZK: return "CZK";
5321            case DJF: return "DJF";
5322            case DKK: return "DKK";
5323            case DOP: return "DOP";
5324            case DZD: return "DZD";
5325            case EGP: return "EGP";
5326            case ERN: return "ERN";
5327            case ETB: return "ETB";
5328            case EUR: return "EUR";
5329            case FJD: return "FJD";
5330            case FKP: return "FKP";
5331            case GBP: return "GBP";
5332            case GEL: return "GEL";
5333            case GGP: return "GGP";
5334            case GHS: return "GHS";
5335            case GIP: return "GIP";
5336            case GMD: return "GMD";
5337            case GNF: return "GNF";
5338            case GTQ: return "GTQ";
5339            case GYD: return "GYD";
5340            case HKD: return "HKD";
5341            case HNL: return "HNL";
5342            case HRK: return "HRK";
5343            case HTG: return "HTG";
5344            case HUF: return "HUF";
5345            case IDR: return "IDR";
5346            case ILS: return "ILS";
5347            case IMP: return "IMP";
5348            case INR: return "INR";
5349            case IQD: return "IQD";
5350            case IRR: return "IRR";
5351            case ISK: return "ISK";
5352            case JEP: return "JEP";
5353            case JMD: return "JMD";
5354            case JOD: return "JOD";
5355            case JPY: return "JPY";
5356            case KES: return "KES";
5357            case KGS: return "KGS";
5358            case KHR: return "KHR";
5359            case KMF: return "KMF";
5360            case KPW: return "KPW";
5361            case KRW: return "KRW";
5362            case KWD: return "KWD";
5363            case KYD: return "KYD";
5364            case KZT: return "KZT";
5365            case LAK: return "LAK";
5366            case LBP: return "LBP";
5367            case LKR: return "LKR";
5368            case LRD: return "LRD";
5369            case LSL: return "LSL";
5370            case LYD: return "LYD";
5371            case MAD: return "MAD";
5372            case MDL: return "MDL";
5373            case MGA: return "MGA";
5374            case MKD: return "MKD";
5375            case MMK: return "MMK";
5376            case MNT: return "MNT";
5377            case MOP: return "MOP";
5378            case MRU: return "MRU";
5379            case MUR: return "MUR";
5380            case MVR: return "MVR";
5381            case MWK: return "MWK";
5382            case MXN: return "MXN";
5383            case MXV: return "MXV";
5384            case MYR: return "MYR";
5385            case MZN: return "MZN";
5386            case NAD: return "NAD";
5387            case NGN: return "NGN";
5388            case NIO: return "NIO";
5389            case NOK: return "NOK";
5390            case NPR: return "NPR";
5391            case NZD: return "NZD";
5392            case OMR: return "OMR";
5393            case PAB: return "PAB";
5394            case PEN: return "PEN";
5395            case PGK: return "PGK";
5396            case PHP: return "PHP";
5397            case PKR: return "PKR";
5398            case PLN: return "PLN";
5399            case PYG: return "PYG";
5400            case QAR: return "QAR";
5401            case RON: return "RON";
5402            case RSD: return "RSD";
5403            case RUB: return "RUB";
5404            case RWF: return "RWF";
5405            case SAR: return "SAR";
5406            case SBD: return "SBD";
5407            case SCR: return "SCR";
5408            case SDG: return "SDG";
5409            case SEK: return "SEK";
5410            case SGD: return "SGD";
5411            case SHP: return "SHP";
5412            case SLL: return "SLL";
5413            case SOS: return "SOS";
5414            case SRD: return "SRD";
5415            case SSP: return "SSP";
5416            case STN: return "STN";
5417            case SVC: return "SVC";
5418            case SYP: return "SYP";
5419            case SZL: return "SZL";
5420            case THB: return "THB";
5421            case TJS: return "TJS";
5422            case TMT: return "TMT";
5423            case TND: return "TND";
5424            case TOP: return "TOP";
5425            case TRY: return "TRY";
5426            case TTD: return "TTD";
5427            case TVD: return "TVD";
5428            case TWD: return "TWD";
5429            case TZS: return "TZS";
5430            case UAH: return "UAH";
5431            case UGX: return "UGX";
5432            case USD: return "USD";
5433            case USN: return "USN";
5434            case UYI: return "UYI";
5435            case UYU: return "UYU";
5436            case UZS: return "UZS";
5437            case VEF: return "VEF";
5438            case VND: return "VND";
5439            case VUV: return "VUV";
5440            case WST: return "WST";
5441            case XAF: return "XAF";
5442            case XAG: return "XAG";
5443            case XAU: return "XAU";
5444            case XBA: return "XBA";
5445            case XBB: return "XBB";
5446            case XBC: return "XBC";
5447            case XBD: return "XBD";
5448            case XCD: return "XCD";
5449            case XDR: return "XDR";
5450            case XOF: return "XOF";
5451            case XPD: return "XPD";
5452            case XPF: return "XPF";
5453            case XPT: return "XPT";
5454            case XSU: return "XSU";
5455            case XTS: return "XTS";
5456            case XUA: return "XUA";
5457            case XXX: return "XXX";
5458            case YER: return "YER";
5459            case ZAR: return "ZAR";
5460            case ZMW: return "ZMW";
5461            case ZWL: return "ZWL";
5462            case NULL: return null;
5463            default: return "?";
5464          }
5465        }
5466        public String getSystem() {
5467          switch (this) {
5468            case AED: return "urn:iso:std:iso:4217";
5469            case AFN: return "urn:iso:std:iso:4217";
5470            case ALL: return "urn:iso:std:iso:4217";
5471            case AMD: return "urn:iso:std:iso:4217";
5472            case ANG: return "urn:iso:std:iso:4217";
5473            case AOA: return "urn:iso:std:iso:4217";
5474            case ARS: return "urn:iso:std:iso:4217";
5475            case AUD: return "urn:iso:std:iso:4217";
5476            case AWG: return "urn:iso:std:iso:4217";
5477            case AZN: return "urn:iso:std:iso:4217";
5478            case BAM: return "urn:iso:std:iso:4217";
5479            case BBD: return "urn:iso:std:iso:4217";
5480            case BDT: return "urn:iso:std:iso:4217";
5481            case BGN: return "urn:iso:std:iso:4217";
5482            case BHD: return "urn:iso:std:iso:4217";
5483            case BIF: return "urn:iso:std:iso:4217";
5484            case BMD: return "urn:iso:std:iso:4217";
5485            case BND: return "urn:iso:std:iso:4217";
5486            case BOB: return "urn:iso:std:iso:4217";
5487            case BOV: return "urn:iso:std:iso:4217";
5488            case BRL: return "urn:iso:std:iso:4217";
5489            case BSD: return "urn:iso:std:iso:4217";
5490            case BTN: return "urn:iso:std:iso:4217";
5491            case BWP: return "urn:iso:std:iso:4217";
5492            case BYN: return "urn:iso:std:iso:4217";
5493            case BZD: return "urn:iso:std:iso:4217";
5494            case CAD: return "urn:iso:std:iso:4217";
5495            case CDF: return "urn:iso:std:iso:4217";
5496            case CHE: return "urn:iso:std:iso:4217";
5497            case CHF: return "urn:iso:std:iso:4217";
5498            case CHW: return "urn:iso:std:iso:4217";
5499            case CLF: return "urn:iso:std:iso:4217";
5500            case CLP: return "urn:iso:std:iso:4217";
5501            case CNY: return "urn:iso:std:iso:4217";
5502            case COP: return "urn:iso:std:iso:4217";
5503            case COU: return "urn:iso:std:iso:4217";
5504            case CRC: return "urn:iso:std:iso:4217";
5505            case CUC: return "urn:iso:std:iso:4217";
5506            case CUP: return "urn:iso:std:iso:4217";
5507            case CVE: return "urn:iso:std:iso:4217";
5508            case CZK: return "urn:iso:std:iso:4217";
5509            case DJF: return "urn:iso:std:iso:4217";
5510            case DKK: return "urn:iso:std:iso:4217";
5511            case DOP: return "urn:iso:std:iso:4217";
5512            case DZD: return "urn:iso:std:iso:4217";
5513            case EGP: return "urn:iso:std:iso:4217";
5514            case ERN: return "urn:iso:std:iso:4217";
5515            case ETB: return "urn:iso:std:iso:4217";
5516            case EUR: return "urn:iso:std:iso:4217";
5517            case FJD: return "urn:iso:std:iso:4217";
5518            case FKP: return "urn:iso:std:iso:4217";
5519            case GBP: return "urn:iso:std:iso:4217";
5520            case GEL: return "urn:iso:std:iso:4217";
5521            case GGP: return "urn:iso:std:iso:4217";
5522            case GHS: return "urn:iso:std:iso:4217";
5523            case GIP: return "urn:iso:std:iso:4217";
5524            case GMD: return "urn:iso:std:iso:4217";
5525            case GNF: return "urn:iso:std:iso:4217";
5526            case GTQ: return "urn:iso:std:iso:4217";
5527            case GYD: return "urn:iso:std:iso:4217";
5528            case HKD: return "urn:iso:std:iso:4217";
5529            case HNL: return "urn:iso:std:iso:4217";
5530            case HRK: return "urn:iso:std:iso:4217";
5531            case HTG: return "urn:iso:std:iso:4217";
5532            case HUF: return "urn:iso:std:iso:4217";
5533            case IDR: return "urn:iso:std:iso:4217";
5534            case ILS: return "urn:iso:std:iso:4217";
5535            case IMP: return "urn:iso:std:iso:4217";
5536            case INR: return "urn:iso:std:iso:4217";
5537            case IQD: return "urn:iso:std:iso:4217";
5538            case IRR: return "urn:iso:std:iso:4217";
5539            case ISK: return "urn:iso:std:iso:4217";
5540            case JEP: return "urn:iso:std:iso:4217";
5541            case JMD: return "urn:iso:std:iso:4217";
5542            case JOD: return "urn:iso:std:iso:4217";
5543            case JPY: return "urn:iso:std:iso:4217";
5544            case KES: return "urn:iso:std:iso:4217";
5545            case KGS: return "urn:iso:std:iso:4217";
5546            case KHR: return "urn:iso:std:iso:4217";
5547            case KMF: return "urn:iso:std:iso:4217";
5548            case KPW: return "urn:iso:std:iso:4217";
5549            case KRW: return "urn:iso:std:iso:4217";
5550            case KWD: return "urn:iso:std:iso:4217";
5551            case KYD: return "urn:iso:std:iso:4217";
5552            case KZT: return "urn:iso:std:iso:4217";
5553            case LAK: return "urn:iso:std:iso:4217";
5554            case LBP: return "urn:iso:std:iso:4217";
5555            case LKR: return "urn:iso:std:iso:4217";
5556            case LRD: return "urn:iso:std:iso:4217";
5557            case LSL: return "urn:iso:std:iso:4217";
5558            case LYD: return "urn:iso:std:iso:4217";
5559            case MAD: return "urn:iso:std:iso:4217";
5560            case MDL: return "urn:iso:std:iso:4217";
5561            case MGA: return "urn:iso:std:iso:4217";
5562            case MKD: return "urn:iso:std:iso:4217";
5563            case MMK: return "urn:iso:std:iso:4217";
5564            case MNT: return "urn:iso:std:iso:4217";
5565            case MOP: return "urn:iso:std:iso:4217";
5566            case MRU: return "urn:iso:std:iso:4217";
5567            case MUR: return "urn:iso:std:iso:4217";
5568            case MVR: return "urn:iso:std:iso:4217";
5569            case MWK: return "urn:iso:std:iso:4217";
5570            case MXN: return "urn:iso:std:iso:4217";
5571            case MXV: return "urn:iso:std:iso:4217";
5572            case MYR: return "urn:iso:std:iso:4217";
5573            case MZN: return "urn:iso:std:iso:4217";
5574            case NAD: return "urn:iso:std:iso:4217";
5575            case NGN: return "urn:iso:std:iso:4217";
5576            case NIO: return "urn:iso:std:iso:4217";
5577            case NOK: return "urn:iso:std:iso:4217";
5578            case NPR: return "urn:iso:std:iso:4217";
5579            case NZD: return "urn:iso:std:iso:4217";
5580            case OMR: return "urn:iso:std:iso:4217";
5581            case PAB: return "urn:iso:std:iso:4217";
5582            case PEN: return "urn:iso:std:iso:4217";
5583            case PGK: return "urn:iso:std:iso:4217";
5584            case PHP: return "urn:iso:std:iso:4217";
5585            case PKR: return "urn:iso:std:iso:4217";
5586            case PLN: return "urn:iso:std:iso:4217";
5587            case PYG: return "urn:iso:std:iso:4217";
5588            case QAR: return "urn:iso:std:iso:4217";
5589            case RON: return "urn:iso:std:iso:4217";
5590            case RSD: return "urn:iso:std:iso:4217";
5591            case RUB: return "urn:iso:std:iso:4217";
5592            case RWF: return "urn:iso:std:iso:4217";
5593            case SAR: return "urn:iso:std:iso:4217";
5594            case SBD: return "urn:iso:std:iso:4217";
5595            case SCR: return "urn:iso:std:iso:4217";
5596            case SDG: return "urn:iso:std:iso:4217";
5597            case SEK: return "urn:iso:std:iso:4217";
5598            case SGD: return "urn:iso:std:iso:4217";
5599            case SHP: return "urn:iso:std:iso:4217";
5600            case SLL: return "urn:iso:std:iso:4217";
5601            case SOS: return "urn:iso:std:iso:4217";
5602            case SRD: return "urn:iso:std:iso:4217";
5603            case SSP: return "urn:iso:std:iso:4217";
5604            case STN: return "urn:iso:std:iso:4217";
5605            case SVC: return "urn:iso:std:iso:4217";
5606            case SYP: return "urn:iso:std:iso:4217";
5607            case SZL: return "urn:iso:std:iso:4217";
5608            case THB: return "urn:iso:std:iso:4217";
5609            case TJS: return "urn:iso:std:iso:4217";
5610            case TMT: return "urn:iso:std:iso:4217";
5611            case TND: return "urn:iso:std:iso:4217";
5612            case TOP: return "urn:iso:std:iso:4217";
5613            case TRY: return "urn:iso:std:iso:4217";
5614            case TTD: return "urn:iso:std:iso:4217";
5615            case TVD: return "urn:iso:std:iso:4217";
5616            case TWD: return "urn:iso:std:iso:4217";
5617            case TZS: return "urn:iso:std:iso:4217";
5618            case UAH: return "urn:iso:std:iso:4217";
5619            case UGX: return "urn:iso:std:iso:4217";
5620            case USD: return "urn:iso:std:iso:4217";
5621            case USN: return "urn:iso:std:iso:4217";
5622            case UYI: return "urn:iso:std:iso:4217";
5623            case UYU: return "urn:iso:std:iso:4217";
5624            case UZS: return "urn:iso:std:iso:4217";
5625            case VEF: return "urn:iso:std:iso:4217";
5626            case VND: return "urn:iso:std:iso:4217";
5627            case VUV: return "urn:iso:std:iso:4217";
5628            case WST: return "urn:iso:std:iso:4217";
5629            case XAF: return "urn:iso:std:iso:4217";
5630            case XAG: return "urn:iso:std:iso:4217";
5631            case XAU: return "urn:iso:std:iso:4217";
5632            case XBA: return "urn:iso:std:iso:4217";
5633            case XBB: return "urn:iso:std:iso:4217";
5634            case XBC: return "urn:iso:std:iso:4217";
5635            case XBD: return "urn:iso:std:iso:4217";
5636            case XCD: return "urn:iso:std:iso:4217";
5637            case XDR: return "urn:iso:std:iso:4217";
5638            case XOF: return "urn:iso:std:iso:4217";
5639            case XPD: return "urn:iso:std:iso:4217";
5640            case XPF: return "urn:iso:std:iso:4217";
5641            case XPT: return "urn:iso:std:iso:4217";
5642            case XSU: return "urn:iso:std:iso:4217";
5643            case XTS: return "urn:iso:std:iso:4217";
5644            case XUA: return "urn:iso:std:iso:4217";
5645            case XXX: return "urn:iso:std:iso:4217";
5646            case YER: return "urn:iso:std:iso:4217";
5647            case ZAR: return "urn:iso:std:iso:4217";
5648            case ZMW: return "urn:iso:std:iso:4217";
5649            case ZWL: return "urn:iso:std:iso:4217";
5650            case NULL: return null;
5651            default: return "?";
5652          }
5653        }
5654        public String getDefinition() {
5655          switch (this) {
5656            case AED: return "";
5657            case AFN: return "";
5658            case ALL: return "";
5659            case AMD: return "";
5660            case ANG: return "";
5661            case AOA: return "";
5662            case ARS: return "";
5663            case AUD: return "";
5664            case AWG: return "";
5665            case AZN: return "";
5666            case BAM: return "";
5667            case BBD: return "";
5668            case BDT: return "";
5669            case BGN: return "";
5670            case BHD: return "";
5671            case BIF: return "";
5672            case BMD: return "";
5673            case BND: return "";
5674            case BOB: return "";
5675            case BOV: return "";
5676            case BRL: return "";
5677            case BSD: return "";
5678            case BTN: return "";
5679            case BWP: return "";
5680            case BYN: return "";
5681            case BZD: return "";
5682            case CAD: return "";
5683            case CDF: return "";
5684            case CHE: return "";
5685            case CHF: return "";
5686            case CHW: return "";
5687            case CLF: return "";
5688            case CLP: return "";
5689            case CNY: return "";
5690            case COP: return "";
5691            case COU: return "";
5692            case CRC: return "";
5693            case CUC: return "";
5694            case CUP: return "";
5695            case CVE: return "";
5696            case CZK: return "";
5697            case DJF: return "";
5698            case DKK: return "";
5699            case DOP: return "";
5700            case DZD: return "";
5701            case EGP: return "";
5702            case ERN: return "";
5703            case ETB: return "";
5704            case EUR: return "";
5705            case FJD: return "";
5706            case FKP: return "";
5707            case GBP: return "";
5708            case GEL: return "";
5709            case GGP: return "";
5710            case GHS: return "";
5711            case GIP: return "";
5712            case GMD: return "";
5713            case GNF: return "";
5714            case GTQ: return "";
5715            case GYD: return "";
5716            case HKD: return "";
5717            case HNL: return "";
5718            case HRK: return "";
5719            case HTG: return "";
5720            case HUF: return "";
5721            case IDR: return "";
5722            case ILS: return "";
5723            case IMP: return "";
5724            case INR: return "";
5725            case IQD: return "";
5726            case IRR: return "";
5727            case ISK: return "";
5728            case JEP: return "";
5729            case JMD: return "";
5730            case JOD: return "";
5731            case JPY: return "";
5732            case KES: return "";
5733            case KGS: return "";
5734            case KHR: return "";
5735            case KMF: return "";
5736            case KPW: return "";
5737            case KRW: return "";
5738            case KWD: return "";
5739            case KYD: return "";
5740            case KZT: return "";
5741            case LAK: return "";
5742            case LBP: return "";
5743            case LKR: return "";
5744            case LRD: return "";
5745            case LSL: return "";
5746            case LYD: return "";
5747            case MAD: return "";
5748            case MDL: return "";
5749            case MGA: return "";
5750            case MKD: return "";
5751            case MMK: return "";
5752            case MNT: return "";
5753            case MOP: return "";
5754            case MRU: return "";
5755            case MUR: return "";
5756            case MVR: return "";
5757            case MWK: return "";
5758            case MXN: return "";
5759            case MXV: return "";
5760            case MYR: return "";
5761            case MZN: return "";
5762            case NAD: return "";
5763            case NGN: return "";
5764            case NIO: return "";
5765            case NOK: return "";
5766            case NPR: return "";
5767            case NZD: return "";
5768            case OMR: return "";
5769            case PAB: return "";
5770            case PEN: return "";
5771            case PGK: return "";
5772            case PHP: return "";
5773            case PKR: return "";
5774            case PLN: return "";
5775            case PYG: return "";
5776            case QAR: return "";
5777            case RON: return "";
5778            case RSD: return "";
5779            case RUB: return "";
5780            case RWF: return "";
5781            case SAR: return "";
5782            case SBD: return "";
5783            case SCR: return "";
5784            case SDG: return "";
5785            case SEK: return "";
5786            case SGD: return "";
5787            case SHP: return "";
5788            case SLL: return "";
5789            case SOS: return "";
5790            case SRD: return "";
5791            case SSP: return "";
5792            case STN: return "";
5793            case SVC: return "";
5794            case SYP: return "";
5795            case SZL: return "";
5796            case THB: return "";
5797            case TJS: return "";
5798            case TMT: return "";
5799            case TND: return "";
5800            case TOP: return "";
5801            case TRY: return "";
5802            case TTD: return "";
5803            case TVD: return "";
5804            case TWD: return "";
5805            case TZS: return "";
5806            case UAH: return "";
5807            case UGX: return "";
5808            case USD: return "";
5809            case USN: return "";
5810            case UYI: return "";
5811            case UYU: return "";
5812            case UZS: return "";
5813            case VEF: return "";
5814            case VND: return "";
5815            case VUV: return "";
5816            case WST: return "";
5817            case XAF: return "";
5818            case XAG: return "";
5819            case XAU: return "";
5820            case XBA: return "";
5821            case XBB: return "";
5822            case XBC: return "";
5823            case XBD: return "";
5824            case XCD: return "";
5825            case XDR: return "";
5826            case XOF: return "";
5827            case XPD: return "";
5828            case XPF: return "";
5829            case XPT: return "";
5830            case XSU: return "";
5831            case XTS: return "";
5832            case XUA: return "";
5833            case XXX: return "";
5834            case YER: return "";
5835            case ZAR: return "";
5836            case ZMW: return "";
5837            case ZWL: return "";
5838            case NULL: return null;
5839            default: return "?";
5840          }
5841        }
5842        public String getDisplay() {
5843          switch (this) {
5844            case AED: return "United Arab Emirates dirham";
5845            case AFN: return "Afghan afghani";
5846            case ALL: return "Albanian lek";
5847            case AMD: return "Armenian dram";
5848            case ANG: return "Netherlands Antillean guilder";
5849            case AOA: return "Angolan kwanza";
5850            case ARS: return "Argentine peso";
5851            case AUD: return "Australian dollar";
5852            case AWG: return "Aruban florin";
5853            case AZN: return "Azerbaijani manat";
5854            case BAM: return "Bosnia and Herzegovina convertible mark";
5855            case BBD: return "Barbados dollar";
5856            case BDT: return "Bangladeshi taka";
5857            case BGN: return "Bulgarian lev";
5858            case BHD: return "Bahraini dinar";
5859            case BIF: return "Burundian franc";
5860            case BMD: return "Bermudian dollar";
5861            case BND: return "Brunei dollar";
5862            case BOB: return "Boliviano";
5863            case BOV: return "Bolivian Mvdol (funds code)";
5864            case BRL: return "Brazilian real";
5865            case BSD: return "Bahamian dollar";
5866            case BTN: return "Bhutanese ngultrum";
5867            case BWP: return "Botswana pula";
5868            case BYN: return "Belarusian ruble";
5869            case BZD: return "Belize dollar";
5870            case CAD: return "Canadian dollar";
5871            case CDF: return "Congolese franc";
5872            case CHE: return "WIR Euro (complementary currency)";
5873            case CHF: return "Swiss franc";
5874            case CHW: return "WIR Franc (complementary currency)";
5875            case CLF: return "Unidad de Fomento (funds code)";
5876            case CLP: return "Chilean peso";
5877            case CNY: return "Renminbi (Chinese) yuan[8]";
5878            case COP: return "Colombian peso";
5879            case COU: return "Unidad de Valor Real (UVR) (funds code)[9]";
5880            case CRC: return "Costa Rican colon";
5881            case CUC: return "Cuban convertible peso";
5882            case CUP: return "Cuban peso";
5883            case CVE: return "Cape Verde escudo";
5884            case CZK: return "Czech koruna";
5885            case DJF: return "Djiboutian franc";
5886            case DKK: return "Danish krone";
5887            case DOP: return "Dominican peso";
5888            case DZD: return "Algerian dinar";
5889            case EGP: return "Egyptian pound";
5890            case ERN: return "Eritrean nakfa";
5891            case ETB: return "Ethiopian birr";
5892            case EUR: return "Euro";
5893            case FJD: return "Fiji dollar";
5894            case FKP: return "Falkland Islands pound";
5895            case GBP: return "Pound sterling";
5896            case GEL: return "Georgian lari";
5897            case GGP: return "Guernsey Pound";
5898            case GHS: return "Ghanaian cedi";
5899            case GIP: return "Gibraltar pound";
5900            case GMD: return "Gambian dalasi";
5901            case GNF: return "Guinean franc";
5902            case GTQ: return "Guatemalan quetzal";
5903            case GYD: return "Guyanese dollar";
5904            case HKD: return "Hong Kong dollar";
5905            case HNL: return "Honduran lempira";
5906            case HRK: return "Croatian kuna";
5907            case HTG: return "Haitian gourde";
5908            case HUF: return "Hungarian forint";
5909            case IDR: return "Indonesian rupiah";
5910            case ILS: return "Israeli new shekel";
5911            case IMP: return "Isle of Man Pound";
5912            case INR: return "Indian rupee";
5913            case IQD: return "Iraqi dinar";
5914            case IRR: return "Iranian rial";
5915            case ISK: return "Icelandic króna";
5916            case JEP: return "Jersey Pound";
5917            case JMD: return "Jamaican dollar";
5918            case JOD: return "Jordanian dinar";
5919            case JPY: return "Japanese yen";
5920            case KES: return "Kenyan shilling";
5921            case KGS: return "Kyrgyzstani som";
5922            case KHR: return "Cambodian riel";
5923            case KMF: return "Comoro franc";
5924            case KPW: return "North Korean won";
5925            case KRW: return "South Korean won";
5926            case KWD: return "Kuwaiti dinar";
5927            case KYD: return "Cayman Islands dollar";
5928            case KZT: return "Kazakhstani tenge";
5929            case LAK: return "Lao kip";
5930            case LBP: return "Lebanese pound";
5931            case LKR: return "Sri Lankan rupee";
5932            case LRD: return "Liberian dollar";
5933            case LSL: return "Lesotho loti";
5934            case LYD: return "Libyan dinar";
5935            case MAD: return "Moroccan dirham";
5936            case MDL: return "Moldovan leu";
5937            case MGA: return "Malagasy ariary";
5938            case MKD: return "Macedonian denar";
5939            case MMK: return "Myanmar kyat";
5940            case MNT: return "Mongolian tögrög";
5941            case MOP: return "Macanese pataca";
5942            case MRU: return "Mauritanian ouguiya";
5943            case MUR: return "Mauritian rupee";
5944            case MVR: return "Maldivian rufiyaa";
5945            case MWK: return "Malawian kwacha";
5946            case MXN: return "Mexican peso";
5947            case MXV: return "Mexican Unidad de Inversion (UDI) (funds code)";
5948            case MYR: return "Malaysian ringgit";
5949            case MZN: return "Mozambican metical";
5950            case NAD: return "Namibian dollar";
5951            case NGN: return "Nigerian naira";
5952            case NIO: return "Nicaraguan córdoba";
5953            case NOK: return "Norwegian krone";
5954            case NPR: return "Nepalese rupee";
5955            case NZD: return "New Zealand dollar";
5956            case OMR: return "Omani rial";
5957            case PAB: return "Panamanian balboa";
5958            case PEN: return "Peruvian Sol";
5959            case PGK: return "Papua New Guinean kina";
5960            case PHP: return "Philippine piso[13]";
5961            case PKR: return "Pakistani rupee";
5962            case PLN: return "Polish z?oty";
5963            case PYG: return "Paraguayan guaraní";
5964            case QAR: return "Qatari riyal";
5965            case RON: return "Romanian leu";
5966            case RSD: return "Serbian dinar";
5967            case RUB: return "Russian ruble";
5968            case RWF: return "Rwandan franc";
5969            case SAR: return "Saudi riyal";
5970            case SBD: return "Solomon Islands dollar";
5971            case SCR: return "Seychelles rupee";
5972            case SDG: return "Sudanese pound";
5973            case SEK: return "Swedish krona/kronor";
5974            case SGD: return "Singapore dollar";
5975            case SHP: return "Saint Helena pound";
5976            case SLL: return "Sierra Leonean leone";
5977            case SOS: return "Somali shilling";
5978            case SRD: return "Surinamese dollar";
5979            case SSP: return "South Sudanese pound";
5980            case STN: return "São Tomé and Príncipe dobra";
5981            case SVC: return "Salvadoran colón";
5982            case SYP: return "Syrian pound";
5983            case SZL: return "Swazi lilangeni";
5984            case THB: return "Thai baht";
5985            case TJS: return "Tajikistani somoni";
5986            case TMT: return "Turkmenistan manat";
5987            case TND: return "Tunisian dinar";
5988            case TOP: return "Tongan pa?anga";
5989            case TRY: return "Turkish lira";
5990            case TTD: return "Trinidad and Tobago dollar";
5991            case TVD: return "Tuvalu Dollar";
5992            case TWD: return "New Taiwan dollar";
5993            case TZS: return "Tanzanian shilling";
5994            case UAH: return "Ukrainian hryvnia";
5995            case UGX: return "Ugandan shilling";
5996            case USD: return "United States dollar";
5997            case USN: return "United States dollar (next day) (funds code)";
5998            case UYI: return "Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code)";
5999            case UYU: return "Uruguayan peso";
6000            case UZS: return "Uzbekistan som";
6001            case VEF: return "Venezuelan bolívar";
6002            case VND: return "Vietnamese ??ng";
6003            case VUV: return "Vanuatu vatu";
6004            case WST: return "Samoan tala";
6005            case XAF: return "CFA franc BEAC";
6006            case XAG: return "Silver (one troy ounce)";
6007            case XAU: return "Gold (one troy ounce)";
6008            case XBA: return "European Composite Unit (EURCO) (bond market unit)";
6009            case XBB: return "European Monetary Unit (E.M.U.-6) (bond market unit)";
6010            case XBC: return "European Unit of Account 9 (E.U.A.-9) (bond market unit)";
6011            case XBD: return "European Unit of Account 17 (E.U.A.-17) (bond market unit)";
6012            case XCD: return "East Caribbean dollar";
6013            case XDR: return "Special drawing rights";
6014            case XOF: return "CFA franc BCEAO";
6015            case XPD: return "Palladium (one troy ounce)";
6016            case XPF: return "CFP franc (franc Pacifique)";
6017            case XPT: return "Platinum (one troy ounce)";
6018            case XSU: return "SUCRE";
6019            case XTS: return "Code reserved for testing purposes";
6020            case XUA: return "ADB Unit of Account";
6021            case XXX: return "No currency";
6022            case YER: return "Yemeni rial";
6023            case ZAR: return "South African rand";
6024            case ZMW: return "Zambian kwacha";
6025            case ZWL: return "Zimbabwean dollar A/10";
6026            case NULL: return null;
6027            default: return "?";
6028          }
6029        }
6030    }
6031
6032  public static class CurrenciesEnumFactory implements EnumFactory<Currencies> {
6033    public Currencies fromCode(String codeString) throws IllegalArgumentException {
6034      if (codeString == null || "".equals(codeString))
6035            if (codeString == null || "".equals(codeString))
6036                return null;
6037        if ("AED".equals(codeString))
6038          return Currencies.AED;
6039        if ("AFN".equals(codeString))
6040          return Currencies.AFN;
6041        if ("ALL".equals(codeString))
6042          return Currencies.ALL;
6043        if ("AMD".equals(codeString))
6044          return Currencies.AMD;
6045        if ("ANG".equals(codeString))
6046          return Currencies.ANG;
6047        if ("AOA".equals(codeString))
6048          return Currencies.AOA;
6049        if ("ARS".equals(codeString))
6050          return Currencies.ARS;
6051        if ("AUD".equals(codeString))
6052          return Currencies.AUD;
6053        if ("AWG".equals(codeString))
6054          return Currencies.AWG;
6055        if ("AZN".equals(codeString))
6056          return Currencies.AZN;
6057        if ("BAM".equals(codeString))
6058          return Currencies.BAM;
6059        if ("BBD".equals(codeString))
6060          return Currencies.BBD;
6061        if ("BDT".equals(codeString))
6062          return Currencies.BDT;
6063        if ("BGN".equals(codeString))
6064          return Currencies.BGN;
6065        if ("BHD".equals(codeString))
6066          return Currencies.BHD;
6067        if ("BIF".equals(codeString))
6068          return Currencies.BIF;
6069        if ("BMD".equals(codeString))
6070          return Currencies.BMD;
6071        if ("BND".equals(codeString))
6072          return Currencies.BND;
6073        if ("BOB".equals(codeString))
6074          return Currencies.BOB;
6075        if ("BOV".equals(codeString))
6076          return Currencies.BOV;
6077        if ("BRL".equals(codeString))
6078          return Currencies.BRL;
6079        if ("BSD".equals(codeString))
6080          return Currencies.BSD;
6081        if ("BTN".equals(codeString))
6082          return Currencies.BTN;
6083        if ("BWP".equals(codeString))
6084          return Currencies.BWP;
6085        if ("BYN".equals(codeString))
6086          return Currencies.BYN;
6087        if ("BZD".equals(codeString))
6088          return Currencies.BZD;
6089        if ("CAD".equals(codeString))
6090          return Currencies.CAD;
6091        if ("CDF".equals(codeString))
6092          return Currencies.CDF;
6093        if ("CHE".equals(codeString))
6094          return Currencies.CHE;
6095        if ("CHF".equals(codeString))
6096          return Currencies.CHF;
6097        if ("CHW".equals(codeString))
6098          return Currencies.CHW;
6099        if ("CLF".equals(codeString))
6100          return Currencies.CLF;
6101        if ("CLP".equals(codeString))
6102          return Currencies.CLP;
6103        if ("CNY".equals(codeString))
6104          return Currencies.CNY;
6105        if ("COP".equals(codeString))
6106          return Currencies.COP;
6107        if ("COU".equals(codeString))
6108          return Currencies.COU;
6109        if ("CRC".equals(codeString))
6110          return Currencies.CRC;
6111        if ("CUC".equals(codeString))
6112          return Currencies.CUC;
6113        if ("CUP".equals(codeString))
6114          return Currencies.CUP;
6115        if ("CVE".equals(codeString))
6116          return Currencies.CVE;
6117        if ("CZK".equals(codeString))
6118          return Currencies.CZK;
6119        if ("DJF".equals(codeString))
6120          return Currencies.DJF;
6121        if ("DKK".equals(codeString))
6122          return Currencies.DKK;
6123        if ("DOP".equals(codeString))
6124          return Currencies.DOP;
6125        if ("DZD".equals(codeString))
6126          return Currencies.DZD;
6127        if ("EGP".equals(codeString))
6128          return Currencies.EGP;
6129        if ("ERN".equals(codeString))
6130          return Currencies.ERN;
6131        if ("ETB".equals(codeString))
6132          return Currencies.ETB;
6133        if ("EUR".equals(codeString))
6134          return Currencies.EUR;
6135        if ("FJD".equals(codeString))
6136          return Currencies.FJD;
6137        if ("FKP".equals(codeString))
6138          return Currencies.FKP;
6139        if ("GBP".equals(codeString))
6140          return Currencies.GBP;
6141        if ("GEL".equals(codeString))
6142          return Currencies.GEL;
6143        if ("GGP".equals(codeString))
6144          return Currencies.GGP;
6145        if ("GHS".equals(codeString))
6146          return Currencies.GHS;
6147        if ("GIP".equals(codeString))
6148          return Currencies.GIP;
6149        if ("GMD".equals(codeString))
6150          return Currencies.GMD;
6151        if ("GNF".equals(codeString))
6152          return Currencies.GNF;
6153        if ("GTQ".equals(codeString))
6154          return Currencies.GTQ;
6155        if ("GYD".equals(codeString))
6156          return Currencies.GYD;
6157        if ("HKD".equals(codeString))
6158          return Currencies.HKD;
6159        if ("HNL".equals(codeString))
6160          return Currencies.HNL;
6161        if ("HRK".equals(codeString))
6162          return Currencies.HRK;
6163        if ("HTG".equals(codeString))
6164          return Currencies.HTG;
6165        if ("HUF".equals(codeString))
6166          return Currencies.HUF;
6167        if ("IDR".equals(codeString))
6168          return Currencies.IDR;
6169        if ("ILS".equals(codeString))
6170          return Currencies.ILS;
6171        if ("IMP".equals(codeString))
6172          return Currencies.IMP;
6173        if ("INR".equals(codeString))
6174          return Currencies.INR;
6175        if ("IQD".equals(codeString))
6176          return Currencies.IQD;
6177        if ("IRR".equals(codeString))
6178          return Currencies.IRR;
6179        if ("ISK".equals(codeString))
6180          return Currencies.ISK;
6181        if ("JEP".equals(codeString))
6182          return Currencies.JEP;
6183        if ("JMD".equals(codeString))
6184          return Currencies.JMD;
6185        if ("JOD".equals(codeString))
6186          return Currencies.JOD;
6187        if ("JPY".equals(codeString))
6188          return Currencies.JPY;
6189        if ("KES".equals(codeString))
6190          return Currencies.KES;
6191        if ("KGS".equals(codeString))
6192          return Currencies.KGS;
6193        if ("KHR".equals(codeString))
6194          return Currencies.KHR;
6195        if ("KMF".equals(codeString))
6196          return Currencies.KMF;
6197        if ("KPW".equals(codeString))
6198          return Currencies.KPW;
6199        if ("KRW".equals(codeString))
6200          return Currencies.KRW;
6201        if ("KWD".equals(codeString))
6202          return Currencies.KWD;
6203        if ("KYD".equals(codeString))
6204          return Currencies.KYD;
6205        if ("KZT".equals(codeString))
6206          return Currencies.KZT;
6207        if ("LAK".equals(codeString))
6208          return Currencies.LAK;
6209        if ("LBP".equals(codeString))
6210          return Currencies.LBP;
6211        if ("LKR".equals(codeString))
6212          return Currencies.LKR;
6213        if ("LRD".equals(codeString))
6214          return Currencies.LRD;
6215        if ("LSL".equals(codeString))
6216          return Currencies.LSL;
6217        if ("LYD".equals(codeString))
6218          return Currencies.LYD;
6219        if ("MAD".equals(codeString))
6220          return Currencies.MAD;
6221        if ("MDL".equals(codeString))
6222          return Currencies.MDL;
6223        if ("MGA".equals(codeString))
6224          return Currencies.MGA;
6225        if ("MKD".equals(codeString))
6226          return Currencies.MKD;
6227        if ("MMK".equals(codeString))
6228          return Currencies.MMK;
6229        if ("MNT".equals(codeString))
6230          return Currencies.MNT;
6231        if ("MOP".equals(codeString))
6232          return Currencies.MOP;
6233        if ("MRU".equals(codeString))
6234          return Currencies.MRU;
6235        if ("MUR".equals(codeString))
6236          return Currencies.MUR;
6237        if ("MVR".equals(codeString))
6238          return Currencies.MVR;
6239        if ("MWK".equals(codeString))
6240          return Currencies.MWK;
6241        if ("MXN".equals(codeString))
6242          return Currencies.MXN;
6243        if ("MXV".equals(codeString))
6244          return Currencies.MXV;
6245        if ("MYR".equals(codeString))
6246          return Currencies.MYR;
6247        if ("MZN".equals(codeString))
6248          return Currencies.MZN;
6249        if ("NAD".equals(codeString))
6250          return Currencies.NAD;
6251        if ("NGN".equals(codeString))
6252          return Currencies.NGN;
6253        if ("NIO".equals(codeString))
6254          return Currencies.NIO;
6255        if ("NOK".equals(codeString))
6256          return Currencies.NOK;
6257        if ("NPR".equals(codeString))
6258          return Currencies.NPR;
6259        if ("NZD".equals(codeString))
6260          return Currencies.NZD;
6261        if ("OMR".equals(codeString))
6262          return Currencies.OMR;
6263        if ("PAB".equals(codeString))
6264          return Currencies.PAB;
6265        if ("PEN".equals(codeString))
6266          return Currencies.PEN;
6267        if ("PGK".equals(codeString))
6268          return Currencies.PGK;
6269        if ("PHP".equals(codeString))
6270          return Currencies.PHP;
6271        if ("PKR".equals(codeString))
6272          return Currencies.PKR;
6273        if ("PLN".equals(codeString))
6274          return Currencies.PLN;
6275        if ("PYG".equals(codeString))
6276          return Currencies.PYG;
6277        if ("QAR".equals(codeString))
6278          return Currencies.QAR;
6279        if ("RON".equals(codeString))
6280          return Currencies.RON;
6281        if ("RSD".equals(codeString))
6282          return Currencies.RSD;
6283        if ("RUB".equals(codeString))
6284          return Currencies.RUB;
6285        if ("RWF".equals(codeString))
6286          return Currencies.RWF;
6287        if ("SAR".equals(codeString))
6288          return Currencies.SAR;
6289        if ("SBD".equals(codeString))
6290          return Currencies.SBD;
6291        if ("SCR".equals(codeString))
6292          return Currencies.SCR;
6293        if ("SDG".equals(codeString))
6294          return Currencies.SDG;
6295        if ("SEK".equals(codeString))
6296          return Currencies.SEK;
6297        if ("SGD".equals(codeString))
6298          return Currencies.SGD;
6299        if ("SHP".equals(codeString))
6300          return Currencies.SHP;
6301        if ("SLL".equals(codeString))
6302          return Currencies.SLL;
6303        if ("SOS".equals(codeString))
6304          return Currencies.SOS;
6305        if ("SRD".equals(codeString))
6306          return Currencies.SRD;
6307        if ("SSP".equals(codeString))
6308          return Currencies.SSP;
6309        if ("STN".equals(codeString))
6310          return Currencies.STN;
6311        if ("SVC".equals(codeString))
6312          return Currencies.SVC;
6313        if ("SYP".equals(codeString))
6314          return Currencies.SYP;
6315        if ("SZL".equals(codeString))
6316          return Currencies.SZL;
6317        if ("THB".equals(codeString))
6318          return Currencies.THB;
6319        if ("TJS".equals(codeString))
6320          return Currencies.TJS;
6321        if ("TMT".equals(codeString))
6322          return Currencies.TMT;
6323        if ("TND".equals(codeString))
6324          return Currencies.TND;
6325        if ("TOP".equals(codeString))
6326          return Currencies.TOP;
6327        if ("TRY".equals(codeString))
6328          return Currencies.TRY;
6329        if ("TTD".equals(codeString))
6330          return Currencies.TTD;
6331        if ("TVD".equals(codeString))
6332          return Currencies.TVD;
6333        if ("TWD".equals(codeString))
6334          return Currencies.TWD;
6335        if ("TZS".equals(codeString))
6336          return Currencies.TZS;
6337        if ("UAH".equals(codeString))
6338          return Currencies.UAH;
6339        if ("UGX".equals(codeString))
6340          return Currencies.UGX;
6341        if ("USD".equals(codeString))
6342          return Currencies.USD;
6343        if ("USN".equals(codeString))
6344          return Currencies.USN;
6345        if ("UYI".equals(codeString))
6346          return Currencies.UYI;
6347        if ("UYU".equals(codeString))
6348          return Currencies.UYU;
6349        if ("UZS".equals(codeString))
6350          return Currencies.UZS;
6351        if ("VEF".equals(codeString))
6352          return Currencies.VEF;
6353        if ("VND".equals(codeString))
6354          return Currencies.VND;
6355        if ("VUV".equals(codeString))
6356          return Currencies.VUV;
6357        if ("WST".equals(codeString))
6358          return Currencies.WST;
6359        if ("XAF".equals(codeString))
6360          return Currencies.XAF;
6361        if ("XAG".equals(codeString))
6362          return Currencies.XAG;
6363        if ("XAU".equals(codeString))
6364          return Currencies.XAU;
6365        if ("XBA".equals(codeString))
6366          return Currencies.XBA;
6367        if ("XBB".equals(codeString))
6368          return Currencies.XBB;
6369        if ("XBC".equals(codeString))
6370          return Currencies.XBC;
6371        if ("XBD".equals(codeString))
6372          return Currencies.XBD;
6373        if ("XCD".equals(codeString))
6374          return Currencies.XCD;
6375        if ("XDR".equals(codeString))
6376          return Currencies.XDR;
6377        if ("XOF".equals(codeString))
6378          return Currencies.XOF;
6379        if ("XPD".equals(codeString))
6380          return Currencies.XPD;
6381        if ("XPF".equals(codeString))
6382          return Currencies.XPF;
6383        if ("XPT".equals(codeString))
6384          return Currencies.XPT;
6385        if ("XSU".equals(codeString))
6386          return Currencies.XSU;
6387        if ("XTS".equals(codeString))
6388          return Currencies.XTS;
6389        if ("XUA".equals(codeString))
6390          return Currencies.XUA;
6391        if ("XXX".equals(codeString))
6392          return Currencies.XXX;
6393        if ("YER".equals(codeString))
6394          return Currencies.YER;
6395        if ("ZAR".equals(codeString))
6396          return Currencies.ZAR;
6397        if ("ZMW".equals(codeString))
6398          return Currencies.ZMW;
6399        if ("ZWL".equals(codeString))
6400          return Currencies.ZWL;
6401        throw new IllegalArgumentException("Unknown Currencies code '"+codeString+"'");
6402        }
6403
6404        public Enumeration<Currencies> fromType(PrimitiveType<?> code) throws FHIRException {
6405          if (code == null)
6406            return null;
6407          if (code.isEmpty())
6408            return new Enumeration<Currencies>(this, Currencies.NULL, code);
6409          String codeString = ((PrimitiveType) code).asStringValue();
6410          if (codeString == null || "".equals(codeString))
6411            return new Enumeration<Currencies>(this, Currencies.NULL, code);
6412        if ("AED".equals(codeString))
6413          return new Enumeration<Currencies>(this, Currencies.AED, code);
6414        if ("AFN".equals(codeString))
6415          return new Enumeration<Currencies>(this, Currencies.AFN, code);
6416        if ("ALL".equals(codeString))
6417          return new Enumeration<Currencies>(this, Currencies.ALL, code);
6418        if ("AMD".equals(codeString))
6419          return new Enumeration<Currencies>(this, Currencies.AMD, code);
6420        if ("ANG".equals(codeString))
6421          return new Enumeration<Currencies>(this, Currencies.ANG, code);
6422        if ("AOA".equals(codeString))
6423          return new Enumeration<Currencies>(this, Currencies.AOA, code);
6424        if ("ARS".equals(codeString))
6425          return new Enumeration<Currencies>(this, Currencies.ARS, code);
6426        if ("AUD".equals(codeString))
6427          return new Enumeration<Currencies>(this, Currencies.AUD, code);
6428        if ("AWG".equals(codeString))
6429          return new Enumeration<Currencies>(this, Currencies.AWG, code);
6430        if ("AZN".equals(codeString))
6431          return new Enumeration<Currencies>(this, Currencies.AZN, code);
6432        if ("BAM".equals(codeString))
6433          return new Enumeration<Currencies>(this, Currencies.BAM, code);
6434        if ("BBD".equals(codeString))
6435          return new Enumeration<Currencies>(this, Currencies.BBD, code);
6436        if ("BDT".equals(codeString))
6437          return new Enumeration<Currencies>(this, Currencies.BDT, code);
6438        if ("BGN".equals(codeString))
6439          return new Enumeration<Currencies>(this, Currencies.BGN, code);
6440        if ("BHD".equals(codeString))
6441          return new Enumeration<Currencies>(this, Currencies.BHD, code);
6442        if ("BIF".equals(codeString))
6443          return new Enumeration<Currencies>(this, Currencies.BIF, code);
6444        if ("BMD".equals(codeString))
6445          return new Enumeration<Currencies>(this, Currencies.BMD, code);
6446        if ("BND".equals(codeString))
6447          return new Enumeration<Currencies>(this, Currencies.BND, code);
6448        if ("BOB".equals(codeString))
6449          return new Enumeration<Currencies>(this, Currencies.BOB, code);
6450        if ("BOV".equals(codeString))
6451          return new Enumeration<Currencies>(this, Currencies.BOV, code);
6452        if ("BRL".equals(codeString))
6453          return new Enumeration<Currencies>(this, Currencies.BRL, code);
6454        if ("BSD".equals(codeString))
6455          return new Enumeration<Currencies>(this, Currencies.BSD, code);
6456        if ("BTN".equals(codeString))
6457          return new Enumeration<Currencies>(this, Currencies.BTN, code);
6458        if ("BWP".equals(codeString))
6459          return new Enumeration<Currencies>(this, Currencies.BWP, code);
6460        if ("BYN".equals(codeString))
6461          return new Enumeration<Currencies>(this, Currencies.BYN, code);
6462        if ("BZD".equals(codeString))
6463          return new Enumeration<Currencies>(this, Currencies.BZD, code);
6464        if ("CAD".equals(codeString))
6465          return new Enumeration<Currencies>(this, Currencies.CAD, code);
6466        if ("CDF".equals(codeString))
6467          return new Enumeration<Currencies>(this, Currencies.CDF, code);
6468        if ("CHE".equals(codeString))
6469          return new Enumeration<Currencies>(this, Currencies.CHE, code);
6470        if ("CHF".equals(codeString))
6471          return new Enumeration<Currencies>(this, Currencies.CHF, code);
6472        if ("CHW".equals(codeString))
6473          return new Enumeration<Currencies>(this, Currencies.CHW, code);
6474        if ("CLF".equals(codeString))
6475          return new Enumeration<Currencies>(this, Currencies.CLF, code);
6476        if ("CLP".equals(codeString))
6477          return new Enumeration<Currencies>(this, Currencies.CLP, code);
6478        if ("CNY".equals(codeString))
6479          return new Enumeration<Currencies>(this, Currencies.CNY, code);
6480        if ("COP".equals(codeString))
6481          return new Enumeration<Currencies>(this, Currencies.COP, code);
6482        if ("COU".equals(codeString))
6483          return new Enumeration<Currencies>(this, Currencies.COU, code);
6484        if ("CRC".equals(codeString))
6485          return new Enumeration<Currencies>(this, Currencies.CRC, code);
6486        if ("CUC".equals(codeString))
6487          return new Enumeration<Currencies>(this, Currencies.CUC, code);
6488        if ("CUP".equals(codeString))
6489          return new Enumeration<Currencies>(this, Currencies.CUP, code);
6490        if ("CVE".equals(codeString))
6491          return new Enumeration<Currencies>(this, Currencies.CVE, code);
6492        if ("CZK".equals(codeString))
6493          return new Enumeration<Currencies>(this, Currencies.CZK, code);
6494        if ("DJF".equals(codeString))
6495          return new Enumeration<Currencies>(this, Currencies.DJF, code);
6496        if ("DKK".equals(codeString))
6497          return new Enumeration<Currencies>(this, Currencies.DKK, code);
6498        if ("DOP".equals(codeString))
6499          return new Enumeration<Currencies>(this, Currencies.DOP, code);
6500        if ("DZD".equals(codeString))
6501          return new Enumeration<Currencies>(this, Currencies.DZD, code);
6502        if ("EGP".equals(codeString))
6503          return new Enumeration<Currencies>(this, Currencies.EGP, code);
6504        if ("ERN".equals(codeString))
6505          return new Enumeration<Currencies>(this, Currencies.ERN, code);
6506        if ("ETB".equals(codeString))
6507          return new Enumeration<Currencies>(this, Currencies.ETB, code);
6508        if ("EUR".equals(codeString))
6509          return new Enumeration<Currencies>(this, Currencies.EUR, code);
6510        if ("FJD".equals(codeString))
6511          return new Enumeration<Currencies>(this, Currencies.FJD, code);
6512        if ("FKP".equals(codeString))
6513          return new Enumeration<Currencies>(this, Currencies.FKP, code);
6514        if ("GBP".equals(codeString))
6515          return new Enumeration<Currencies>(this, Currencies.GBP, code);
6516        if ("GEL".equals(codeString))
6517          return new Enumeration<Currencies>(this, Currencies.GEL, code);
6518        if ("GGP".equals(codeString))
6519          return new Enumeration<Currencies>(this, Currencies.GGP, code);
6520        if ("GHS".equals(codeString))
6521          return new Enumeration<Currencies>(this, Currencies.GHS, code);
6522        if ("GIP".equals(codeString))
6523          return new Enumeration<Currencies>(this, Currencies.GIP, code);
6524        if ("GMD".equals(codeString))
6525          return new Enumeration<Currencies>(this, Currencies.GMD, code);
6526        if ("GNF".equals(codeString))
6527          return new Enumeration<Currencies>(this, Currencies.GNF, code);
6528        if ("GTQ".equals(codeString))
6529          return new Enumeration<Currencies>(this, Currencies.GTQ, code);
6530        if ("GYD".equals(codeString))
6531          return new Enumeration<Currencies>(this, Currencies.GYD, code);
6532        if ("HKD".equals(codeString))
6533          return new Enumeration<Currencies>(this, Currencies.HKD, code);
6534        if ("HNL".equals(codeString))
6535          return new Enumeration<Currencies>(this, Currencies.HNL, code);
6536        if ("HRK".equals(codeString))
6537          return new Enumeration<Currencies>(this, Currencies.HRK, code);
6538        if ("HTG".equals(codeString))
6539          return new Enumeration<Currencies>(this, Currencies.HTG, code);
6540        if ("HUF".equals(codeString))
6541          return new Enumeration<Currencies>(this, Currencies.HUF, code);
6542        if ("IDR".equals(codeString))
6543          return new Enumeration<Currencies>(this, Currencies.IDR, code);
6544        if ("ILS".equals(codeString))
6545          return new Enumeration<Currencies>(this, Currencies.ILS, code);
6546        if ("IMP".equals(codeString))
6547          return new Enumeration<Currencies>(this, Currencies.IMP, code);
6548        if ("INR".equals(codeString))
6549          return new Enumeration<Currencies>(this, Currencies.INR, code);
6550        if ("IQD".equals(codeString))
6551          return new Enumeration<Currencies>(this, Currencies.IQD, code);
6552        if ("IRR".equals(codeString))
6553          return new Enumeration<Currencies>(this, Currencies.IRR, code);
6554        if ("ISK".equals(codeString))
6555          return new Enumeration<Currencies>(this, Currencies.ISK, code);
6556        if ("JEP".equals(codeString))
6557          return new Enumeration<Currencies>(this, Currencies.JEP, code);
6558        if ("JMD".equals(codeString))
6559          return new Enumeration<Currencies>(this, Currencies.JMD, code);
6560        if ("JOD".equals(codeString))
6561          return new Enumeration<Currencies>(this, Currencies.JOD, code);
6562        if ("JPY".equals(codeString))
6563          return new Enumeration<Currencies>(this, Currencies.JPY, code);
6564        if ("KES".equals(codeString))
6565          return new Enumeration<Currencies>(this, Currencies.KES, code);
6566        if ("KGS".equals(codeString))
6567          return new Enumeration<Currencies>(this, Currencies.KGS, code);
6568        if ("KHR".equals(codeString))
6569          return new Enumeration<Currencies>(this, Currencies.KHR, code);
6570        if ("KMF".equals(codeString))
6571          return new Enumeration<Currencies>(this, Currencies.KMF, code);
6572        if ("KPW".equals(codeString))
6573          return new Enumeration<Currencies>(this, Currencies.KPW, code);
6574        if ("KRW".equals(codeString))
6575          return new Enumeration<Currencies>(this, Currencies.KRW, code);
6576        if ("KWD".equals(codeString))
6577          return new Enumeration<Currencies>(this, Currencies.KWD, code);
6578        if ("KYD".equals(codeString))
6579          return new Enumeration<Currencies>(this, Currencies.KYD, code);
6580        if ("KZT".equals(codeString))
6581          return new Enumeration<Currencies>(this, Currencies.KZT, code);
6582        if ("LAK".equals(codeString))
6583          return new Enumeration<Currencies>(this, Currencies.LAK, code);
6584        if ("LBP".equals(codeString))
6585          return new Enumeration<Currencies>(this, Currencies.LBP, code);
6586        if ("LKR".equals(codeString))
6587          return new Enumeration<Currencies>(this, Currencies.LKR, code);
6588        if ("LRD".equals(codeString))
6589          return new Enumeration<Currencies>(this, Currencies.LRD, code);
6590        if ("LSL".equals(codeString))
6591          return new Enumeration<Currencies>(this, Currencies.LSL, code);
6592        if ("LYD".equals(codeString))
6593          return new Enumeration<Currencies>(this, Currencies.LYD, code);
6594        if ("MAD".equals(codeString))
6595          return new Enumeration<Currencies>(this, Currencies.MAD, code);
6596        if ("MDL".equals(codeString))
6597          return new Enumeration<Currencies>(this, Currencies.MDL, code);
6598        if ("MGA".equals(codeString))
6599          return new Enumeration<Currencies>(this, Currencies.MGA, code);
6600        if ("MKD".equals(codeString))
6601          return new Enumeration<Currencies>(this, Currencies.MKD, code);
6602        if ("MMK".equals(codeString))
6603          return new Enumeration<Currencies>(this, Currencies.MMK, code);
6604        if ("MNT".equals(codeString))
6605          return new Enumeration<Currencies>(this, Currencies.MNT, code);
6606        if ("MOP".equals(codeString))
6607          return new Enumeration<Currencies>(this, Currencies.MOP, code);
6608        if ("MRU".equals(codeString))
6609          return new Enumeration<Currencies>(this, Currencies.MRU, code);
6610        if ("MUR".equals(codeString))
6611          return new Enumeration<Currencies>(this, Currencies.MUR, code);
6612        if ("MVR".equals(codeString))
6613          return new Enumeration<Currencies>(this, Currencies.MVR, code);
6614        if ("MWK".equals(codeString))
6615          return new Enumeration<Currencies>(this, Currencies.MWK, code);
6616        if ("MXN".equals(codeString))
6617          return new Enumeration<Currencies>(this, Currencies.MXN, code);
6618        if ("MXV".equals(codeString))
6619          return new Enumeration<Currencies>(this, Currencies.MXV, code);
6620        if ("MYR".equals(codeString))
6621          return new Enumeration<Currencies>(this, Currencies.MYR, code);
6622        if ("MZN".equals(codeString))
6623          return new Enumeration<Currencies>(this, Currencies.MZN, code);
6624        if ("NAD".equals(codeString))
6625          return new Enumeration<Currencies>(this, Currencies.NAD, code);
6626        if ("NGN".equals(codeString))
6627          return new Enumeration<Currencies>(this, Currencies.NGN, code);
6628        if ("NIO".equals(codeString))
6629          return new Enumeration<Currencies>(this, Currencies.NIO, code);
6630        if ("NOK".equals(codeString))
6631          return new Enumeration<Currencies>(this, Currencies.NOK, code);
6632        if ("NPR".equals(codeString))
6633          return new Enumeration<Currencies>(this, Currencies.NPR, code);
6634        if ("NZD".equals(codeString))
6635          return new Enumeration<Currencies>(this, Currencies.NZD, code);
6636        if ("OMR".equals(codeString))
6637          return new Enumeration<Currencies>(this, Currencies.OMR, code);
6638        if ("PAB".equals(codeString))
6639          return new Enumeration<Currencies>(this, Currencies.PAB, code);
6640        if ("PEN".equals(codeString))
6641          return new Enumeration<Currencies>(this, Currencies.PEN, code);
6642        if ("PGK".equals(codeString))
6643          return new Enumeration<Currencies>(this, Currencies.PGK, code);
6644        if ("PHP".equals(codeString))
6645          return new Enumeration<Currencies>(this, Currencies.PHP, code);
6646        if ("PKR".equals(codeString))
6647          return new Enumeration<Currencies>(this, Currencies.PKR, code);
6648        if ("PLN".equals(codeString))
6649          return new Enumeration<Currencies>(this, Currencies.PLN, code);
6650        if ("PYG".equals(codeString))
6651          return new Enumeration<Currencies>(this, Currencies.PYG, code);
6652        if ("QAR".equals(codeString))
6653          return new Enumeration<Currencies>(this, Currencies.QAR, code);
6654        if ("RON".equals(codeString))
6655          return new Enumeration<Currencies>(this, Currencies.RON, code);
6656        if ("RSD".equals(codeString))
6657          return new Enumeration<Currencies>(this, Currencies.RSD, code);
6658        if ("RUB".equals(codeString))
6659          return new Enumeration<Currencies>(this, Currencies.RUB, code);
6660        if ("RWF".equals(codeString))
6661          return new Enumeration<Currencies>(this, Currencies.RWF, code);
6662        if ("SAR".equals(codeString))
6663          return new Enumeration<Currencies>(this, Currencies.SAR, code);
6664        if ("SBD".equals(codeString))
6665          return new Enumeration<Currencies>(this, Currencies.SBD, code);
6666        if ("SCR".equals(codeString))
6667          return new Enumeration<Currencies>(this, Currencies.SCR, code);
6668        if ("SDG".equals(codeString))
6669          return new Enumeration<Currencies>(this, Currencies.SDG, code);
6670        if ("SEK".equals(codeString))
6671          return new Enumeration<Currencies>(this, Currencies.SEK, code);
6672        if ("SGD".equals(codeString))
6673          return new Enumeration<Currencies>(this, Currencies.SGD, code);
6674        if ("SHP".equals(codeString))
6675          return new Enumeration<Currencies>(this, Currencies.SHP, code);
6676        if ("SLL".equals(codeString))
6677          return new Enumeration<Currencies>(this, Currencies.SLL, code);
6678        if ("SOS".equals(codeString))
6679          return new Enumeration<Currencies>(this, Currencies.SOS, code);
6680        if ("SRD".equals(codeString))
6681          return new Enumeration<Currencies>(this, Currencies.SRD, code);
6682        if ("SSP".equals(codeString))
6683          return new Enumeration<Currencies>(this, Currencies.SSP, code);
6684        if ("STN".equals(codeString))
6685          return new Enumeration<Currencies>(this, Currencies.STN, code);
6686        if ("SVC".equals(codeString))
6687          return new Enumeration<Currencies>(this, Currencies.SVC, code);
6688        if ("SYP".equals(codeString))
6689          return new Enumeration<Currencies>(this, Currencies.SYP, code);
6690        if ("SZL".equals(codeString))
6691          return new Enumeration<Currencies>(this, Currencies.SZL, code);
6692        if ("THB".equals(codeString))
6693          return new Enumeration<Currencies>(this, Currencies.THB, code);
6694        if ("TJS".equals(codeString))
6695          return new Enumeration<Currencies>(this, Currencies.TJS, code);
6696        if ("TMT".equals(codeString))
6697          return new Enumeration<Currencies>(this, Currencies.TMT, code);
6698        if ("TND".equals(codeString))
6699          return new Enumeration<Currencies>(this, Currencies.TND, code);
6700        if ("TOP".equals(codeString))
6701          return new Enumeration<Currencies>(this, Currencies.TOP, code);
6702        if ("TRY".equals(codeString))
6703          return new Enumeration<Currencies>(this, Currencies.TRY, code);
6704        if ("TTD".equals(codeString))
6705          return new Enumeration<Currencies>(this, Currencies.TTD, code);
6706        if ("TVD".equals(codeString))
6707          return new Enumeration<Currencies>(this, Currencies.TVD, code);
6708        if ("TWD".equals(codeString))
6709          return new Enumeration<Currencies>(this, Currencies.TWD, code);
6710        if ("TZS".equals(codeString))
6711          return new Enumeration<Currencies>(this, Currencies.TZS, code);
6712        if ("UAH".equals(codeString))
6713          return new Enumeration<Currencies>(this, Currencies.UAH, code);
6714        if ("UGX".equals(codeString))
6715          return new Enumeration<Currencies>(this, Currencies.UGX, code);
6716        if ("USD".equals(codeString))
6717          return new Enumeration<Currencies>(this, Currencies.USD, code);
6718        if ("USN".equals(codeString))
6719          return new Enumeration<Currencies>(this, Currencies.USN, code);
6720        if ("UYI".equals(codeString))
6721          return new Enumeration<Currencies>(this, Currencies.UYI, code);
6722        if ("UYU".equals(codeString))
6723          return new Enumeration<Currencies>(this, Currencies.UYU, code);
6724        if ("UZS".equals(codeString))
6725          return new Enumeration<Currencies>(this, Currencies.UZS, code);
6726        if ("VEF".equals(codeString))
6727          return new Enumeration<Currencies>(this, Currencies.VEF, code);
6728        if ("VND".equals(codeString))
6729          return new Enumeration<Currencies>(this, Currencies.VND, code);
6730        if ("VUV".equals(codeString))
6731          return new Enumeration<Currencies>(this, Currencies.VUV, code);
6732        if ("WST".equals(codeString))
6733          return new Enumeration<Currencies>(this, Currencies.WST, code);
6734        if ("XAF".equals(codeString))
6735          return new Enumeration<Currencies>(this, Currencies.XAF, code);
6736        if ("XAG".equals(codeString))
6737          return new Enumeration<Currencies>(this, Currencies.XAG, code);
6738        if ("XAU".equals(codeString))
6739          return new Enumeration<Currencies>(this, Currencies.XAU, code);
6740        if ("XBA".equals(codeString))
6741          return new Enumeration<Currencies>(this, Currencies.XBA, code);
6742        if ("XBB".equals(codeString))
6743          return new Enumeration<Currencies>(this, Currencies.XBB, code);
6744        if ("XBC".equals(codeString))
6745          return new Enumeration<Currencies>(this, Currencies.XBC, code);
6746        if ("XBD".equals(codeString))
6747          return new Enumeration<Currencies>(this, Currencies.XBD, code);
6748        if ("XCD".equals(codeString))
6749          return new Enumeration<Currencies>(this, Currencies.XCD, code);
6750        if ("XDR".equals(codeString))
6751          return new Enumeration<Currencies>(this, Currencies.XDR, code);
6752        if ("XOF".equals(codeString))
6753          return new Enumeration<Currencies>(this, Currencies.XOF, code);
6754        if ("XPD".equals(codeString))
6755          return new Enumeration<Currencies>(this, Currencies.XPD, code);
6756        if ("XPF".equals(codeString))
6757          return new Enumeration<Currencies>(this, Currencies.XPF, code);
6758        if ("XPT".equals(codeString))
6759          return new Enumeration<Currencies>(this, Currencies.XPT, code);
6760        if ("XSU".equals(codeString))
6761          return new Enumeration<Currencies>(this, Currencies.XSU, code);
6762        if ("XTS".equals(codeString))
6763          return new Enumeration<Currencies>(this, Currencies.XTS, code);
6764        if ("XUA".equals(codeString))
6765          return new Enumeration<Currencies>(this, Currencies.XUA, code);
6766        if ("XXX".equals(codeString))
6767          return new Enumeration<Currencies>(this, Currencies.XXX, code);
6768        if ("YER".equals(codeString))
6769          return new Enumeration<Currencies>(this, Currencies.YER, code);
6770        if ("ZAR".equals(codeString))
6771          return new Enumeration<Currencies>(this, Currencies.ZAR, code);
6772        if ("ZMW".equals(codeString))
6773          return new Enumeration<Currencies>(this, Currencies.ZMW, code);
6774        if ("ZWL".equals(codeString))
6775          return new Enumeration<Currencies>(this, Currencies.ZWL, code);
6776        throw new FHIRException("Unknown Currencies code '"+codeString+"'");
6777        }
6778    public String toCode(Currencies code) {
6779       if (code == Currencies.NULL)
6780           return null;
6781       if (code == Currencies.AED)
6782        return "AED";
6783      if (code == Currencies.AFN)
6784        return "AFN";
6785      if (code == Currencies.ALL)
6786        return "ALL";
6787      if (code == Currencies.AMD)
6788        return "AMD";
6789      if (code == Currencies.ANG)
6790        return "ANG";
6791      if (code == Currencies.AOA)
6792        return "AOA";
6793      if (code == Currencies.ARS)
6794        return "ARS";
6795      if (code == Currencies.AUD)
6796        return "AUD";
6797      if (code == Currencies.AWG)
6798        return "AWG";
6799      if (code == Currencies.AZN)
6800        return "AZN";
6801      if (code == Currencies.BAM)
6802        return "BAM";
6803      if (code == Currencies.BBD)
6804        return "BBD";
6805      if (code == Currencies.BDT)
6806        return "BDT";
6807      if (code == Currencies.BGN)
6808        return "BGN";
6809      if (code == Currencies.BHD)
6810        return "BHD";
6811      if (code == Currencies.BIF)
6812        return "BIF";
6813      if (code == Currencies.BMD)
6814        return "BMD";
6815      if (code == Currencies.BND)
6816        return "BND";
6817      if (code == Currencies.BOB)
6818        return "BOB";
6819      if (code == Currencies.BOV)
6820        return "BOV";
6821      if (code == Currencies.BRL)
6822        return "BRL";
6823      if (code == Currencies.BSD)
6824        return "BSD";
6825      if (code == Currencies.BTN)
6826        return "BTN";
6827      if (code == Currencies.BWP)
6828        return "BWP";
6829      if (code == Currencies.BYN)
6830        return "BYN";
6831      if (code == Currencies.BZD)
6832        return "BZD";
6833      if (code == Currencies.CAD)
6834        return "CAD";
6835      if (code == Currencies.CDF)
6836        return "CDF";
6837      if (code == Currencies.CHE)
6838        return "CHE";
6839      if (code == Currencies.CHF)
6840        return "CHF";
6841      if (code == Currencies.CHW)
6842        return "CHW";
6843      if (code == Currencies.CLF)
6844        return "CLF";
6845      if (code == Currencies.CLP)
6846        return "CLP";
6847      if (code == Currencies.CNY)
6848        return "CNY";
6849      if (code == Currencies.COP)
6850        return "COP";
6851      if (code == Currencies.COU)
6852        return "COU";
6853      if (code == Currencies.CRC)
6854        return "CRC";
6855      if (code == Currencies.CUC)
6856        return "CUC";
6857      if (code == Currencies.CUP)
6858        return "CUP";
6859      if (code == Currencies.CVE)
6860        return "CVE";
6861      if (code == Currencies.CZK)
6862        return "CZK";
6863      if (code == Currencies.DJF)
6864        return "DJF";
6865      if (code == Currencies.DKK)
6866        return "DKK";
6867      if (code == Currencies.DOP)
6868        return "DOP";
6869      if (code == Currencies.DZD)
6870        return "DZD";
6871      if (code == Currencies.EGP)
6872        return "EGP";
6873      if (code == Currencies.ERN)
6874        return "ERN";
6875      if (code == Currencies.ETB)
6876        return "ETB";
6877      if (code == Currencies.EUR)
6878        return "EUR";
6879      if (code == Currencies.FJD)
6880        return "FJD";
6881      if (code == Currencies.FKP)
6882        return "FKP";
6883      if (code == Currencies.GBP)
6884        return "GBP";
6885      if (code == Currencies.GEL)
6886        return "GEL";
6887      if (code == Currencies.GGP)
6888        return "GGP";
6889      if (code == Currencies.GHS)
6890        return "GHS";
6891      if (code == Currencies.GIP)
6892        return "GIP";
6893      if (code == Currencies.GMD)
6894        return "GMD";
6895      if (code == Currencies.GNF)
6896        return "GNF";
6897      if (code == Currencies.GTQ)
6898        return "GTQ";
6899      if (code == Currencies.GYD)
6900        return "GYD";
6901      if (code == Currencies.HKD)
6902        return "HKD";
6903      if (code == Currencies.HNL)
6904        return "HNL";
6905      if (code == Currencies.HRK)
6906        return "HRK";
6907      if (code == Currencies.HTG)
6908        return "HTG";
6909      if (code == Currencies.HUF)
6910        return "HUF";
6911      if (code == Currencies.IDR)
6912        return "IDR";
6913      if (code == Currencies.ILS)
6914        return "ILS";
6915      if (code == Currencies.IMP)
6916        return "IMP";
6917      if (code == Currencies.INR)
6918        return "INR";
6919      if (code == Currencies.IQD)
6920        return "IQD";
6921      if (code == Currencies.IRR)
6922        return "IRR";
6923      if (code == Currencies.ISK)
6924        return "ISK";
6925      if (code == Currencies.JEP)
6926        return "JEP";
6927      if (code == Currencies.JMD)
6928        return "JMD";
6929      if (code == Currencies.JOD)
6930        return "JOD";
6931      if (code == Currencies.JPY)
6932        return "JPY";
6933      if (code == Currencies.KES)
6934        return "KES";
6935      if (code == Currencies.KGS)
6936        return "KGS";
6937      if (code == Currencies.KHR)
6938        return "KHR";
6939      if (code == Currencies.KMF)
6940        return "KMF";
6941      if (code == Currencies.KPW)
6942        return "KPW";
6943      if (code == Currencies.KRW)
6944        return "KRW";
6945      if (code == Currencies.KWD)
6946        return "KWD";
6947      if (code == Currencies.KYD)
6948        return "KYD";
6949      if (code == Currencies.KZT)
6950        return "KZT";
6951      if (code == Currencies.LAK)
6952        return "LAK";
6953      if (code == Currencies.LBP)
6954        return "LBP";
6955      if (code == Currencies.LKR)
6956        return "LKR";
6957      if (code == Currencies.LRD)
6958        return "LRD";
6959      if (code == Currencies.LSL)
6960        return "LSL";
6961      if (code == Currencies.LYD)
6962        return "LYD";
6963      if (code == Currencies.MAD)
6964        return "MAD";
6965      if (code == Currencies.MDL)
6966        return "MDL";
6967      if (code == Currencies.MGA)
6968        return "MGA";
6969      if (code == Currencies.MKD)
6970        return "MKD";
6971      if (code == Currencies.MMK)
6972        return "MMK";
6973      if (code == Currencies.MNT)
6974        return "MNT";
6975      if (code == Currencies.MOP)
6976        return "MOP";
6977      if (code == Currencies.MRU)
6978        return "MRU";
6979      if (code == Currencies.MUR)
6980        return "MUR";
6981      if (code == Currencies.MVR)
6982        return "MVR";
6983      if (code == Currencies.MWK)
6984        return "MWK";
6985      if (code == Currencies.MXN)
6986        return "MXN";
6987      if (code == Currencies.MXV)
6988        return "MXV";
6989      if (code == Currencies.MYR)
6990        return "MYR";
6991      if (code == Currencies.MZN)
6992        return "MZN";
6993      if (code == Currencies.NAD)
6994        return "NAD";
6995      if (code == Currencies.NGN)
6996        return "NGN";
6997      if (code == Currencies.NIO)
6998        return "NIO";
6999      if (code == Currencies.NOK)
7000        return "NOK";
7001      if (code == Currencies.NPR)
7002        return "NPR";
7003      if (code == Currencies.NZD)
7004        return "NZD";
7005      if (code == Currencies.OMR)
7006        return "OMR";
7007      if (code == Currencies.PAB)
7008        return "PAB";
7009      if (code == Currencies.PEN)
7010        return "PEN";
7011      if (code == Currencies.PGK)
7012        return "PGK";
7013      if (code == Currencies.PHP)
7014        return "PHP";
7015      if (code == Currencies.PKR)
7016        return "PKR";
7017      if (code == Currencies.PLN)
7018        return "PLN";
7019      if (code == Currencies.PYG)
7020        return "PYG";
7021      if (code == Currencies.QAR)
7022        return "QAR";
7023      if (code == Currencies.RON)
7024        return "RON";
7025      if (code == Currencies.RSD)
7026        return "RSD";
7027      if (code == Currencies.RUB)
7028        return "RUB";
7029      if (code == Currencies.RWF)
7030        return "RWF";
7031      if (code == Currencies.SAR)
7032        return "SAR";
7033      if (code == Currencies.SBD)
7034        return "SBD";
7035      if (code == Currencies.SCR)
7036        return "SCR";
7037      if (code == Currencies.SDG)
7038        return "SDG";
7039      if (code == Currencies.SEK)
7040        return "SEK";
7041      if (code == Currencies.SGD)
7042        return "SGD";
7043      if (code == Currencies.SHP)
7044        return "SHP";
7045      if (code == Currencies.SLL)
7046        return "SLL";
7047      if (code == Currencies.SOS)
7048        return "SOS";
7049      if (code == Currencies.SRD)
7050        return "SRD";
7051      if (code == Currencies.SSP)
7052        return "SSP";
7053      if (code == Currencies.STN)
7054        return "STN";
7055      if (code == Currencies.SVC)
7056        return "SVC";
7057      if (code == Currencies.SYP)
7058        return "SYP";
7059      if (code == Currencies.SZL)
7060        return "SZL";
7061      if (code == Currencies.THB)
7062        return "THB";
7063      if (code == Currencies.TJS)
7064        return "TJS";
7065      if (code == Currencies.TMT)
7066        return "TMT";
7067      if (code == Currencies.TND)
7068        return "TND";
7069      if (code == Currencies.TOP)
7070        return "TOP";
7071      if (code == Currencies.TRY)
7072        return "TRY";
7073      if (code == Currencies.TTD)
7074        return "TTD";
7075      if (code == Currencies.TVD)
7076        return "TVD";
7077      if (code == Currencies.TWD)
7078        return "TWD";
7079      if (code == Currencies.TZS)
7080        return "TZS";
7081      if (code == Currencies.UAH)
7082        return "UAH";
7083      if (code == Currencies.UGX)
7084        return "UGX";
7085      if (code == Currencies.USD)
7086        return "USD";
7087      if (code == Currencies.USN)
7088        return "USN";
7089      if (code == Currencies.UYI)
7090        return "UYI";
7091      if (code == Currencies.UYU)
7092        return "UYU";
7093      if (code == Currencies.UZS)
7094        return "UZS";
7095      if (code == Currencies.VEF)
7096        return "VEF";
7097      if (code == Currencies.VND)
7098        return "VND";
7099      if (code == Currencies.VUV)
7100        return "VUV";
7101      if (code == Currencies.WST)
7102        return "WST";
7103      if (code == Currencies.XAF)
7104        return "XAF";
7105      if (code == Currencies.XAG)
7106        return "XAG";
7107      if (code == Currencies.XAU)
7108        return "XAU";
7109      if (code == Currencies.XBA)
7110        return "XBA";
7111      if (code == Currencies.XBB)
7112        return "XBB";
7113      if (code == Currencies.XBC)
7114        return "XBC";
7115      if (code == Currencies.XBD)
7116        return "XBD";
7117      if (code == Currencies.XCD)
7118        return "XCD";
7119      if (code == Currencies.XDR)
7120        return "XDR";
7121      if (code == Currencies.XOF)
7122        return "XOF";
7123      if (code == Currencies.XPD)
7124        return "XPD";
7125      if (code == Currencies.XPF)
7126        return "XPF";
7127      if (code == Currencies.XPT)
7128        return "XPT";
7129      if (code == Currencies.XSU)
7130        return "XSU";
7131      if (code == Currencies.XTS)
7132        return "XTS";
7133      if (code == Currencies.XUA)
7134        return "XUA";
7135      if (code == Currencies.XXX)
7136        return "XXX";
7137      if (code == Currencies.YER)
7138        return "YER";
7139      if (code == Currencies.ZAR)
7140        return "ZAR";
7141      if (code == Currencies.ZMW)
7142        return "ZMW";
7143      if (code == Currencies.ZWL)
7144        return "ZWL";
7145      return "?";
7146   }
7147    public String toSystem(Currencies code) {
7148      return code.getSystem();
7149      }
7150    }
7151
7152    public enum DaysOfWeek {
7153        /**
7154         * Monday.
7155         */
7156        MON, 
7157        /**
7158         * Tuesday.
7159         */
7160        TUE, 
7161        /**
7162         * Wednesday.
7163         */
7164        WED, 
7165        /**
7166         * Thursday.
7167         */
7168        THU, 
7169        /**
7170         * Friday.
7171         */
7172        FRI, 
7173        /**
7174         * Saturday.
7175         */
7176        SAT, 
7177        /**
7178         * Sunday.
7179         */
7180        SUN, 
7181        /**
7182         * added to help the parsers
7183         */
7184        NULL;
7185        public static DaysOfWeek fromCode(String codeString) throws FHIRException {
7186            if (codeString == null || "".equals(codeString))
7187                return null;
7188        if ("mon".equals(codeString))
7189          return MON;
7190        if ("tue".equals(codeString))
7191          return TUE;
7192        if ("wed".equals(codeString))
7193          return WED;
7194        if ("thu".equals(codeString))
7195          return THU;
7196        if ("fri".equals(codeString))
7197          return FRI;
7198        if ("sat".equals(codeString))
7199          return SAT;
7200        if ("sun".equals(codeString))
7201          return SUN;
7202        throw new FHIRException("Unknown DaysOfWeek code '"+codeString+"'");
7203        }
7204        public static boolean isValidCode(String codeString) {
7205            if (codeString == null || "".equals(codeString))
7206                return false;
7207          return Utilities.existsInList(codeString, "mon", "tue", "wed", "thu", "fri", "sat", "sun");
7208        }
7209        public String toCode() {
7210          switch (this) {
7211            case MON: return "mon";
7212            case TUE: return "tue";
7213            case WED: return "wed";
7214            case THU: return "thu";
7215            case FRI: return "fri";
7216            case SAT: return "sat";
7217            case SUN: return "sun";
7218            case NULL: return null;
7219            default: return "?";
7220          }
7221        }
7222        public String getSystem() {
7223          switch (this) {
7224            case MON: return "http://hl7.org/fhir/days-of-week";
7225            case TUE: return "http://hl7.org/fhir/days-of-week";
7226            case WED: return "http://hl7.org/fhir/days-of-week";
7227            case THU: return "http://hl7.org/fhir/days-of-week";
7228            case FRI: return "http://hl7.org/fhir/days-of-week";
7229            case SAT: return "http://hl7.org/fhir/days-of-week";
7230            case SUN: return "http://hl7.org/fhir/days-of-week";
7231            case NULL: return null;
7232            default: return "?";
7233          }
7234        }
7235        public String getDefinition() {
7236          switch (this) {
7237            case MON: return "Monday.";
7238            case TUE: return "Tuesday.";
7239            case WED: return "Wednesday.";
7240            case THU: return "Thursday.";
7241            case FRI: return "Friday.";
7242            case SAT: return "Saturday.";
7243            case SUN: return "Sunday.";
7244            case NULL: return null;
7245            default: return "?";
7246          }
7247        }
7248        public String getDisplay() {
7249          switch (this) {
7250            case MON: return "Monday";
7251            case TUE: return "Tuesday";
7252            case WED: return "Wednesday";
7253            case THU: return "Thursday";
7254            case FRI: return "Friday";
7255            case SAT: return "Saturday";
7256            case SUN: return "Sunday";
7257            case NULL: return null;
7258            default: return "?";
7259          }
7260        }
7261    }
7262
7263  public static class DaysOfWeekEnumFactory implements EnumFactory<DaysOfWeek> {
7264    public DaysOfWeek fromCode(String codeString) throws IllegalArgumentException {
7265      if (codeString == null || "".equals(codeString))
7266            if (codeString == null || "".equals(codeString))
7267                return null;
7268        if ("mon".equals(codeString))
7269          return DaysOfWeek.MON;
7270        if ("tue".equals(codeString))
7271          return DaysOfWeek.TUE;
7272        if ("wed".equals(codeString))
7273          return DaysOfWeek.WED;
7274        if ("thu".equals(codeString))
7275          return DaysOfWeek.THU;
7276        if ("fri".equals(codeString))
7277          return DaysOfWeek.FRI;
7278        if ("sat".equals(codeString))
7279          return DaysOfWeek.SAT;
7280        if ("sun".equals(codeString))
7281          return DaysOfWeek.SUN;
7282        throw new IllegalArgumentException("Unknown DaysOfWeek code '"+codeString+"'");
7283        }
7284
7285        public Enumeration<DaysOfWeek> fromType(PrimitiveType<?> code) throws FHIRException {
7286          if (code == null)
7287            return null;
7288          if (code.isEmpty())
7289            return new Enumeration<DaysOfWeek>(this, DaysOfWeek.NULL, code);
7290          String codeString = ((PrimitiveType) code).asStringValue();
7291          if (codeString == null || "".equals(codeString))
7292            return new Enumeration<DaysOfWeek>(this, DaysOfWeek.NULL, code);
7293        if ("mon".equals(codeString))
7294          return new Enumeration<DaysOfWeek>(this, DaysOfWeek.MON, code);
7295        if ("tue".equals(codeString))
7296          return new Enumeration<DaysOfWeek>(this, DaysOfWeek.TUE, code);
7297        if ("wed".equals(codeString))
7298          return new Enumeration<DaysOfWeek>(this, DaysOfWeek.WED, code);
7299        if ("thu".equals(codeString))
7300          return new Enumeration<DaysOfWeek>(this, DaysOfWeek.THU, code);
7301        if ("fri".equals(codeString))
7302          return new Enumeration<DaysOfWeek>(this, DaysOfWeek.FRI, code);
7303        if ("sat".equals(codeString))
7304          return new Enumeration<DaysOfWeek>(this, DaysOfWeek.SAT, code);
7305        if ("sun".equals(codeString))
7306          return new Enumeration<DaysOfWeek>(this, DaysOfWeek.SUN, code);
7307        throw new FHIRException("Unknown DaysOfWeek code '"+codeString+"'");
7308        }
7309    public String toCode(DaysOfWeek code) {
7310       if (code == DaysOfWeek.NULL)
7311           return null;
7312       if (code == DaysOfWeek.MON)
7313        return "mon";
7314      if (code == DaysOfWeek.TUE)
7315        return "tue";
7316      if (code == DaysOfWeek.WED)
7317        return "wed";
7318      if (code == DaysOfWeek.THU)
7319        return "thu";
7320      if (code == DaysOfWeek.FRI)
7321        return "fri";
7322      if (code == DaysOfWeek.SAT)
7323        return "sat";
7324      if (code == DaysOfWeek.SUN)
7325        return "sun";
7326      return "?";
7327   }
7328    public String toSystem(DaysOfWeek code) {
7329      return code.getSystem();
7330      }
7331    }
7332
7333    public enum DeviceNameType {
7334        /**
7335         * The term assigned to a medical device by the entity who registers or submits information about it to a jurisdiction or its databases. This may be considered the manufacturer assigned name (e.g., brand name assigned by the labeler or manufacturer in US, or device name assigned by the manufacturer in EU) and may also be synonymous with proprietary name or trade name of the device.
7336         */
7337        REGISTEREDNAME, 
7338        /**
7339         * The term that generically describes the device by a name as assigned by the manufacturer that is recognized by lay person.  This common or generic name may be printed on the package it came in or some combination of that name with the model number, serial number, or other attribute that makes the name easy to understand for the user of that device. It is often exposed in communicating devices transport protocols. It is provided to help users identify the device when reported in discovery operations.
7340         */
7341        USERFRIENDLYNAME, 
7342        /**
7343         * the term used by the patient associated with the device when describing the device, for example 'knee implant', when documented as a self-reported device.
7344         */
7345        PATIENTREPORTEDNAME, 
7346        /**
7347         * added to help the parsers
7348         */
7349        NULL;
7350        public static DeviceNameType fromCode(String codeString) throws FHIRException {
7351            if (codeString == null || "".equals(codeString))
7352                return null;
7353        if ("registered-name".equals(codeString))
7354          return REGISTEREDNAME;
7355        if ("user-friendly-name".equals(codeString))
7356          return USERFRIENDLYNAME;
7357        if ("patient-reported-name".equals(codeString))
7358          return PATIENTREPORTEDNAME;
7359        throw new FHIRException("Unknown DeviceNameType code '"+codeString+"'");
7360        }
7361        public static boolean isValidCode(String codeString) {
7362            if (codeString == null || "".equals(codeString))
7363                return false;
7364          return Utilities.existsInList(codeString, "registered-name", "user-friendly-name", "patient-reported-name");
7365        }
7366        public String toCode() {
7367          switch (this) {
7368            case REGISTEREDNAME: return "registered-name";
7369            case USERFRIENDLYNAME: return "user-friendly-name";
7370            case PATIENTREPORTEDNAME: return "patient-reported-name";
7371            case NULL: return null;
7372            default: return "?";
7373          }
7374        }
7375        public String getSystem() {
7376          switch (this) {
7377            case REGISTEREDNAME: return "http://hl7.org/fhir/device-nametype";
7378            case USERFRIENDLYNAME: return "http://hl7.org/fhir/device-nametype";
7379            case PATIENTREPORTEDNAME: return "http://hl7.org/fhir/device-nametype";
7380            case NULL: return null;
7381            default: return "?";
7382          }
7383        }
7384        public String getDefinition() {
7385          switch (this) {
7386            case REGISTEREDNAME: return "The term assigned to a medical device by the entity who registers or submits information about it to a jurisdiction or its databases. This may be considered the manufacturer assigned name (e.g., brand name assigned by the labeler or manufacturer in US, or device name assigned by the manufacturer in EU) and may also be synonymous with proprietary name or trade name of the device.";
7387            case USERFRIENDLYNAME: return "The term that generically describes the device by a name as assigned by the manufacturer that is recognized by lay person.  This common or generic name may be printed on the package it came in or some combination of that name with the model number, serial number, or other attribute that makes the name easy to understand for the user of that device. It is often exposed in communicating devices transport protocols. It is provided to help users identify the device when reported in discovery operations.";
7388            case PATIENTREPORTEDNAME: return "the term used by the patient associated with the device when describing the device, for example 'knee implant', when documented as a self-reported device.";
7389            case NULL: return null;
7390            default: return "?";
7391          }
7392        }
7393        public String getDisplay() {
7394          switch (this) {
7395            case REGISTEREDNAME: return "Registered name";
7396            case USERFRIENDLYNAME: return "User Friendly name";
7397            case PATIENTREPORTEDNAME: return "Patient Reported name";
7398            case NULL: return null;
7399            default: return "?";
7400          }
7401        }
7402    }
7403
7404  public static class DeviceNameTypeEnumFactory implements EnumFactory<DeviceNameType> {
7405    public DeviceNameType fromCode(String codeString) throws IllegalArgumentException {
7406      if (codeString == null || "".equals(codeString))
7407            if (codeString == null || "".equals(codeString))
7408                return null;
7409        if ("registered-name".equals(codeString))
7410          return DeviceNameType.REGISTEREDNAME;
7411        if ("user-friendly-name".equals(codeString))
7412          return DeviceNameType.USERFRIENDLYNAME;
7413        if ("patient-reported-name".equals(codeString))
7414          return DeviceNameType.PATIENTREPORTEDNAME;
7415        throw new IllegalArgumentException("Unknown DeviceNameType code '"+codeString+"'");
7416        }
7417
7418        public Enumeration<DeviceNameType> fromType(PrimitiveType<?> code) throws FHIRException {
7419          if (code == null)
7420            return null;
7421          if (code.isEmpty())
7422            return new Enumeration<DeviceNameType>(this, DeviceNameType.NULL, code);
7423          String codeString = ((PrimitiveType) code).asStringValue();
7424          if (codeString == null || "".equals(codeString))
7425            return new Enumeration<DeviceNameType>(this, DeviceNameType.NULL, code);
7426        if ("registered-name".equals(codeString))
7427          return new Enumeration<DeviceNameType>(this, DeviceNameType.REGISTEREDNAME, code);
7428        if ("user-friendly-name".equals(codeString))
7429          return new Enumeration<DeviceNameType>(this, DeviceNameType.USERFRIENDLYNAME, code);
7430        if ("patient-reported-name".equals(codeString))
7431          return new Enumeration<DeviceNameType>(this, DeviceNameType.PATIENTREPORTEDNAME, code);
7432        throw new FHIRException("Unknown DeviceNameType code '"+codeString+"'");
7433        }
7434    public String toCode(DeviceNameType code) {
7435       if (code == DeviceNameType.NULL)
7436           return null;
7437       if (code == DeviceNameType.REGISTEREDNAME)
7438        return "registered-name";
7439      if (code == DeviceNameType.USERFRIENDLYNAME)
7440        return "user-friendly-name";
7441      if (code == DeviceNameType.PATIENTREPORTEDNAME)
7442        return "patient-reported-name";
7443      return "?";
7444   }
7445    public String toSystem(DeviceNameType code) {
7446      return code.getSystem();
7447      }
7448    }
7449
7450    public enum EncounterStatus {
7451        /**
7452         * The Encounter has not yet started.
7453         */
7454        PLANNED, 
7455        /**
7456         * The Encounter has begun and the patient is present / the practitioner and the patient are meeting.
7457         */
7458        INPROGRESS, 
7459        /**
7460         * The Encounter has begun, but is currently on hold, e.g. because the patient is temporarily on leave.
7461         */
7462        ONHOLD, 
7463        /**
7464         * The Encounter has been clinically completed, the patient has been discharged from the facility or the visit has ended, and the patient may have departed (refer to subjectStatus). While the encounter is in this status, administrative activities are usually performed, collating all required documentation and charge information before being released for billing, at which point the status will move to completed.
7465         */
7466        DISCHARGED, 
7467        /**
7468         * The Encounter has ended.
7469         */
7470        COMPLETED, 
7471        /**
7472         * The Encounter has ended before it has begun.
7473         */
7474        CANCELLED, 
7475        /**
7476         * The Encounter has started, but was not able to be completed. Further action may need to be performed, such as rescheduling appointments related to this encounter.
7477         */
7478        DISCONTINUED, 
7479        /**
7480         * This instance should not have been part of this patient's medical record.
7481         */
7482        ENTEREDINERROR, 
7483        /**
7484         * The encounter status is unknown. Note that "unknown" is a value of last resort and every attempt should be made to provide a meaningful value other than "unknown".
7485         */
7486        UNKNOWN, 
7487        /**
7488         * added to help the parsers
7489         */
7490        NULL;
7491        public static EncounterStatus fromCode(String codeString) throws FHIRException {
7492            if (codeString == null || "".equals(codeString))
7493                return null;
7494        if ("planned".equals(codeString))
7495          return PLANNED;
7496        if ("in-progress".equals(codeString))
7497          return INPROGRESS;
7498        if ("on-hold".equals(codeString))
7499          return ONHOLD;
7500        if ("discharged".equals(codeString))
7501          return DISCHARGED;
7502        if ("completed".equals(codeString))
7503          return COMPLETED;
7504        if ("cancelled".equals(codeString))
7505          return CANCELLED;
7506        if ("discontinued".equals(codeString))
7507          return DISCONTINUED;
7508        if ("entered-in-error".equals(codeString))
7509          return ENTEREDINERROR;
7510        if ("unknown".equals(codeString))
7511          return UNKNOWN;
7512        throw new FHIRException("Unknown EncounterStatus code '"+codeString+"'");
7513        }
7514        public static boolean isValidCode(String codeString) {
7515            if (codeString == null || "".equals(codeString))
7516                return false;
7517          return Utilities.existsInList(codeString, "planned", "in-progress", "on-hold", "discharged", "completed", "cancelled", "discontinued", "entered-in-error", "unknown");
7518        }
7519        public String toCode() {
7520          switch (this) {
7521            case PLANNED: return "planned";
7522            case INPROGRESS: return "in-progress";
7523            case ONHOLD: return "on-hold";
7524            case DISCHARGED: return "discharged";
7525            case COMPLETED: return "completed";
7526            case CANCELLED: return "cancelled";
7527            case DISCONTINUED: return "discontinued";
7528            case ENTEREDINERROR: return "entered-in-error";
7529            case UNKNOWN: return "unknown";
7530            case NULL: return null;
7531            default: return "?";
7532          }
7533        }
7534        public String getSystem() {
7535          switch (this) {
7536            case PLANNED: return "http://hl7.org/fhir/encounter-status";
7537            case INPROGRESS: return "http://hl7.org/fhir/encounter-status";
7538            case ONHOLD: return "http://hl7.org/fhir/encounter-status";
7539            case DISCHARGED: return "http://hl7.org/fhir/encounter-status";
7540            case COMPLETED: return "http://hl7.org/fhir/encounter-status";
7541            case CANCELLED: return "http://hl7.org/fhir/encounter-status";
7542            case DISCONTINUED: return "http://hl7.org/fhir/encounter-status";
7543            case ENTEREDINERROR: return "http://hl7.org/fhir/encounter-status";
7544            case UNKNOWN: return "http://hl7.org/fhir/encounter-status";
7545            case NULL: return null;
7546            default: return "?";
7547          }
7548        }
7549        public String getDefinition() {
7550          switch (this) {
7551            case PLANNED: return "The Encounter has not yet started.";
7552            case INPROGRESS: return "The Encounter has begun and the patient is present / the practitioner and the patient are meeting.";
7553            case ONHOLD: return "The Encounter has begun, but is currently on hold, e.g. because the patient is temporarily on leave.";
7554            case DISCHARGED: return "The Encounter has been clinically completed, the patient has been discharged from the facility or the visit has ended, and the patient may have departed (refer to subjectStatus). While the encounter is in this status, administrative activities are usually performed, collating all required documentation and charge information before being released for billing, at which point the status will move to completed.";
7555            case COMPLETED: return "The Encounter has ended.";
7556            case CANCELLED: return "The Encounter has ended before it has begun.";
7557            case DISCONTINUED: return "The Encounter has started, but was not able to be completed. Further action may need to be performed, such as rescheduling appointments related to this encounter.";
7558            case ENTEREDINERROR: return "This instance should not have been part of this patient's medical record.";
7559            case UNKNOWN: return "The encounter status is unknown. Note that \"unknown\" is a value of last resort and every attempt should be made to provide a meaningful value other than \"unknown\".";
7560            case NULL: return null;
7561            default: return "?";
7562          }
7563        }
7564        public String getDisplay() {
7565          switch (this) {
7566            case PLANNED: return "Planned";
7567            case INPROGRESS: return "In Progress";
7568            case ONHOLD: return "On Hold";
7569            case DISCHARGED: return "Discharged";
7570            case COMPLETED: return "Completed";
7571            case CANCELLED: return "Cancelled";
7572            case DISCONTINUED: return "Discontinued";
7573            case ENTEREDINERROR: return "Entered in Error";
7574            case UNKNOWN: return "Unknown";
7575            case NULL: return null;
7576            default: return "?";
7577          }
7578        }
7579    }
7580
7581  public static class EncounterStatusEnumFactory implements EnumFactory<EncounterStatus> {
7582    public EncounterStatus fromCode(String codeString) throws IllegalArgumentException {
7583      if (codeString == null || "".equals(codeString))
7584            if (codeString == null || "".equals(codeString))
7585                return null;
7586        if ("planned".equals(codeString))
7587          return EncounterStatus.PLANNED;
7588        if ("in-progress".equals(codeString))
7589          return EncounterStatus.INPROGRESS;
7590        if ("on-hold".equals(codeString))
7591          return EncounterStatus.ONHOLD;
7592        if ("discharged".equals(codeString))
7593          return EncounterStatus.DISCHARGED;
7594        if ("completed".equals(codeString))
7595          return EncounterStatus.COMPLETED;
7596        if ("cancelled".equals(codeString))
7597          return EncounterStatus.CANCELLED;
7598        if ("discontinued".equals(codeString))
7599          return EncounterStatus.DISCONTINUED;
7600        if ("entered-in-error".equals(codeString))
7601          return EncounterStatus.ENTEREDINERROR;
7602        if ("unknown".equals(codeString))
7603          return EncounterStatus.UNKNOWN;
7604        throw new IllegalArgumentException("Unknown EncounterStatus code '"+codeString+"'");
7605        }
7606
7607        public Enumeration<EncounterStatus> fromType(PrimitiveType<?> code) throws FHIRException {
7608          if (code == null)
7609            return null;
7610          if (code.isEmpty())
7611            return new Enumeration<EncounterStatus>(this, EncounterStatus.NULL, code);
7612          String codeString = ((PrimitiveType) code).asStringValue();
7613          if (codeString == null || "".equals(codeString))
7614            return new Enumeration<EncounterStatus>(this, EncounterStatus.NULL, code);
7615        if ("planned".equals(codeString))
7616          return new Enumeration<EncounterStatus>(this, EncounterStatus.PLANNED, code);
7617        if ("in-progress".equals(codeString))
7618          return new Enumeration<EncounterStatus>(this, EncounterStatus.INPROGRESS, code);
7619        if ("on-hold".equals(codeString))
7620          return new Enumeration<EncounterStatus>(this, EncounterStatus.ONHOLD, code);
7621        if ("discharged".equals(codeString))
7622          return new Enumeration<EncounterStatus>(this, EncounterStatus.DISCHARGED, code);
7623        if ("completed".equals(codeString))
7624          return new Enumeration<EncounterStatus>(this, EncounterStatus.COMPLETED, code);
7625        if ("cancelled".equals(codeString))
7626          return new Enumeration<EncounterStatus>(this, EncounterStatus.CANCELLED, code);
7627        if ("discontinued".equals(codeString))
7628          return new Enumeration<EncounterStatus>(this, EncounterStatus.DISCONTINUED, code);
7629        if ("entered-in-error".equals(codeString))
7630          return new Enumeration<EncounterStatus>(this, EncounterStatus.ENTEREDINERROR, code);
7631        if ("unknown".equals(codeString))
7632          return new Enumeration<EncounterStatus>(this, EncounterStatus.UNKNOWN, code);
7633        throw new FHIRException("Unknown EncounterStatus code '"+codeString+"'");
7634        }
7635    public String toCode(EncounterStatus code) {
7636       if (code == EncounterStatus.NULL)
7637           return null;
7638       if (code == EncounterStatus.PLANNED)
7639        return "planned";
7640      if (code == EncounterStatus.INPROGRESS)
7641        return "in-progress";
7642      if (code == EncounterStatus.ONHOLD)
7643        return "on-hold";
7644      if (code == EncounterStatus.DISCHARGED)
7645        return "discharged";
7646      if (code == EncounterStatus.COMPLETED)
7647        return "completed";
7648      if (code == EncounterStatus.CANCELLED)
7649        return "cancelled";
7650      if (code == EncounterStatus.DISCONTINUED)
7651        return "discontinued";
7652      if (code == EncounterStatus.ENTEREDINERROR)
7653        return "entered-in-error";
7654      if (code == EncounterStatus.UNKNOWN)
7655        return "unknown";
7656      return "?";
7657   }
7658    public String toSystem(EncounterStatus code) {
7659      return code.getSystem();
7660      }
7661    }
7662
7663    public enum EventStatus {
7664        /**
7665         * The core event has not started yet, but some staging activities have begun (e.g. surgical suite preparation).  Preparation stages may be tracked for billing purposes.
7666         */
7667        PREPARATION, 
7668        /**
7669         * The event is currently occurring.
7670         */
7671        INPROGRESS, 
7672        /**
7673         * The event was terminated prior to any activity beyond preparation.  I.e. The 'main' activity has not yet begun.  The boundary between preparatory and the 'main' activity is context-specific.
7674         */
7675        NOTDONE, 
7676        /**
7677         * The event has been temporarily stopped but is expected to resume in the future.
7678         */
7679        ONHOLD, 
7680        /**
7681         * The event was terminated prior to the full completion of the intended activity but after at least some of the 'main' activity (beyond preparation) has occurred.
7682         */
7683        STOPPED, 
7684        /**
7685         * The event has now concluded.
7686         */
7687        COMPLETED, 
7688        /**
7689         * This electronic record should never have existed, though it is possible that real-world decisions were based on it.  (If real-world activity has occurred, the status should be "stopped" rather than "entered-in-error".).
7690         */
7691        ENTEREDINERROR, 
7692        /**
7693         * The authoring/source system does not know which of the status values currently applies for this event.  Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply,  but the authoring/source system does not know which.
7694         */
7695        UNKNOWN, 
7696        /**
7697         * added to help the parsers
7698         */
7699        NULL;
7700        public static EventStatus fromCode(String codeString) throws FHIRException {
7701            if (codeString == null || "".equals(codeString))
7702                return null;
7703        if ("preparation".equals(codeString))
7704          return PREPARATION;
7705        if ("in-progress".equals(codeString))
7706          return INPROGRESS;
7707        if ("not-done".equals(codeString))
7708          return NOTDONE;
7709        if ("on-hold".equals(codeString))
7710          return ONHOLD;
7711        if ("stopped".equals(codeString))
7712          return STOPPED;
7713        if ("completed".equals(codeString))
7714          return COMPLETED;
7715        if ("entered-in-error".equals(codeString))
7716          return ENTEREDINERROR;
7717        if ("unknown".equals(codeString))
7718          return UNKNOWN;
7719        throw new FHIRException("Unknown EventStatus code '"+codeString+"'");
7720        }
7721        public static boolean isValidCode(String codeString) {
7722            if (codeString == null || "".equals(codeString))
7723                return false;
7724          return Utilities.existsInList(codeString, "preparation", "in-progress", "not-done", "on-hold", "stopped", "completed", "entered-in-error", "unknown");
7725        }
7726        public String toCode() {
7727          switch (this) {
7728            case PREPARATION: return "preparation";
7729            case INPROGRESS: return "in-progress";
7730            case NOTDONE: return "not-done";
7731            case ONHOLD: return "on-hold";
7732            case STOPPED: return "stopped";
7733            case COMPLETED: return "completed";
7734            case ENTEREDINERROR: return "entered-in-error";
7735            case UNKNOWN: return "unknown";
7736            case NULL: return null;
7737            default: return "?";
7738          }
7739        }
7740        public String getSystem() {
7741          switch (this) {
7742            case PREPARATION: return "http://hl7.org/fhir/event-status";
7743            case INPROGRESS: return "http://hl7.org/fhir/event-status";
7744            case NOTDONE: return "http://hl7.org/fhir/event-status";
7745            case ONHOLD: return "http://hl7.org/fhir/event-status";
7746            case STOPPED: return "http://hl7.org/fhir/event-status";
7747            case COMPLETED: return "http://hl7.org/fhir/event-status";
7748            case ENTEREDINERROR: return "http://hl7.org/fhir/event-status";
7749            case UNKNOWN: return "http://hl7.org/fhir/event-status";
7750            case NULL: return null;
7751            default: return "?";
7752          }
7753        }
7754        public String getDefinition() {
7755          switch (this) {
7756            case PREPARATION: return "The core event has not started yet, but some staging activities have begun (e.g. surgical suite preparation).  Preparation stages may be tracked for billing purposes.";
7757            case INPROGRESS: return "The event is currently occurring.";
7758            case NOTDONE: return "The event was terminated prior to any activity beyond preparation.  I.e. The 'main' activity has not yet begun.  The boundary between preparatory and the 'main' activity is context-specific.";
7759            case ONHOLD: return "The event has been temporarily stopped but is expected to resume in the future.";
7760            case STOPPED: return "The event was terminated prior to the full completion of the intended activity but after at least some of the 'main' activity (beyond preparation) has occurred.";
7761            case COMPLETED: return "The event has now concluded.";
7762            case ENTEREDINERROR: return "This electronic record should never have existed, though it is possible that real-world decisions were based on it.  (If real-world activity has occurred, the status should be \"stopped\" rather than \"entered-in-error\".).";
7763            case UNKNOWN: return "The authoring/source system does not know which of the status values currently applies for this event.  Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply,  but the authoring/source system does not know which.";
7764            case NULL: return null;
7765            default: return "?";
7766          }
7767        }
7768        public String getDisplay() {
7769          switch (this) {
7770            case PREPARATION: return "Preparation";
7771            case INPROGRESS: return "In Progress";
7772            case NOTDONE: return "Not Done";
7773            case ONHOLD: return "On Hold";
7774            case STOPPED: return "Stopped";
7775            case COMPLETED: return "Completed";
7776            case ENTEREDINERROR: return "Entered in Error";
7777            case UNKNOWN: return "Unknown";
7778            case NULL: return null;
7779            default: return "?";
7780          }
7781        }
7782    }
7783
7784  public static class EventStatusEnumFactory implements EnumFactory<EventStatus> {
7785    public EventStatus fromCode(String codeString) throws IllegalArgumentException {
7786      if (codeString == null || "".equals(codeString))
7787            if (codeString == null || "".equals(codeString))
7788                return null;
7789        if ("preparation".equals(codeString))
7790          return EventStatus.PREPARATION;
7791        if ("in-progress".equals(codeString))
7792          return EventStatus.INPROGRESS;
7793        if ("not-done".equals(codeString))
7794          return EventStatus.NOTDONE;
7795        if ("on-hold".equals(codeString))
7796          return EventStatus.ONHOLD;
7797        if ("stopped".equals(codeString))
7798          return EventStatus.STOPPED;
7799        if ("completed".equals(codeString))
7800          return EventStatus.COMPLETED;
7801        if ("entered-in-error".equals(codeString))
7802          return EventStatus.ENTEREDINERROR;
7803        if ("unknown".equals(codeString))
7804          return EventStatus.UNKNOWN;
7805        throw new IllegalArgumentException("Unknown EventStatus code '"+codeString+"'");
7806        }
7807
7808        public Enumeration<EventStatus> fromType(PrimitiveType<?> code) throws FHIRException {
7809          if (code == null)
7810            return null;
7811          if (code.isEmpty())
7812            return new Enumeration<EventStatus>(this, EventStatus.NULL, code);
7813          String codeString = ((PrimitiveType) code).asStringValue();
7814          if (codeString == null || "".equals(codeString))
7815            return new Enumeration<EventStatus>(this, EventStatus.NULL, code);
7816        if ("preparation".equals(codeString))
7817          return new Enumeration<EventStatus>(this, EventStatus.PREPARATION, code);
7818        if ("in-progress".equals(codeString))
7819          return new Enumeration<EventStatus>(this, EventStatus.INPROGRESS, code);
7820        if ("not-done".equals(codeString))
7821          return new Enumeration<EventStatus>(this, EventStatus.NOTDONE, code);
7822        if ("on-hold".equals(codeString))
7823          return new Enumeration<EventStatus>(this, EventStatus.ONHOLD, code);
7824        if ("stopped".equals(codeString))
7825          return new Enumeration<EventStatus>(this, EventStatus.STOPPED, code);
7826        if ("completed".equals(codeString))
7827          return new Enumeration<EventStatus>(this, EventStatus.COMPLETED, code);
7828        if ("entered-in-error".equals(codeString))
7829          return new Enumeration<EventStatus>(this, EventStatus.ENTEREDINERROR, code);
7830        if ("unknown".equals(codeString))
7831          return new Enumeration<EventStatus>(this, EventStatus.UNKNOWN, code);
7832        throw new FHIRException("Unknown EventStatus code '"+codeString+"'");
7833        }
7834    public String toCode(EventStatus code) {
7835       if (code == EventStatus.NULL)
7836           return null;
7837       if (code == EventStatus.PREPARATION)
7838        return "preparation";
7839      if (code == EventStatus.INPROGRESS)
7840        return "in-progress";
7841      if (code == EventStatus.NOTDONE)
7842        return "not-done";
7843      if (code == EventStatus.ONHOLD)
7844        return "on-hold";
7845      if (code == EventStatus.STOPPED)
7846        return "stopped";
7847      if (code == EventStatus.COMPLETED)
7848        return "completed";
7849      if (code == EventStatus.ENTEREDINERROR)
7850        return "entered-in-error";
7851      if (code == EventStatus.UNKNOWN)
7852        return "unknown";
7853      return "?";
7854   }
7855    public String toSystem(EventStatus code) {
7856      return code.getSystem();
7857      }
7858    }
7859
7860    public enum EvidenceVariableHandling {
7861        /**
7862         * A continuous variable is one for which, within the limits the variable ranges, any value is possible (from STATO http://purl.obolibrary.org/obo/STATO_0000251).
7863         */
7864        CONTINUOUS, 
7865        /**
7866         * A dichotomous variable is a categorical variable which is defined to have only 2 categories or possible values (from STATO http://purl.obolibrary.org/obo/STATO_0000090).
7867         */
7868        DICHOTOMOUS, 
7869        /**
7870         * An ordinal variable is a categorical variable where the discrete possible values are ordered or correspond to an implicit ranking (from STATO http://purl.obolibrary.org/obo/STATO_0000228).
7871         */
7872        ORDINAL, 
7873        /**
7874         * A polychotomous variable is a categorical variable which is defined to have minimally 2 categories or possible values. (from STATO  http://purl.obolibrary.org/obo/STATO_0000087).  Suggestion to limit code use to situations when neither dichotomous nor ordinal variables apply.
7875         */
7876        POLYCHOTOMOUS, 
7877        /**
7878         * added to help the parsers
7879         */
7880        NULL;
7881        public static EvidenceVariableHandling fromCode(String codeString) throws FHIRException {
7882            if (codeString == null || "".equals(codeString))
7883                return null;
7884        if ("continuous".equals(codeString))
7885          return CONTINUOUS;
7886        if ("dichotomous".equals(codeString))
7887          return DICHOTOMOUS;
7888        if ("ordinal".equals(codeString))
7889          return ORDINAL;
7890        if ("polychotomous".equals(codeString))
7891          return POLYCHOTOMOUS;
7892        throw new FHIRException("Unknown EvidenceVariableHandling code '"+codeString+"'");
7893        }
7894        public static boolean isValidCode(String codeString) {
7895            if (codeString == null || "".equals(codeString))
7896                return false;
7897          return Utilities.existsInList(codeString, "continuous", "dichotomous", "ordinal", "polychotomous");
7898        }
7899        public String toCode() {
7900          switch (this) {
7901            case CONTINUOUS: return "continuous";
7902            case DICHOTOMOUS: return "dichotomous";
7903            case ORDINAL: return "ordinal";
7904            case POLYCHOTOMOUS: return "polychotomous";
7905            case NULL: return null;
7906            default: return "?";
7907          }
7908        }
7909        public String getSystem() {
7910          switch (this) {
7911            case CONTINUOUS: return "http://hl7.org/fhir/variable-handling";
7912            case DICHOTOMOUS: return "http://hl7.org/fhir/variable-handling";
7913            case ORDINAL: return "http://hl7.org/fhir/variable-handling";
7914            case POLYCHOTOMOUS: return "http://hl7.org/fhir/variable-handling";
7915            case NULL: return null;
7916            default: return "?";
7917          }
7918        }
7919        public String getDefinition() {
7920          switch (this) {
7921            case CONTINUOUS: return "A continuous variable is one for which, within the limits the variable ranges, any value is possible (from STATO http://purl.obolibrary.org/obo/STATO_0000251).";
7922            case DICHOTOMOUS: return "A dichotomous variable is a categorical variable which is defined to have only 2 categories or possible values (from STATO http://purl.obolibrary.org/obo/STATO_0000090).";
7923            case ORDINAL: return "An ordinal variable is a categorical variable where the discrete possible values are ordered or correspond to an implicit ranking (from STATO http://purl.obolibrary.org/obo/STATO_0000228).";
7924            case POLYCHOTOMOUS: return "A polychotomous variable is a categorical variable which is defined to have minimally 2 categories or possible values. (from STATO  http://purl.obolibrary.org/obo/STATO_0000087).  Suggestion to limit code use to situations when neither dichotomous nor ordinal variables apply.";
7925            case NULL: return null;
7926            default: return "?";
7927          }
7928        }
7929        public String getDisplay() {
7930          switch (this) {
7931            case CONTINUOUS: return "continuous variable";
7932            case DICHOTOMOUS: return "dichotomous variable";
7933            case ORDINAL: return "ordinal variable";
7934            case POLYCHOTOMOUS: return "polychotomous variable";
7935            case NULL: return null;
7936            default: return "?";
7937          }
7938        }
7939    }
7940
7941  public static class EvidenceVariableHandlingEnumFactory implements EnumFactory<EvidenceVariableHandling> {
7942    public EvidenceVariableHandling fromCode(String codeString) throws IllegalArgumentException {
7943      if (codeString == null || "".equals(codeString))
7944            if (codeString == null || "".equals(codeString))
7945                return null;
7946        if ("continuous".equals(codeString))
7947          return EvidenceVariableHandling.CONTINUOUS;
7948        if ("dichotomous".equals(codeString))
7949          return EvidenceVariableHandling.DICHOTOMOUS;
7950        if ("ordinal".equals(codeString))
7951          return EvidenceVariableHandling.ORDINAL;
7952        if ("polychotomous".equals(codeString))
7953          return EvidenceVariableHandling.POLYCHOTOMOUS;
7954        throw new IllegalArgumentException("Unknown EvidenceVariableHandling code '"+codeString+"'");
7955        }
7956
7957        public Enumeration<EvidenceVariableHandling> fromType(PrimitiveType<?> code) throws FHIRException {
7958          if (code == null)
7959            return null;
7960          if (code.isEmpty())
7961            return new Enumeration<EvidenceVariableHandling>(this, EvidenceVariableHandling.NULL, code);
7962          String codeString = ((PrimitiveType) code).asStringValue();
7963          if (codeString == null || "".equals(codeString))
7964            return new Enumeration<EvidenceVariableHandling>(this, EvidenceVariableHandling.NULL, code);
7965        if ("continuous".equals(codeString))
7966          return new Enumeration<EvidenceVariableHandling>(this, EvidenceVariableHandling.CONTINUOUS, code);
7967        if ("dichotomous".equals(codeString))
7968          return new Enumeration<EvidenceVariableHandling>(this, EvidenceVariableHandling.DICHOTOMOUS, code);
7969        if ("ordinal".equals(codeString))
7970          return new Enumeration<EvidenceVariableHandling>(this, EvidenceVariableHandling.ORDINAL, code);
7971        if ("polychotomous".equals(codeString))
7972          return new Enumeration<EvidenceVariableHandling>(this, EvidenceVariableHandling.POLYCHOTOMOUS, code);
7973        throw new FHIRException("Unknown EvidenceVariableHandling code '"+codeString+"'");
7974        }
7975    public String toCode(EvidenceVariableHandling code) {
7976       if (code == EvidenceVariableHandling.NULL)
7977           return null;
7978       if (code == EvidenceVariableHandling.CONTINUOUS)
7979        return "continuous";
7980      if (code == EvidenceVariableHandling.DICHOTOMOUS)
7981        return "dichotomous";
7982      if (code == EvidenceVariableHandling.ORDINAL)
7983        return "ordinal";
7984      if (code == EvidenceVariableHandling.POLYCHOTOMOUS)
7985        return "polychotomous";
7986      return "?";
7987   }
7988    public String toSystem(EvidenceVariableHandling code) {
7989      return code.getSystem();
7990      }
7991    }
7992
7993    public enum ExampleScenarioActorType {
7994        /**
7995         * A human actor
7996         */
7997        PERSON, 
7998        /**
7999         * A software application or other system
8000         */
8001        SYSTEM, 
8002        /**
8003         * added to help the parsers
8004         */
8005        NULL;
8006        public static ExampleScenarioActorType fromCode(String codeString) throws FHIRException {
8007            if (codeString == null || "".equals(codeString))
8008                return null;
8009        if ("person".equals(codeString))
8010          return PERSON;
8011        if ("system".equals(codeString))
8012          return SYSTEM;
8013        throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'");
8014        }
8015        public static boolean isValidCode(String codeString) {
8016            if (codeString == null || "".equals(codeString))
8017                return false;
8018          return Utilities.existsInList(codeString, "person", "system");
8019        }
8020        public String toCode() {
8021          switch (this) {
8022            case PERSON: return "person";
8023            case SYSTEM: return "system";
8024            case NULL: return null;
8025            default: return "?";
8026          }
8027        }
8028        public String getSystem() {
8029          switch (this) {
8030            case PERSON: return "http://hl7.org/fhir/examplescenario-actor-type";
8031            case SYSTEM: return "http://hl7.org/fhir/examplescenario-actor-type";
8032            case NULL: return null;
8033            default: return "?";
8034          }
8035        }
8036        public String getDefinition() {
8037          switch (this) {
8038            case PERSON: return "A human actor";
8039            case SYSTEM: return "A software application or other system";
8040            case NULL: return null;
8041            default: return "?";
8042          }
8043        }
8044        public String getDisplay() {
8045          switch (this) {
8046            case PERSON: return "Person";
8047            case SYSTEM: return "System";
8048            case NULL: return null;
8049            default: return "?";
8050          }
8051        }
8052    }
8053
8054  public static class ExampleScenarioActorTypeEnumFactory implements EnumFactory<ExampleScenarioActorType> {
8055    public ExampleScenarioActorType fromCode(String codeString) throws IllegalArgumentException {
8056      if (codeString == null || "".equals(codeString))
8057            if (codeString == null || "".equals(codeString))
8058                return null;
8059        if ("person".equals(codeString))
8060          return ExampleScenarioActorType.PERSON;
8061        if ("system".equals(codeString))
8062          return ExampleScenarioActorType.SYSTEM;
8063        throw new IllegalArgumentException("Unknown ExampleScenarioActorType code '"+codeString+"'");
8064        }
8065
8066        public Enumeration<ExampleScenarioActorType> fromType(PrimitiveType<?> code) throws FHIRException {
8067          if (code == null)
8068            return null;
8069          if (code.isEmpty())
8070            return new Enumeration<ExampleScenarioActorType>(this, ExampleScenarioActorType.NULL, code);
8071          String codeString = ((PrimitiveType) code).asStringValue();
8072          if (codeString == null || "".equals(codeString))
8073            return new Enumeration<ExampleScenarioActorType>(this, ExampleScenarioActorType.NULL, code);
8074        if ("person".equals(codeString))
8075          return new Enumeration<ExampleScenarioActorType>(this, ExampleScenarioActorType.PERSON, code);
8076        if ("system".equals(codeString))
8077          return new Enumeration<ExampleScenarioActorType>(this, ExampleScenarioActorType.SYSTEM, code);
8078        throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'");
8079        }
8080    public String toCode(ExampleScenarioActorType code) {
8081       if (code == ExampleScenarioActorType.NULL)
8082           return null;
8083       if (code == ExampleScenarioActorType.PERSON)
8084        return "person";
8085      if (code == ExampleScenarioActorType.SYSTEM)
8086        return "system";
8087      return "?";
8088   }
8089    public String toSystem(ExampleScenarioActorType code) {
8090      return code.getSystem();
8091      }
8092    }
8093
8094    public enum FHIRTypes {
8095        /**
8096         * Base Type: Base definition for all types defined in FHIR type system.
8097         */
8098        BASE, 
8099        /**
8100         * Element Type: Base definition for all elements in a resource.
8101         */
8102        ELEMENT, 
8103        /**
8104         * BackboneElement Type: Base definition for all elements that are defined inside a resource - but not those in a data type.
8105         */
8106        BACKBONEELEMENT, 
8107        /**
8108         * DataType Type: The base class for all re-useable types defined as part of the FHIR Specification.
8109         */
8110        DATATYPE, 
8111        /**
8112         * Address Type: 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.
8113The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address.
8114         */
8115        ADDRESS, 
8116        /**
8117         * Annotation Type: A  text note which also  contains information about who made the statement and when.
8118         */
8119        ANNOTATION, 
8120        /**
8121         * Attachment Type: For referring to data content defined in other formats.
8122         */
8123        ATTACHMENT, 
8124        /**
8125         * Availability Type: Availability data for an {item}.
8126         */
8127        AVAILABILITY, 
8128        /**
8129         * BackboneType Type: Base definition for the few data types that are allowed to carry modifier extensions.
8130         */
8131        BACKBONETYPE, 
8132        /**
8133         * Dosage Type: Indicates how the medication is/was taken or should be taken by the patient.
8134         */
8135        DOSAGE, 
8136        /**
8137         * ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.
8138         */
8139        ELEMENTDEFINITION, 
8140        /**
8141         * MarketingStatus Type: 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.
8142         */
8143        MARKETINGSTATUS, 
8144        /**
8145         * ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class.
8146         */
8147        PRODUCTSHELFLIFE, 
8148        /**
8149         * Timing Type: 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.
8150         */
8151        TIMING, 
8152        /**
8153         * CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
8154         */
8155        CODEABLECONCEPT, 
8156        /**
8157         * CodeableReference Type: A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class).
8158         */
8159        CODEABLEREFERENCE, 
8160        /**
8161         * Coding Type: A reference to a code defined by a terminology system.
8162         */
8163        CODING, 
8164        /**
8165         * ContactDetail Type: Specifies contact information for a person or organization.
8166         */
8167        CONTACTDETAIL, 
8168        /**
8169         * ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
8170         */
8171        CONTACTPOINT, 
8172        /**
8173         * Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
8174         */
8175        CONTRIBUTOR, 
8176        /**
8177         * DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
8178         */
8179        DATAREQUIREMENT, 
8180        /**
8181         * Expression Type: 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.
8182         */
8183        EXPRESSION, 
8184        /**
8185         * ExtendedContactDetail Type: Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization.
8186         */
8187        EXTENDEDCONTACTDETAIL, 
8188        /**
8189         * Extension Type: Optional Extension Element - found in all resources.
8190         */
8191        EXTENSION, 
8192        /**
8193         * HumanName Type: A name, normally of a human, that can be used for other living entities (e.g. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information.
8194         */
8195        HUMANNAME, 
8196        /**
8197         * Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
8198         */
8199        IDENTIFIER, 
8200        /**
8201         * Meta Type: 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.
8202         */
8203        META, 
8204        /**
8205         * MonetaryComponent Type: Availability data for an {item}.
8206         */
8207        MONETARYCOMPONENT, 
8208        /**
8209         * Money Type: An amount of economic utility in some recognized currency.
8210         */
8211        MONEY, 
8212        /**
8213         * Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource.
8214         */
8215        NARRATIVE, 
8216        /**
8217         * ParameterDefinition Type: 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.
8218         */
8219        PARAMETERDEFINITION, 
8220        /**
8221         * Period Type: A time period defined by a start and end date and optionally time.
8222         */
8223        PERIOD, 
8224        /**
8225         * PrimitiveType Type: The base type for all re-useable types defined that have a simple property.
8226         */
8227        PRIMITIVETYPE, 
8228        /**
8229         * base64Binary Type: A stream of bytes
8230         */
8231        BASE64BINARY, 
8232        /**
8233         * boolean Type: Value of "true" or "false"
8234         */
8235        BOOLEAN, 
8236        /**
8237         * date Type: A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.
8238         */
8239        DATE, 
8240        /**
8241         * dateTime Type: A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a UTC offset 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.
8242         */
8243        DATETIME, 
8244        /**
8245         * decimal Type: A rational number with implicit precision
8246         */
8247        DECIMAL, 
8248        /**
8249         * instant Type: An instant in time - known at least to the second
8250         */
8251        INSTANT, 
8252        /**
8253         * integer Type: A whole number
8254         */
8255        INTEGER, 
8256        /**
8257         * positiveInt type: An integer with a value that is positive (e.g. >0)
8258         */
8259        POSITIVEINT, 
8260        /**
8261         * unsignedInt type: An integer with a value that is not negative (e.g. >= 0)
8262         */
8263        UNSIGNEDINT, 
8264        /**
8265         * integer64 Type: A very large whole number
8266         */
8267        INTEGER64, 
8268        /**
8269         * string Type: A sequence of Unicode characters
8270         */
8271        STRING, 
8272        /**
8273         * code type: 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
8274         */
8275        CODE, 
8276        /**
8277         * id type: 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.
8278         */
8279        ID, 
8280        /**
8281         * markdown type: A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
8282         */
8283        MARKDOWN, 
8284        /**
8285         * time Type: A time during the day, with no date specified
8286         */
8287        TIME, 
8288        /**
8289         * uri Type: String of characters used to identify a name or a resource
8290         */
8291        URI, 
8292        /**
8293         * canonical type: A URI that is a reference to a canonical URL on a FHIR resource
8294         */
8295        CANONICAL, 
8296        /**
8297         * oid type: An OID represented as a URI
8298         */
8299        OID, 
8300        /**
8301         * url type: A URI that is a literal reference
8302         */
8303        URL, 
8304        /**
8305         * uuid type: A UUID, represented as a URI
8306         */
8307        UUID, 
8308        /**
8309         * Quantity Type: 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.
8310         */
8311        QUANTITY, 
8312        /**
8313         * Age Type: A duration of time during which an organism (or a process) has existed.
8314         */
8315        AGE, 
8316        /**
8317         * Count Type: 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.
8318         */
8319        COUNT, 
8320        /**
8321         * Distance Type: A length - a value with a unit that is a physical distance.
8322         */
8323        DISTANCE, 
8324        /**
8325         * Duration Type: A length of time.
8326         */
8327        DURATION, 
8328        /**
8329         * Range Type: A set of ordered Quantities defined by a low and high limit.
8330         */
8331        RANGE, 
8332        /**
8333         * Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator.
8334         */
8335        RATIO, 
8336        /**
8337         * RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator.
8338         */
8339        RATIORANGE, 
8340        /**
8341         * Reference Type: A reference from one resource to another.
8342         */
8343        REFERENCE, 
8344        /**
8345         * RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references.
8346         */
8347        RELATEDARTIFACT, 
8348        /**
8349         * SampledData Type: A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
8350         */
8351        SAMPLEDDATA, 
8352        /**
8353         * Signature Type: 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.
8354         */
8355        SIGNATURE, 
8356        /**
8357         * TriggerDefinition Type: A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
8358         */
8359        TRIGGERDEFINITION, 
8360        /**
8361         * UsageContext Type: 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).
8362         */
8363        USAGECONTEXT, 
8364        /**
8365         * VirtualServiceDetail Type: Virtual Service Contact Details.
8366         */
8367        VIRTUALSERVICEDETAIL, 
8368        /**
8369         * xhtml Type definition
8370         */
8371        XHTML, 
8372        /**
8373         * This is the base resource type for everything.
8374         */
8375        RESOURCE, 
8376        /**
8377         * 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.
8378         */
8379        BINARY, 
8380        /**
8381         * A container for a collection of resources.
8382         */
8383        BUNDLE, 
8384        /**
8385         * A resource that includes narrative, extensions, and contained resources.
8386         */
8387        DOMAINRESOURCE, 
8388        /**
8389         * 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.
8390         */
8391        ACCOUNT, 
8392        /**
8393         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
8394         */
8395        ACTIVITYDEFINITION, 
8396        /**
8397         * The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.
8398         */
8399        ACTORDEFINITION, 
8400        /**
8401         * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed).
8402         */
8403        ADMINISTRABLEPRODUCTDEFINITION, 
8404        /**
8405         * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research participant. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical  research trial management.  Adverse events can be reported by healthcare providers, patients, caregivers or by medical products manufacturers.  Given the differences between these two concepts, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints.
8406         */
8407        ADVERSEEVENT, 
8408        /**
8409         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
8410         */
8411        ALLERGYINTOLERANCE, 
8412        /**
8413         * 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).
8414         */
8415        APPOINTMENT, 
8416        /**
8417         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
8418         */
8419        APPOINTMENTRESPONSE, 
8420        /**
8421         * This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content.
8422         */
8423        ARTIFACTASSESSMENT, 
8424        /**
8425         * A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis.
8426         */
8427        AUDITEVENT, 
8428        /**
8429         * 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.
8430         */
8431        BASIC, 
8432        /**
8433         * A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity.
8434         */
8435        BIOLOGICALLYDERIVEDPRODUCT, 
8436        /**
8437         * A record of dispensation of a biologically derived product.
8438         */
8439        BIOLOGICALLYDERIVEDPRODUCTDISPENSE, 
8440        /**
8441         * 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.
8442         */
8443        BODYSTRUCTURE, 
8444        /**
8445         * Common Interface declaration for conformance and knowledge artifact resources.
8446         */
8447        CANONICALRESOURCE, 
8448        /**
8449         * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client 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.
8450         */
8451        CAPABILITYSTATEMENT, 
8452        /**
8453         * 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.
8454         */
8455        CAREPLAN, 
8456        /**
8457         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care.
8458         */
8459        CARETEAM, 
8460        /**
8461         * 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.
8462         */
8463        CHARGEITEM, 
8464        /**
8465         * 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.
8466         */
8467        CHARGEITEMDEFINITION, 
8468        /**
8469         * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources.
8470         */
8471        CITATION, 
8472        /**
8473         * 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.
8474         */
8475        CLAIM, 
8476        /**
8477         * This resource provides the adjudication details from the processing of a Claim resource.
8478         */
8479        CLAIMRESPONSE, 
8480        /**
8481         * 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.
8482         */
8483        CLINICALIMPRESSION, 
8484        /**
8485         * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure.
8486         */
8487        CLINICALUSEDEFINITION, 
8488        /**
8489         * 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.
8490         */
8491        CODESYSTEM, 
8492        /**
8493         * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition.
8494         */
8495        COMMUNICATION, 
8496        /**
8497         * 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.
8498         */
8499        COMMUNICATIONREQUEST, 
8500        /**
8501         * A compartment definition that defines how resources are accessed on a server.
8502         */
8503        COMPARTMENTDEFINITION, 
8504        /**
8505         * 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.).
8506         */
8507        COMPOSITION, 
8508        /**
8509         * 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.
8510         */
8511        CONCEPTMAP, 
8512        /**
8513         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
8514         */
8515        CONDITION, 
8516        /**
8517         * A definition of a condition and information relevant to managing it.
8518         */
8519        CONDITIONDEFINITION, 
8520        /**
8521         * A record of a healthcare consumer?s  choices  or choices made on their behalf by a third party, 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.
8522         */
8523        CONSENT, 
8524        /**
8525         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
8526         */
8527        CONTRACT, 
8528        /**
8529         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
8530         */
8531        COVERAGE, 
8532        /**
8533         * 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.
8534         */
8535        COVERAGEELIGIBILITYREQUEST, 
8536        /**
8537         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
8538         */
8539        COVERAGEELIGIBILITYRESPONSE, 
8540        /**
8541         * 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, gaps in care, etc.
8542         */
8543        DETECTEDISSUE, 
8544        /**
8545         * This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc.), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element.
8546         */
8547        DEVICE, 
8548        /**
8549         * A record of association of a device.
8550         */
8551        DEVICEASSOCIATION, 
8552        /**
8553         * This is a specialized resource that defines the characteristics and capabilities of a device.
8554         */
8555        DEVICEDEFINITION, 
8556        /**
8557         * Indicates that a device is to be or has been dispensed for a named person/patient.  This includes a description of the product (supply) provided and the instructions for using the device.
8558         */
8559        DEVICEDISPENSE, 
8560        /**
8561         * Describes a measurement, calculation or setting capability of a device.  The DeviceMetric resource is derived from the ISO/IEEE 11073-10201 Domain Information Model standard, but is more widely applicable. 
8562         */
8563        DEVICEMETRIC, 
8564        /**
8565         * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used.
8566         */
8567        DEVICEREQUEST, 
8568        /**
8569         * A record of a device being used by a patient where the record is the result of a report from the patient or a clinician.
8570         */
8571        DEVICEUSAGE, 
8572        /**
8573         * The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances.
8574         */
8575        DIAGNOSTICREPORT, 
8576        /**
8577         * A reference to a document of any kind for any purpose. While the term ?document? implies a more narrow focus, for this resource this ?document? encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare.  The DocumentReference resource provides metadata about the document so that the document can be discovered and managed.  The actual content may be inline base64 encoded data or provided by direct reference.
8578         */
8579        DOCUMENTREFERENCE, 
8580        /**
8581         * An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s).
8582         */
8583        ENCOUNTER, 
8584        /**
8585         * A record of significant events/milestones key data throughout the history of an Encounter
8586         */
8587        ENCOUNTERHISTORY, 
8588        /**
8589         * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.
8590         */
8591        ENDPOINT, 
8592        /**
8593         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
8594         */
8595        ENROLLMENTREQUEST, 
8596        /**
8597         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
8598         */
8599        ENROLLMENTRESPONSE, 
8600        /**
8601         * 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.
8602         */
8603        EPISODEOFCARE, 
8604        /**
8605         * The EventDefinition resource provides a reusable description of when a particular event can occur.
8606         */
8607        EVENTDEFINITION, 
8608        /**
8609         * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence.
8610         */
8611        EVIDENCE, 
8612        /**
8613         * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts.
8614         */
8615        EVIDENCEREPORT, 
8616        /**
8617         * The EvidenceVariable resource describes an element that knowledge (Evidence) is about.
8618         */
8619        EVIDENCEVARIABLE, 
8620        /**
8621         * A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.
8622         */
8623        EXAMPLESCENARIO, 
8624        /**
8625         * 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.
8626         */
8627        EXPLANATIONOFBENEFIT, 
8628        /**
8629         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
8630         */
8631        FAMILYMEMBERHISTORY, 
8632        /**
8633         * Prospective warnings of potential issues when providing care to the patient.
8634         */
8635        FLAG, 
8636        /**
8637         * This resource describes a product or service that is available through a program and includes the conditions and constraints of availability.  All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself.
8638         */
8639        FORMULARYITEM, 
8640        /**
8641         * A set of analyses performed to analyze and generate genomic data.
8642         */
8643        GENOMICSTUDY, 
8644        /**
8645         * 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.
8646         */
8647        GOAL, 
8648        /**
8649         * 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.
8650         */
8651        GRAPHDEFINITION, 
8652        /**
8653         * 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.
8654         */
8655        GROUP, 
8656        /**
8657         * 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.
8658         */
8659        GUIDANCERESPONSE, 
8660        /**
8661         * The details of a healthcare service available at a location or in a catalog.  In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices.
8662         */
8663        HEALTHCARESERVICE, 
8664        /**
8665         * A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource.
8666         */
8667        IMAGINGSELECTION, 
8668        /**
8669         * 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.
8670         */
8671        IMAGINGSTUDY, 
8672        /**
8673         * 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.
8674         */
8675        IMMUNIZATION, 
8676        /**
8677         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
8678         */
8679        IMMUNIZATIONEVALUATION, 
8680        /**
8681         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
8682         */
8683        IMMUNIZATIONRECOMMENDATION, 
8684        /**
8685         * 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.
8686         */
8687        IMPLEMENTATIONGUIDE, 
8688        /**
8689         * An ingredient of a manufactured item or pharmaceutical product.
8690         */
8691        INGREDIENT, 
8692        /**
8693         * Details of a Health Insurance product/plan provided by an organization.
8694         */
8695        INSURANCEPLAN, 
8696        /**
8697         * functional description of an inventory item used in inventory and supply-related workflows.
8698         */
8699        INVENTORYITEM, 
8700        /**
8701         * A report of inventory or stock items.
8702         */
8703        INVENTORYREPORT, 
8704        /**
8705         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
8706         */
8707        INVOICE, 
8708        /**
8709         * 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.
8710         */
8711        LIBRARY, 
8712        /**
8713         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
8714         */
8715        LINKAGE, 
8716        /**
8717         * A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc.
8718         */
8719        LIST, 
8720        /**
8721         * Details and position information for a place where services are provided and resources and participants may be stored, found, contained, or accommodated.
8722         */
8723        LOCATION, 
8724        /**
8725         * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.
8726         */
8727        MANUFACTUREDITEMDEFINITION, 
8728        /**
8729         * The Measure resource provides the definition of a quality measure.
8730         */
8731        MEASURE, 
8732        /**
8733         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
8734         */
8735        MEASUREREPORT, 
8736        /**
8737         * This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.
8738         */
8739        MEDICATION, 
8740        /**
8741         * 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. This event can also be used to record waste using a status of not-done and the appropriate statusReason.
8742         */
8743        MEDICATIONADMINISTRATION, 
8744        /**
8745         * 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.
8746         */
8747        MEDICATIONDISPENSE, 
8748        /**
8749         * Information about a medication that is used to support knowledge.
8750         */
8751        MEDICATIONKNOWLEDGE, 
8752        /**
8753         * 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.
8754         */
8755        MEDICATIONREQUEST, 
8756        /**
8757         * 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. 
8758
8759The primary difference between a medicationstatement and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medicationstatement 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.
8760         */
8761        MEDICATIONSTATEMENT, 
8762        /**
8763         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.).
8764         */
8765        MEDICINALPRODUCTDEFINITION, 
8766        /**
8767         * 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.
8768         */
8769        MESSAGEDEFINITION, 
8770        /**
8771         * 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.
8772         */
8773        MESSAGEHEADER, 
8774        /**
8775         * Common Interface declaration for conformance and knowledge artifact resources.
8776         */
8777        METADATARESOURCE, 
8778        /**
8779         * Representation of a molecular sequence.
8780         */
8781        MOLECULARSEQUENCE, 
8782        /**
8783         * 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.
8784         */
8785        NAMINGSYSTEM, 
8786        /**
8787         * A record of food or fluid that is being consumed by a patient.  A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past.  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 or through an app that tracks food or fluids consumed.   The consumption information may come from sources such as the patient's memory, from a nutrition label,  or from a clinician documenting observed intake.
8788         */
8789        NUTRITIONINTAKE, 
8790        /**
8791         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
8792         */
8793        NUTRITIONORDER, 
8794        /**
8795         * A food or supplement that is consumed by patients.
8796         */
8797        NUTRITIONPRODUCT, 
8798        /**
8799         * Measurements and simple assertions made about a patient, device or other subject.
8800         */
8801        OBSERVATION, 
8802        /**
8803         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
8804         */
8805        OBSERVATIONDEFINITION, 
8806        /**
8807         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
8808         */
8809        OPERATIONDEFINITION, 
8810        /**
8811         * A collection of error, warning, or information messages that result from a system action.
8812         */
8813        OPERATIONOUTCOME, 
8814        /**
8815         * 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.
8816         */
8817        ORGANIZATION, 
8818        /**
8819         * Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship.
8820         */
8821        ORGANIZATIONAFFILIATION, 
8822        /**
8823         * A medically related item or items, in a container or package.
8824         */
8825        PACKAGEDPRODUCTDEFINITION, 
8826        /**
8827         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
8828         */
8829        PATIENT, 
8830        /**
8831         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
8832         */
8833        PAYMENTNOTICE, 
8834        /**
8835         * This resource provides the details including amount of a payment and allocates the payment items being paid.
8836         */
8837        PAYMENTRECONCILIATION, 
8838        /**
8839         * Permission resource holds access rules for a given data and context.
8840         */
8841        PERMISSION, 
8842        /**
8843         * Demographics and administrative information about a person independent of a specific health-related context.
8844         */
8845        PERSON, 
8846        /**
8847         * 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 and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.
8848         */
8849        PLANDEFINITION, 
8850        /**
8851         * A person who is directly or indirectly involved in the provisioning of healthcare or related services.
8852         */
8853        PRACTITIONER, 
8854        /**
8855         * A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time.
8856         */
8857        PRACTITIONERROLE, 
8858        /**
8859         * An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy.  This can be a quality or safety inspection for a location, organization, or device.  This can be an accreditation procedure on a practitioner for licensing.
8860         */
8861        PROCEDURE, 
8862        /**
8863         * 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.
8864         */
8865        PROVENANCE, 
8866        /**
8867         * 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.
8868         */
8869        QUESTIONNAIRE, 
8870        /**
8871         * 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.
8872         */
8873        QUESTIONNAIRERESPONSE, 
8874        /**
8875         * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product.
8876         */
8877        REGULATEDAUTHORIZATION, 
8878        /**
8879         * Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.
8880         */
8881        RELATEDPERSON, 
8882        /**
8883         * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one".
8884         */
8885        REQUESTORCHESTRATION, 
8886        /**
8887         * The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.
8888         */
8889        REQUIREMENTS, 
8890        /**
8891         * A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future.
8892         */
8893        RESEARCHSTUDY, 
8894        /**
8895         * A ResearchSubject is a participant or object which is the recipient of investigative activities in a research study.
8896         */
8897        RESEARCHSUBJECT, 
8898        /**
8899         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
8900         */
8901        RISKASSESSMENT, 
8902        /**
8903         * A container for slots of time that may be available for booking appointments.
8904         */
8905        SCHEDULE, 
8906        /**
8907         * A search parameter that defines a named search item that can be used to search/filter on a resource.
8908         */
8909        SEARCHPARAMETER, 
8910        /**
8911         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
8912         */
8913        SERVICEREQUEST, 
8914        /**
8915         * A slot of time on a schedule that may be available for booking appointments.
8916         */
8917        SLOT, 
8918        /**
8919         * A sample to be used for analysis.
8920         */
8921        SPECIMEN, 
8922        /**
8923         * A kind of specimen with associated set of requirements.
8924         */
8925        SPECIMENDEFINITION, 
8926        /**
8927         * 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.
8928         */
8929        STRUCTUREDEFINITION, 
8930        /**
8931         * A Map of relationships between 2 structures that can be used to transform data.
8932         */
8933        STRUCTUREMAP, 
8934        /**
8935         * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic.
8936         */
8937        SUBSCRIPTION, 
8938        /**
8939         * The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted.
8940         */
8941        SUBSCRIPTIONSTATUS, 
8942        /**
8943         * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic.
8944         */
8945        SUBSCRIPTIONTOPIC, 
8946        /**
8947         * A homogeneous material with a definite composition.
8948         */
8949        SUBSTANCE, 
8950        /**
8951         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
8952         */
8953        SUBSTANCEDEFINITION, 
8954        /**
8955         * 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.
8956         */
8957        SUBSTANCENUCLEICACID, 
8958        /**
8959         * Properties of a substance specific to it being a polymer.
8960         */
8961        SUBSTANCEPOLYMER, 
8962        /**
8963         * 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.
8964         */
8965        SUBSTANCEPROTEIN, 
8966        /**
8967         * Todo.
8968         */
8969        SUBSTANCEREFERENCEINFORMATION, 
8970        /**
8971         * 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.
8972         */
8973        SUBSTANCESOURCEMATERIAL, 
8974        /**
8975         * Record of delivery of what is supplied.
8976         */
8977        SUPPLYDELIVERY, 
8978        /**
8979         * A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.
8980         */
8981        SUPPLYREQUEST, 
8982        /**
8983         * A task to be performed.
8984         */
8985        TASK, 
8986        /**
8987         * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
8988         */
8989        TERMINOLOGYCAPABILITIES, 
8990        /**
8991         * A plan for executing testing on an artifact or specifications
8992         */
8993        TESTPLAN, 
8994        /**
8995         * A summary of information based on the results of executing a TestScript.
8996         */
8997        TESTREPORT, 
8998        /**
8999         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
9000         */
9001        TESTSCRIPT, 
9002        /**
9003         * Record of transport.
9004         */
9005        TRANSPORT, 
9006        /**
9007         * 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).
9008         */
9009        VALUESET, 
9010        /**
9011         * Describes validation requirements, source(s), status and dates for one or more elements.
9012         */
9013        VERIFICATIONRESULT, 
9014        /**
9015         * An authorization for the provision of glasses and/or contact lenses to a patient.
9016         */
9017        VISIONPRESCRIPTION, 
9018        /**
9019         * This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment).  It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource.
9020         */
9021        PARAMETERS, 
9022        /**
9023         * added to help the parsers
9024         */
9025        NULL;
9026        public static FHIRTypes fromCode(String codeString) throws FHIRException {
9027            if (codeString == null || "".equals(codeString))
9028                return null;
9029        if ("Base".equals(codeString))
9030          return BASE;
9031        if ("Element".equals(codeString))
9032          return ELEMENT;
9033        if ("BackboneElement".equals(codeString))
9034          return BACKBONEELEMENT;
9035        if ("DataType".equals(codeString))
9036          return DATATYPE;
9037        if ("Address".equals(codeString))
9038          return ADDRESS;
9039        if ("Annotation".equals(codeString))
9040          return ANNOTATION;
9041        if ("Attachment".equals(codeString))
9042          return ATTACHMENT;
9043        if ("Availability".equals(codeString))
9044          return AVAILABILITY;
9045        if ("BackboneType".equals(codeString))
9046          return BACKBONETYPE;
9047        if ("Dosage".equals(codeString))
9048          return DOSAGE;
9049        if ("ElementDefinition".equals(codeString))
9050          return ELEMENTDEFINITION;
9051        if ("MarketingStatus".equals(codeString))
9052          return MARKETINGSTATUS;
9053        if ("ProductShelfLife".equals(codeString))
9054          return PRODUCTSHELFLIFE;
9055        if ("Timing".equals(codeString))
9056          return TIMING;
9057        if ("CodeableConcept".equals(codeString))
9058          return CODEABLECONCEPT;
9059        if ("CodeableReference".equals(codeString))
9060          return CODEABLEREFERENCE;
9061        if ("Coding".equals(codeString))
9062          return CODING;
9063        if ("ContactDetail".equals(codeString))
9064          return CONTACTDETAIL;
9065        if ("ContactPoint".equals(codeString))
9066          return CONTACTPOINT;
9067        if ("Contributor".equals(codeString))
9068          return CONTRIBUTOR;
9069        if ("DataRequirement".equals(codeString))
9070          return DATAREQUIREMENT;
9071        if ("Expression".equals(codeString))
9072          return EXPRESSION;
9073        if ("ExtendedContactDetail".equals(codeString))
9074          return EXTENDEDCONTACTDETAIL;
9075        if ("Extension".equals(codeString))
9076          return EXTENSION;
9077        if ("HumanName".equals(codeString))
9078          return HUMANNAME;
9079        if ("Identifier".equals(codeString))
9080          return IDENTIFIER;
9081        if ("Meta".equals(codeString))
9082          return META;
9083        if ("MonetaryComponent".equals(codeString))
9084          return MONETARYCOMPONENT;
9085        if ("Money".equals(codeString))
9086          return MONEY;
9087        if ("Narrative".equals(codeString))
9088          return NARRATIVE;
9089        if ("ParameterDefinition".equals(codeString))
9090          return PARAMETERDEFINITION;
9091        if ("Period".equals(codeString))
9092          return PERIOD;
9093        if ("PrimitiveType".equals(codeString))
9094          return PRIMITIVETYPE;
9095        if ("base64Binary".equals(codeString))
9096          return BASE64BINARY;
9097        if ("boolean".equals(codeString))
9098          return BOOLEAN;
9099        if ("date".equals(codeString))
9100          return DATE;
9101        if ("dateTime".equals(codeString))
9102          return DATETIME;
9103        if ("decimal".equals(codeString))
9104          return DECIMAL;
9105        if ("instant".equals(codeString))
9106          return INSTANT;
9107        if ("integer".equals(codeString))
9108          return INTEGER;
9109        if ("positiveInt".equals(codeString))
9110          return POSITIVEINT;
9111        if ("unsignedInt".equals(codeString))
9112          return UNSIGNEDINT;
9113        if ("integer64".equals(codeString))
9114          return INTEGER64;
9115        if ("string".equals(codeString))
9116          return STRING;
9117        if ("code".equals(codeString))
9118          return CODE;
9119        if ("id".equals(codeString))
9120          return ID;
9121        if ("markdown".equals(codeString))
9122          return MARKDOWN;
9123        if ("time".equals(codeString))
9124          return TIME;
9125        if ("uri".equals(codeString))
9126          return URI;
9127        if ("canonical".equals(codeString))
9128          return CANONICAL;
9129        if ("oid".equals(codeString))
9130          return OID;
9131        if ("url".equals(codeString))
9132          return URL;
9133        if ("uuid".equals(codeString))
9134          return UUID;
9135        if ("Quantity".equals(codeString))
9136          return QUANTITY;
9137        if ("Age".equals(codeString))
9138          return AGE;
9139        if ("Count".equals(codeString))
9140          return COUNT;
9141        if ("Distance".equals(codeString))
9142          return DISTANCE;
9143        if ("Duration".equals(codeString))
9144          return DURATION;
9145        if ("Range".equals(codeString))
9146          return RANGE;
9147        if ("Ratio".equals(codeString))
9148          return RATIO;
9149        if ("RatioRange".equals(codeString))
9150          return RATIORANGE;
9151        if ("Reference".equals(codeString))
9152          return REFERENCE;
9153        if ("RelatedArtifact".equals(codeString))
9154          return RELATEDARTIFACT;
9155        if ("SampledData".equals(codeString))
9156          return SAMPLEDDATA;
9157        if ("Signature".equals(codeString))
9158          return SIGNATURE;
9159        if ("TriggerDefinition".equals(codeString))
9160          return TRIGGERDEFINITION;
9161        if ("UsageContext".equals(codeString))
9162          return USAGECONTEXT;
9163        if ("VirtualServiceDetail".equals(codeString))
9164          return VIRTUALSERVICEDETAIL;
9165        if ("xhtml".equals(codeString))
9166          return XHTML;
9167        if ("Resource".equals(codeString) || "Any".equals(codeString))
9168          return RESOURCE;
9169        if ("Binary".equals(codeString))
9170          return BINARY;
9171        if ("Bundle".equals(codeString))
9172          return BUNDLE;
9173        if ("DomainResource".equals(codeString))
9174          return DOMAINRESOURCE;
9175        if ("Account".equals(codeString))
9176          return ACCOUNT;
9177        if ("ActivityDefinition".equals(codeString))
9178          return ACTIVITYDEFINITION;
9179        if ("ActorDefinition".equals(codeString))
9180          return ACTORDEFINITION;
9181        if ("AdministrableProductDefinition".equals(codeString))
9182          return ADMINISTRABLEPRODUCTDEFINITION;
9183        if ("AdverseEvent".equals(codeString))
9184          return ADVERSEEVENT;
9185        if ("AllergyIntolerance".equals(codeString))
9186          return ALLERGYINTOLERANCE;
9187        if ("Appointment".equals(codeString))
9188          return APPOINTMENT;
9189        if ("AppointmentResponse".equals(codeString))
9190          return APPOINTMENTRESPONSE;
9191        if ("ArtifactAssessment".equals(codeString))
9192          return ARTIFACTASSESSMENT;
9193        if ("AuditEvent".equals(codeString))
9194          return AUDITEVENT;
9195        if ("Basic".equals(codeString))
9196          return BASIC;
9197        if ("BiologicallyDerivedProduct".equals(codeString))
9198          return BIOLOGICALLYDERIVEDPRODUCT;
9199        if ("BiologicallyDerivedProductDispense".equals(codeString))
9200          return BIOLOGICALLYDERIVEDPRODUCTDISPENSE;
9201        if ("BodyStructure".equals(codeString))
9202          return BODYSTRUCTURE;
9203        if ("CanonicalResource".equals(codeString))
9204          return CANONICALRESOURCE;
9205        if ("CapabilityStatement".equals(codeString))
9206          return CAPABILITYSTATEMENT;
9207        if ("CarePlan".equals(codeString))
9208          return CAREPLAN;
9209        if ("CareTeam".equals(codeString))
9210          return CARETEAM;
9211        if ("ChargeItem".equals(codeString))
9212          return CHARGEITEM;
9213        if ("ChargeItemDefinition".equals(codeString))
9214          return CHARGEITEMDEFINITION;
9215        if ("Citation".equals(codeString))
9216          return CITATION;
9217        if ("Claim".equals(codeString))
9218          return CLAIM;
9219        if ("ClaimResponse".equals(codeString))
9220          return CLAIMRESPONSE;
9221        if ("ClinicalImpression".equals(codeString))
9222          return CLINICALIMPRESSION;
9223        if ("ClinicalUseDefinition".equals(codeString))
9224          return CLINICALUSEDEFINITION;
9225        if ("CodeSystem".equals(codeString))
9226          return CODESYSTEM;
9227        if ("Communication".equals(codeString))
9228          return COMMUNICATION;
9229        if ("CommunicationRequest".equals(codeString))
9230          return COMMUNICATIONREQUEST;
9231        if ("CompartmentDefinition".equals(codeString))
9232          return COMPARTMENTDEFINITION;
9233        if ("Composition".equals(codeString))
9234          return COMPOSITION;
9235        if ("ConceptMap".equals(codeString))
9236          return CONCEPTMAP;
9237        if ("Condition".equals(codeString))
9238          return CONDITION;
9239        if ("ConditionDefinition".equals(codeString))
9240          return CONDITIONDEFINITION;
9241        if ("Consent".equals(codeString))
9242          return CONSENT;
9243        if ("Contract".equals(codeString))
9244          return CONTRACT;
9245        if ("Coverage".equals(codeString))
9246          return COVERAGE;
9247        if ("CoverageEligibilityRequest".equals(codeString))
9248          return COVERAGEELIGIBILITYREQUEST;
9249        if ("CoverageEligibilityResponse".equals(codeString))
9250          return COVERAGEELIGIBILITYRESPONSE;
9251        if ("DetectedIssue".equals(codeString))
9252          return DETECTEDISSUE;
9253        if ("Device".equals(codeString))
9254          return DEVICE;
9255        if ("DeviceAssociation".equals(codeString))
9256          return DEVICEASSOCIATION;
9257        if ("DeviceDefinition".equals(codeString))
9258          return DEVICEDEFINITION;
9259        if ("DeviceDispense".equals(codeString))
9260          return DEVICEDISPENSE;
9261        if ("DeviceMetric".equals(codeString))
9262          return DEVICEMETRIC;
9263        if ("DeviceRequest".equals(codeString))
9264          return DEVICEREQUEST;
9265        if ("DeviceUsage".equals(codeString))
9266          return DEVICEUSAGE;
9267        if ("DiagnosticReport".equals(codeString))
9268          return DIAGNOSTICREPORT;
9269        if ("DocumentReference".equals(codeString))
9270          return DOCUMENTREFERENCE;
9271        if ("Encounter".equals(codeString))
9272          return ENCOUNTER;
9273        if ("EncounterHistory".equals(codeString))
9274          return ENCOUNTERHISTORY;
9275        if ("Endpoint".equals(codeString))
9276          return ENDPOINT;
9277        if ("EnrollmentRequest".equals(codeString))
9278          return ENROLLMENTREQUEST;
9279        if ("EnrollmentResponse".equals(codeString))
9280          return ENROLLMENTRESPONSE;
9281        if ("EpisodeOfCare".equals(codeString))
9282          return EPISODEOFCARE;
9283        if ("EventDefinition".equals(codeString))
9284          return EVENTDEFINITION;
9285        if ("Evidence".equals(codeString))
9286          return EVIDENCE;
9287        if ("EvidenceReport".equals(codeString))
9288          return EVIDENCEREPORT;
9289        if ("EvidenceVariable".equals(codeString))
9290          return EVIDENCEVARIABLE;
9291        if ("ExampleScenario".equals(codeString))
9292          return EXAMPLESCENARIO;
9293        if ("ExplanationOfBenefit".equals(codeString))
9294          return EXPLANATIONOFBENEFIT;
9295        if ("FamilyMemberHistory".equals(codeString))
9296          return FAMILYMEMBERHISTORY;
9297        if ("Flag".equals(codeString))
9298          return FLAG;
9299        if ("FormularyItem".equals(codeString))
9300          return FORMULARYITEM;
9301        if ("GenomicStudy".equals(codeString))
9302          return GENOMICSTUDY;
9303        if ("Goal".equals(codeString))
9304          return GOAL;
9305        if ("GraphDefinition".equals(codeString))
9306          return GRAPHDEFINITION;
9307        if ("Group".equals(codeString))
9308          return GROUP;
9309        if ("GuidanceResponse".equals(codeString))
9310          return GUIDANCERESPONSE;
9311        if ("HealthcareService".equals(codeString))
9312          return HEALTHCARESERVICE;
9313        if ("ImagingSelection".equals(codeString))
9314          return IMAGINGSELECTION;
9315        if ("ImagingStudy".equals(codeString))
9316          return IMAGINGSTUDY;
9317        if ("Immunization".equals(codeString))
9318          return IMMUNIZATION;
9319        if ("ImmunizationEvaluation".equals(codeString))
9320          return IMMUNIZATIONEVALUATION;
9321        if ("ImmunizationRecommendation".equals(codeString))
9322          return IMMUNIZATIONRECOMMENDATION;
9323        if ("ImplementationGuide".equals(codeString))
9324          return IMPLEMENTATIONGUIDE;
9325        if ("Ingredient".equals(codeString))
9326          return INGREDIENT;
9327        if ("InsurancePlan".equals(codeString))
9328          return INSURANCEPLAN;
9329        if ("InventoryItem".equals(codeString))
9330          return INVENTORYITEM;
9331        if ("InventoryReport".equals(codeString))
9332          return INVENTORYREPORT;
9333        if ("Invoice".equals(codeString))
9334          return INVOICE;
9335        if ("Library".equals(codeString))
9336          return LIBRARY;
9337        if ("Linkage".equals(codeString))
9338          return LINKAGE;
9339        if ("List".equals(codeString))
9340          return LIST;
9341        if ("Location".equals(codeString))
9342          return LOCATION;
9343        if ("ManufacturedItemDefinition".equals(codeString))
9344          return MANUFACTUREDITEMDEFINITION;
9345        if ("Measure".equals(codeString))
9346          return MEASURE;
9347        if ("MeasureReport".equals(codeString))
9348          return MEASUREREPORT;
9349        if ("Medication".equals(codeString))
9350          return MEDICATION;
9351        if ("MedicationAdministration".equals(codeString))
9352          return MEDICATIONADMINISTRATION;
9353        if ("MedicationDispense".equals(codeString))
9354          return MEDICATIONDISPENSE;
9355        if ("MedicationKnowledge".equals(codeString))
9356          return MEDICATIONKNOWLEDGE;
9357        if ("MedicationRequest".equals(codeString))
9358          return MEDICATIONREQUEST;
9359        if ("MedicationStatement".equals(codeString))
9360          return MEDICATIONSTATEMENT;
9361        if ("MedicinalProductDefinition".equals(codeString))
9362          return MEDICINALPRODUCTDEFINITION;
9363        if ("MessageDefinition".equals(codeString))
9364          return MESSAGEDEFINITION;
9365        if ("MessageHeader".equals(codeString))
9366          return MESSAGEHEADER;
9367        if ("MetadataResource".equals(codeString))
9368          return METADATARESOURCE;
9369        if ("MolecularSequence".equals(codeString))
9370          return MOLECULARSEQUENCE;
9371        if ("NamingSystem".equals(codeString))
9372          return NAMINGSYSTEM;
9373        if ("NutritionIntake".equals(codeString))
9374          return NUTRITIONINTAKE;
9375        if ("NutritionOrder".equals(codeString))
9376          return NUTRITIONORDER;
9377        if ("NutritionProduct".equals(codeString))
9378          return NUTRITIONPRODUCT;
9379        if ("Observation".equals(codeString))
9380          return OBSERVATION;
9381        if ("ObservationDefinition".equals(codeString))
9382          return OBSERVATIONDEFINITION;
9383        if ("OperationDefinition".equals(codeString))
9384          return OPERATIONDEFINITION;
9385        if ("OperationOutcome".equals(codeString))
9386          return OPERATIONOUTCOME;
9387        if ("Organization".equals(codeString))
9388          return ORGANIZATION;
9389        if ("OrganizationAffiliation".equals(codeString))
9390          return ORGANIZATIONAFFILIATION;
9391        if ("PackagedProductDefinition".equals(codeString))
9392          return PACKAGEDPRODUCTDEFINITION;
9393        if ("Patient".equals(codeString))
9394          return PATIENT;
9395        if ("PaymentNotice".equals(codeString))
9396          return PAYMENTNOTICE;
9397        if ("PaymentReconciliation".equals(codeString))
9398          return PAYMENTRECONCILIATION;
9399        if ("Permission".equals(codeString))
9400          return PERMISSION;
9401        if ("Person".equals(codeString))
9402          return PERSON;
9403        if ("PlanDefinition".equals(codeString))
9404          return PLANDEFINITION;
9405        if ("Practitioner".equals(codeString))
9406          return PRACTITIONER;
9407        if ("PractitionerRole".equals(codeString))
9408          return PRACTITIONERROLE;
9409        if ("Procedure".equals(codeString))
9410          return PROCEDURE;
9411        if ("Provenance".equals(codeString))
9412          return PROVENANCE;
9413        if ("Questionnaire".equals(codeString))
9414          return QUESTIONNAIRE;
9415        if ("QuestionnaireResponse".equals(codeString))
9416          return QUESTIONNAIRERESPONSE;
9417        if ("RegulatedAuthorization".equals(codeString))
9418          return REGULATEDAUTHORIZATION;
9419        if ("RelatedPerson".equals(codeString))
9420          return RELATEDPERSON;
9421        if ("RequestOrchestration".equals(codeString))
9422          return REQUESTORCHESTRATION;
9423        if ("Requirements".equals(codeString))
9424          return REQUIREMENTS;
9425        if ("ResearchStudy".equals(codeString))
9426          return RESEARCHSTUDY;
9427        if ("ResearchSubject".equals(codeString))
9428          return RESEARCHSUBJECT;
9429        if ("RiskAssessment".equals(codeString))
9430          return RISKASSESSMENT;
9431        if ("Schedule".equals(codeString))
9432          return SCHEDULE;
9433        if ("SearchParameter".equals(codeString))
9434          return SEARCHPARAMETER;
9435        if ("ServiceRequest".equals(codeString))
9436          return SERVICEREQUEST;
9437        if ("Slot".equals(codeString))
9438          return SLOT;
9439        if ("Specimen".equals(codeString))
9440          return SPECIMEN;
9441        if ("SpecimenDefinition".equals(codeString))
9442          return SPECIMENDEFINITION;
9443        if ("StructureDefinition".equals(codeString))
9444          return STRUCTUREDEFINITION;
9445        if ("StructureMap".equals(codeString))
9446          return STRUCTUREMAP;
9447        if ("Subscription".equals(codeString))
9448          return SUBSCRIPTION;
9449        if ("SubscriptionStatus".equals(codeString))
9450          return SUBSCRIPTIONSTATUS;
9451        if ("SubscriptionTopic".equals(codeString))
9452          return SUBSCRIPTIONTOPIC;
9453        if ("Substance".equals(codeString))
9454          return SUBSTANCE;
9455        if ("SubstanceDefinition".equals(codeString))
9456          return SUBSTANCEDEFINITION;
9457        if ("SubstanceNucleicAcid".equals(codeString))
9458          return SUBSTANCENUCLEICACID;
9459        if ("SubstancePolymer".equals(codeString))
9460          return SUBSTANCEPOLYMER;
9461        if ("SubstanceProtein".equals(codeString))
9462          return SUBSTANCEPROTEIN;
9463        if ("SubstanceReferenceInformation".equals(codeString))
9464          return SUBSTANCEREFERENCEINFORMATION;
9465        if ("SubstanceSourceMaterial".equals(codeString))
9466          return SUBSTANCESOURCEMATERIAL;
9467        if ("SupplyDelivery".equals(codeString))
9468          return SUPPLYDELIVERY;
9469        if ("SupplyRequest".equals(codeString))
9470          return SUPPLYREQUEST;
9471        if ("Task".equals(codeString))
9472          return TASK;
9473        if ("TerminologyCapabilities".equals(codeString))
9474          return TERMINOLOGYCAPABILITIES;
9475        if ("TestPlan".equals(codeString))
9476          return TESTPLAN;
9477        if ("TestReport".equals(codeString))
9478          return TESTREPORT;
9479        if ("TestScript".equals(codeString))
9480          return TESTSCRIPT;
9481        if ("Transport".equals(codeString))
9482          return TRANSPORT;
9483        if ("ValueSet".equals(codeString))
9484          return VALUESET;
9485        if ("VerificationResult".equals(codeString))
9486          return VERIFICATIONRESULT;
9487        if ("VisionPrescription".equals(codeString))
9488          return VISIONPRESCRIPTION;
9489        if ("Parameters".equals(codeString))
9490          return PARAMETERS;
9491        throw new FHIRException("Unknown FHIRTypes code '"+codeString+"'");
9492        }
9493        public static boolean isValidCode(String codeString) {
9494            if (codeString == null || "".equals(codeString))
9495                return false;
9496          return Utilities.existsInList(codeString, "Base", "Element", "BackboneElement", "DataType", "Address", "Annotation", "Attachment", "Availability", "BackboneType", "Dosage", "ElementDefinition", "MarketingStatus", "ProductShelfLife", "Timing", "CodeableConcept", "CodeableReference", "Coding", "ContactDetail", "ContactPoint", "Contributor", "DataRequirement", "Expression", "ExtendedContactDetail", "Extension", "HumanName", "Identifier", "Meta", "MonetaryComponent", "Money", "Narrative", "ParameterDefinition", "Period", "PrimitiveType", "base64Binary", "boolean", "date", "dateTime", "decimal", "instant", "integer", "positiveInt", "unsignedInt", "integer64", "string", "code", "id", "markdown", "time", "uri", "canonical", "oid", "url", "uuid", "Quantity", "Age", "Count", "Distance", "Duration", "Range", "Ratio", "RatioRange", "Reference", "RelatedArtifact", "SampledData", "Signature", "TriggerDefinition", "UsageContext", "VirtualServiceDetail", "xhtml", "Resource", "Binary", "Bundle", "DomainResource", "Account", "ActivityDefinition", "ActorDefinition", "AdministrableProductDefinition", "AdverseEvent", "AllergyIntolerance", "Appointment", "AppointmentResponse", "ArtifactAssessment", "AuditEvent", "Basic", "BiologicallyDerivedProduct", "BiologicallyDerivedProductDispense", "BodyStructure", "CanonicalResource", "CapabilityStatement", "CarePlan", "CareTeam", "ChargeItem", "ChargeItemDefinition", "Citation", "Claim", "ClaimResponse", "ClinicalImpression", "ClinicalUseDefinition", "CodeSystem", "Communication", "CommunicationRequest", "CompartmentDefinition", "Composition", "ConceptMap", "Condition", "ConditionDefinition", "Consent", "Contract", "Coverage", "CoverageEligibilityRequest", "CoverageEligibilityResponse", "DetectedIssue", "Device", "DeviceAssociation", "DeviceDefinition", "DeviceDispense", "DeviceMetric", "DeviceRequest", "DeviceUsage", "DiagnosticReport", "DocumentReference", "Encounter", "EncounterHistory", "Endpoint", "EnrollmentRequest", "EnrollmentResponse", "EpisodeOfCare", "EventDefinition", "Evidence", "EvidenceReport", "EvidenceVariable", "ExampleScenario", "ExplanationOfBenefit", "FamilyMemberHistory", "Flag", "FormularyItem", "GenomicStudy", "Goal", "GraphDefinition", "Group", "GuidanceResponse", "HealthcareService", "ImagingSelection", "ImagingStudy", "Immunization", "ImmunizationEvaluation", "ImmunizationRecommendation", "ImplementationGuide", "Ingredient", "InsurancePlan", "InventoryItem", "InventoryReport", "Invoice", "Library", "Linkage", "List", "Location", "ManufacturedItemDefinition", "Measure", "MeasureReport", "Medication", "MedicationAdministration", "MedicationDispense", "MedicationKnowledge", "MedicationRequest", "MedicationStatement", "MedicinalProductDefinition", "MessageDefinition", "MessageHeader", "MetadataResource", "MolecularSequence", "NamingSystem", "NutritionIntake", "NutritionOrder", "NutritionProduct", "Observation", "ObservationDefinition", "OperationDefinition", "OperationOutcome", "Organization", "OrganizationAffiliation", "PackagedProductDefinition", "Patient", "PaymentNotice", "PaymentReconciliation", "Permission", "Person", "PlanDefinition", "Practitioner", "PractitionerRole", "Procedure", "Provenance", "Questionnaire", "QuestionnaireResponse", "RegulatedAuthorization", "RelatedPerson", "RequestOrchestration", "Requirements", "ResearchStudy", "ResearchSubject", "RiskAssessment", "Schedule", "SearchParameter", "ServiceRequest", "Slot", "Specimen", "SpecimenDefinition", "StructureDefinition", "StructureMap", "Subscription", "SubscriptionStatus", "SubscriptionTopic", "Substance", "SubstanceDefinition", "SubstanceNucleicAcid", "SubstancePolymer", "SubstanceProtein", "SubstanceReferenceInformation", "SubstanceSourceMaterial", "SupplyDelivery", "SupplyRequest", "Task", "TerminologyCapabilities", "TestPlan", "TestReport", "TestScript", "Transport", "ValueSet", "VerificationResult", "VisionPrescription", "Parameters");
9497        }
9498        public String toCode() {
9499          switch (this) {
9500            case BASE: return "Base";
9501            case ELEMENT: return "Element";
9502            case BACKBONEELEMENT: return "BackboneElement";
9503            case DATATYPE: return "DataType";
9504            case ADDRESS: return "Address";
9505            case ANNOTATION: return "Annotation";
9506            case ATTACHMENT: return "Attachment";
9507            case AVAILABILITY: return "Availability";
9508            case BACKBONETYPE: return "BackboneType";
9509            case DOSAGE: return "Dosage";
9510            case ELEMENTDEFINITION: return "ElementDefinition";
9511            case MARKETINGSTATUS: return "MarketingStatus";
9512            case PRODUCTSHELFLIFE: return "ProductShelfLife";
9513            case TIMING: return "Timing";
9514            case CODEABLECONCEPT: return "CodeableConcept";
9515            case CODEABLEREFERENCE: return "CodeableReference";
9516            case CODING: return "Coding";
9517            case CONTACTDETAIL: return "ContactDetail";
9518            case CONTACTPOINT: return "ContactPoint";
9519            case CONTRIBUTOR: return "Contributor";
9520            case DATAREQUIREMENT: return "DataRequirement";
9521            case EXPRESSION: return "Expression";
9522            case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail";
9523            case EXTENSION: return "Extension";
9524            case HUMANNAME: return "HumanName";
9525            case IDENTIFIER: return "Identifier";
9526            case META: return "Meta";
9527            case MONETARYCOMPONENT: return "MonetaryComponent";
9528            case MONEY: return "Money";
9529            case NARRATIVE: return "Narrative";
9530            case PARAMETERDEFINITION: return "ParameterDefinition";
9531            case PERIOD: return "Period";
9532            case PRIMITIVETYPE: return "PrimitiveType";
9533            case BASE64BINARY: return "base64Binary";
9534            case BOOLEAN: return "boolean";
9535            case DATE: return "date";
9536            case DATETIME: return "dateTime";
9537            case DECIMAL: return "decimal";
9538            case INSTANT: return "instant";
9539            case INTEGER: return "integer";
9540            case POSITIVEINT: return "positiveInt";
9541            case UNSIGNEDINT: return "unsignedInt";
9542            case INTEGER64: return "integer64";
9543            case STRING: return "string";
9544            case CODE: return "code";
9545            case ID: return "id";
9546            case MARKDOWN: return "markdown";
9547            case TIME: return "time";
9548            case URI: return "uri";
9549            case CANONICAL: return "canonical";
9550            case OID: return "oid";
9551            case URL: return "url";
9552            case UUID: return "uuid";
9553            case QUANTITY: return "Quantity";
9554            case AGE: return "Age";
9555            case COUNT: return "Count";
9556            case DISTANCE: return "Distance";
9557            case DURATION: return "Duration";
9558            case RANGE: return "Range";
9559            case RATIO: return "Ratio";
9560            case RATIORANGE: return "RatioRange";
9561            case REFERENCE: return "Reference";
9562            case RELATEDARTIFACT: return "RelatedArtifact";
9563            case SAMPLEDDATA: return "SampledData";
9564            case SIGNATURE: return "Signature";
9565            case TRIGGERDEFINITION: return "TriggerDefinition";
9566            case USAGECONTEXT: return "UsageContext";
9567            case VIRTUALSERVICEDETAIL: return "VirtualServiceDetail";
9568            case XHTML: return "xhtml";
9569            case RESOURCE: return "Resource";
9570            case BINARY: return "Binary";
9571            case BUNDLE: return "Bundle";
9572            case DOMAINRESOURCE: return "DomainResource";
9573            case ACCOUNT: return "Account";
9574            case ACTIVITYDEFINITION: return "ActivityDefinition";
9575            case ACTORDEFINITION: return "ActorDefinition";
9576            case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition";
9577            case ADVERSEEVENT: return "AdverseEvent";
9578            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
9579            case APPOINTMENT: return "Appointment";
9580            case APPOINTMENTRESPONSE: return "AppointmentResponse";
9581            case ARTIFACTASSESSMENT: return "ArtifactAssessment";
9582            case AUDITEVENT: return "AuditEvent";
9583            case BASIC: return "Basic";
9584            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
9585            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "BiologicallyDerivedProductDispense";
9586            case BODYSTRUCTURE: return "BodyStructure";
9587            case CANONICALRESOURCE: return "CanonicalResource";
9588            case CAPABILITYSTATEMENT: return "CapabilityStatement";
9589            case CAREPLAN: return "CarePlan";
9590            case CARETEAM: return "CareTeam";
9591            case CHARGEITEM: return "ChargeItem";
9592            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
9593            case CITATION: return "Citation";
9594            case CLAIM: return "Claim";
9595            case CLAIMRESPONSE: return "ClaimResponse";
9596            case CLINICALIMPRESSION: return "ClinicalImpression";
9597            case CLINICALUSEDEFINITION: return "ClinicalUseDefinition";
9598            case CODESYSTEM: return "CodeSystem";
9599            case COMMUNICATION: return "Communication";
9600            case COMMUNICATIONREQUEST: return "CommunicationRequest";
9601            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
9602            case COMPOSITION: return "Composition";
9603            case CONCEPTMAP: return "ConceptMap";
9604            case CONDITION: return "Condition";
9605            case CONDITIONDEFINITION: return "ConditionDefinition";
9606            case CONSENT: return "Consent";
9607            case CONTRACT: return "Contract";
9608            case COVERAGE: return "Coverage";
9609            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
9610            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
9611            case DETECTEDISSUE: return "DetectedIssue";
9612            case DEVICE: return "Device";
9613            case DEVICEASSOCIATION: return "DeviceAssociation";
9614            case DEVICEDEFINITION: return "DeviceDefinition";
9615            case DEVICEDISPENSE: return "DeviceDispense";
9616            case DEVICEMETRIC: return "DeviceMetric";
9617            case DEVICEREQUEST: return "DeviceRequest";
9618            case DEVICEUSAGE: return "DeviceUsage";
9619            case DIAGNOSTICREPORT: return "DiagnosticReport";
9620            case DOCUMENTREFERENCE: return "DocumentReference";
9621            case ENCOUNTER: return "Encounter";
9622            case ENCOUNTERHISTORY: return "EncounterHistory";
9623            case ENDPOINT: return "Endpoint";
9624            case ENROLLMENTREQUEST: return "EnrollmentRequest";
9625            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
9626            case EPISODEOFCARE: return "EpisodeOfCare";
9627            case EVENTDEFINITION: return "EventDefinition";
9628            case EVIDENCE: return "Evidence";
9629            case EVIDENCEREPORT: return "EvidenceReport";
9630            case EVIDENCEVARIABLE: return "EvidenceVariable";
9631            case EXAMPLESCENARIO: return "ExampleScenario";
9632            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
9633            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
9634            case FLAG: return "Flag";
9635            case FORMULARYITEM: return "FormularyItem";
9636            case GENOMICSTUDY: return "GenomicStudy";
9637            case GOAL: return "Goal";
9638            case GRAPHDEFINITION: return "GraphDefinition";
9639            case GROUP: return "Group";
9640            case GUIDANCERESPONSE: return "GuidanceResponse";
9641            case HEALTHCARESERVICE: return "HealthcareService";
9642            case IMAGINGSELECTION: return "ImagingSelection";
9643            case IMAGINGSTUDY: return "ImagingStudy";
9644            case IMMUNIZATION: return "Immunization";
9645            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
9646            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
9647            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
9648            case INGREDIENT: return "Ingredient";
9649            case INSURANCEPLAN: return "InsurancePlan";
9650            case INVENTORYITEM: return "InventoryItem";
9651            case INVENTORYREPORT: return "InventoryReport";
9652            case INVOICE: return "Invoice";
9653            case LIBRARY: return "Library";
9654            case LINKAGE: return "Linkage";
9655            case LIST: return "List";
9656            case LOCATION: return "Location";
9657            case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition";
9658            case MEASURE: return "Measure";
9659            case MEASUREREPORT: return "MeasureReport";
9660            case MEDICATION: return "Medication";
9661            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
9662            case MEDICATIONDISPENSE: return "MedicationDispense";
9663            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
9664            case MEDICATIONREQUEST: return "MedicationRequest";
9665            case MEDICATIONSTATEMENT: return "MedicationStatement";
9666            case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition";
9667            case MESSAGEDEFINITION: return "MessageDefinition";
9668            case MESSAGEHEADER: return "MessageHeader";
9669            case METADATARESOURCE: return "MetadataResource";
9670            case MOLECULARSEQUENCE: return "MolecularSequence";
9671            case NAMINGSYSTEM: return "NamingSystem";
9672            case NUTRITIONINTAKE: return "NutritionIntake";
9673            case NUTRITIONORDER: return "NutritionOrder";
9674            case NUTRITIONPRODUCT: return "NutritionProduct";
9675            case OBSERVATION: return "Observation";
9676            case OBSERVATIONDEFINITION: return "ObservationDefinition";
9677            case OPERATIONDEFINITION: return "OperationDefinition";
9678            case OPERATIONOUTCOME: return "OperationOutcome";
9679            case ORGANIZATION: return "Organization";
9680            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
9681            case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition";
9682            case PATIENT: return "Patient";
9683            case PAYMENTNOTICE: return "PaymentNotice";
9684            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
9685            case PERMISSION: return "Permission";
9686            case PERSON: return "Person";
9687            case PLANDEFINITION: return "PlanDefinition";
9688            case PRACTITIONER: return "Practitioner";
9689            case PRACTITIONERROLE: return "PractitionerRole";
9690            case PROCEDURE: return "Procedure";
9691            case PROVENANCE: return "Provenance";
9692            case QUESTIONNAIRE: return "Questionnaire";
9693            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
9694            case REGULATEDAUTHORIZATION: return "RegulatedAuthorization";
9695            case RELATEDPERSON: return "RelatedPerson";
9696            case REQUESTORCHESTRATION: return "RequestOrchestration";
9697            case REQUIREMENTS: return "Requirements";
9698            case RESEARCHSTUDY: return "ResearchStudy";
9699            case RESEARCHSUBJECT: return "ResearchSubject";
9700            case RISKASSESSMENT: return "RiskAssessment";
9701            case SCHEDULE: return "Schedule";
9702            case SEARCHPARAMETER: return "SearchParameter";
9703            case SERVICEREQUEST: return "ServiceRequest";
9704            case SLOT: return "Slot";
9705            case SPECIMEN: return "Specimen";
9706            case SPECIMENDEFINITION: return "SpecimenDefinition";
9707            case STRUCTUREDEFINITION: return "StructureDefinition";
9708            case STRUCTUREMAP: return "StructureMap";
9709            case SUBSCRIPTION: return "Subscription";
9710            case SUBSCRIPTIONSTATUS: return "SubscriptionStatus";
9711            case SUBSCRIPTIONTOPIC: return "SubscriptionTopic";
9712            case SUBSTANCE: return "Substance";
9713            case SUBSTANCEDEFINITION: return "SubstanceDefinition";
9714            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
9715            case SUBSTANCEPOLYMER: return "SubstancePolymer";
9716            case SUBSTANCEPROTEIN: return "SubstanceProtein";
9717            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
9718            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
9719            case SUPPLYDELIVERY: return "SupplyDelivery";
9720            case SUPPLYREQUEST: return "SupplyRequest";
9721            case TASK: return "Task";
9722            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
9723            case TESTPLAN: return "TestPlan";
9724            case TESTREPORT: return "TestReport";
9725            case TESTSCRIPT: return "TestScript";
9726            case TRANSPORT: return "Transport";
9727            case VALUESET: return "ValueSet";
9728            case VERIFICATIONRESULT: return "VerificationResult";
9729            case VISIONPRESCRIPTION: return "VisionPrescription";
9730            case PARAMETERS: return "Parameters";
9731            case NULL: return null;
9732            default: return "?";
9733          }
9734        }
9735        public String getSystem() {
9736          switch (this) {
9737            case BASE: return "http://hl7.org/fhir/fhir-types";
9738            case ELEMENT: return "http://hl7.org/fhir/fhir-types";
9739            case BACKBONEELEMENT: return "http://hl7.org/fhir/fhir-types";
9740            case DATATYPE: return "http://hl7.org/fhir/fhir-types";
9741            case ADDRESS: return "http://hl7.org/fhir/fhir-types";
9742            case ANNOTATION: return "http://hl7.org/fhir/fhir-types";
9743            case ATTACHMENT: return "http://hl7.org/fhir/fhir-types";
9744            case AVAILABILITY: return "http://hl7.org/fhir/fhir-types";
9745            case BACKBONETYPE: return "http://hl7.org/fhir/fhir-types";
9746            case DOSAGE: return "http://hl7.org/fhir/fhir-types";
9747            case ELEMENTDEFINITION: return "http://hl7.org/fhir/fhir-types";
9748            case MARKETINGSTATUS: return "http://hl7.org/fhir/fhir-types";
9749            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/fhir-types";
9750            case TIMING: return "http://hl7.org/fhir/fhir-types";
9751            case CODEABLECONCEPT: return "http://hl7.org/fhir/fhir-types";
9752            case CODEABLEREFERENCE: return "http://hl7.org/fhir/fhir-types";
9753            case CODING: return "http://hl7.org/fhir/fhir-types";
9754            case CONTACTDETAIL: return "http://hl7.org/fhir/fhir-types";
9755            case CONTACTPOINT: return "http://hl7.org/fhir/fhir-types";
9756            case CONTRIBUTOR: return "http://hl7.org/fhir/fhir-types";
9757            case DATAREQUIREMENT: return "http://hl7.org/fhir/fhir-types";
9758            case EXPRESSION: return "http://hl7.org/fhir/fhir-types";
9759            case EXTENDEDCONTACTDETAIL: return "http://hl7.org/fhir/fhir-types";
9760            case EXTENSION: return "http://hl7.org/fhir/fhir-types";
9761            case HUMANNAME: return "http://hl7.org/fhir/fhir-types";
9762            case IDENTIFIER: return "http://hl7.org/fhir/fhir-types";
9763            case META: return "http://hl7.org/fhir/fhir-types";
9764            case MONETARYCOMPONENT: return "http://hl7.org/fhir/fhir-types";
9765            case MONEY: return "http://hl7.org/fhir/fhir-types";
9766            case NARRATIVE: return "http://hl7.org/fhir/fhir-types";
9767            case PARAMETERDEFINITION: return "http://hl7.org/fhir/fhir-types";
9768            case PERIOD: return "http://hl7.org/fhir/fhir-types";
9769            case PRIMITIVETYPE: return "http://hl7.org/fhir/fhir-types";
9770            case BASE64BINARY: return "http://hl7.org/fhir/fhir-types";
9771            case BOOLEAN: return "http://hl7.org/fhir/fhir-types";
9772            case DATE: return "http://hl7.org/fhir/fhir-types";
9773            case DATETIME: return "http://hl7.org/fhir/fhir-types";
9774            case DECIMAL: return "http://hl7.org/fhir/fhir-types";
9775            case INSTANT: return "http://hl7.org/fhir/fhir-types";
9776            case INTEGER: return "http://hl7.org/fhir/fhir-types";
9777            case POSITIVEINT: return "http://hl7.org/fhir/fhir-types";
9778            case UNSIGNEDINT: return "http://hl7.org/fhir/fhir-types";
9779            case INTEGER64: return "http://hl7.org/fhir/fhir-types";
9780            case STRING: return "http://hl7.org/fhir/fhir-types";
9781            case CODE: return "http://hl7.org/fhir/fhir-types";
9782            case ID: return "http://hl7.org/fhir/fhir-types";
9783            case MARKDOWN: return "http://hl7.org/fhir/fhir-types";
9784            case TIME: return "http://hl7.org/fhir/fhir-types";
9785            case URI: return "http://hl7.org/fhir/fhir-types";
9786            case CANONICAL: return "http://hl7.org/fhir/fhir-types";
9787            case OID: return "http://hl7.org/fhir/fhir-types";
9788            case URL: return "http://hl7.org/fhir/fhir-types";
9789            case UUID: return "http://hl7.org/fhir/fhir-types";
9790            case QUANTITY: return "http://hl7.org/fhir/fhir-types";
9791            case AGE: return "http://hl7.org/fhir/fhir-types";
9792            case COUNT: return "http://hl7.org/fhir/fhir-types";
9793            case DISTANCE: return "http://hl7.org/fhir/fhir-types";
9794            case DURATION: return "http://hl7.org/fhir/fhir-types";
9795            case RANGE: return "http://hl7.org/fhir/fhir-types";
9796            case RATIO: return "http://hl7.org/fhir/fhir-types";
9797            case RATIORANGE: return "http://hl7.org/fhir/fhir-types";
9798            case REFERENCE: return "http://hl7.org/fhir/fhir-types";
9799            case RELATEDARTIFACT: return "http://hl7.org/fhir/fhir-types";
9800            case SAMPLEDDATA: return "http://hl7.org/fhir/fhir-types";
9801            case SIGNATURE: return "http://hl7.org/fhir/fhir-types";
9802            case TRIGGERDEFINITION: return "http://hl7.org/fhir/fhir-types";
9803            case USAGECONTEXT: return "http://hl7.org/fhir/fhir-types";
9804            case VIRTUALSERVICEDETAIL: return "http://hl7.org/fhir/fhir-types";
9805            case XHTML: return "http://hl7.org/fhir/fhir-types";
9806            case RESOURCE: return "http://hl7.org/fhir/fhir-types";
9807            case BINARY: return "http://hl7.org/fhir/fhir-types";
9808            case BUNDLE: return "http://hl7.org/fhir/fhir-types";
9809            case DOMAINRESOURCE: return "http://hl7.org/fhir/fhir-types";
9810            case ACCOUNT: return "http://hl7.org/fhir/fhir-types";
9811            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/fhir-types";
9812            case ACTORDEFINITION: return "http://hl7.org/fhir/fhir-types";
9813            case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
9814            case ADVERSEEVENT: return "http://hl7.org/fhir/fhir-types";
9815            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/fhir-types";
9816            case APPOINTMENT: return "http://hl7.org/fhir/fhir-types";
9817            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/fhir-types";
9818            case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/fhir-types";
9819            case AUDITEVENT: return "http://hl7.org/fhir/fhir-types";
9820            case BASIC: return "http://hl7.org/fhir/fhir-types";
9821            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/fhir-types";
9822            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "http://hl7.org/fhir/fhir-types";
9823            case BODYSTRUCTURE: return "http://hl7.org/fhir/fhir-types";
9824            case CANONICALRESOURCE: return "http://hl7.org/fhir/fhir-types";
9825            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/fhir-types";
9826            case CAREPLAN: return "http://hl7.org/fhir/fhir-types";
9827            case CARETEAM: return "http://hl7.org/fhir/fhir-types";
9828            case CHARGEITEM: return "http://hl7.org/fhir/fhir-types";
9829            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/fhir-types";
9830            case CITATION: return "http://hl7.org/fhir/fhir-types";
9831            case CLAIM: return "http://hl7.org/fhir/fhir-types";
9832            case CLAIMRESPONSE: return "http://hl7.org/fhir/fhir-types";
9833            case CLINICALIMPRESSION: return "http://hl7.org/fhir/fhir-types";
9834            case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/fhir-types";
9835            case CODESYSTEM: return "http://hl7.org/fhir/fhir-types";
9836            case COMMUNICATION: return "http://hl7.org/fhir/fhir-types";
9837            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types";
9838            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/fhir-types";
9839            case COMPOSITION: return "http://hl7.org/fhir/fhir-types";
9840            case CONCEPTMAP: return "http://hl7.org/fhir/fhir-types";
9841            case CONDITION: return "http://hl7.org/fhir/fhir-types";
9842            case CONDITIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
9843            case CONSENT: return "http://hl7.org/fhir/fhir-types";
9844            case CONTRACT: return "http://hl7.org/fhir/fhir-types";
9845            case COVERAGE: return "http://hl7.org/fhir/fhir-types";
9846            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-types";
9847            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/fhir-types";
9848            case DETECTEDISSUE: return "http://hl7.org/fhir/fhir-types";
9849            case DEVICE: return "http://hl7.org/fhir/fhir-types";
9850            case DEVICEASSOCIATION: return "http://hl7.org/fhir/fhir-types";
9851            case DEVICEDEFINITION: return "http://hl7.org/fhir/fhir-types";
9852            case DEVICEDISPENSE: return "http://hl7.org/fhir/fhir-types";
9853            case DEVICEMETRIC: return "http://hl7.org/fhir/fhir-types";
9854            case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types";
9855            case DEVICEUSAGE: return "http://hl7.org/fhir/fhir-types";
9856            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/fhir-types";
9857            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/fhir-types";
9858            case ENCOUNTER: return "http://hl7.org/fhir/fhir-types";
9859            case ENCOUNTERHISTORY: return "http://hl7.org/fhir/fhir-types";
9860            case ENDPOINT: return "http://hl7.org/fhir/fhir-types";
9861            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/fhir-types";
9862            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/fhir-types";
9863            case EPISODEOFCARE: return "http://hl7.org/fhir/fhir-types";
9864            case EVENTDEFINITION: return "http://hl7.org/fhir/fhir-types";
9865            case EVIDENCE: return "http://hl7.org/fhir/fhir-types";
9866            case EVIDENCEREPORT: return "http://hl7.org/fhir/fhir-types";
9867            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/fhir-types";
9868            case EXAMPLESCENARIO: return "http://hl7.org/fhir/fhir-types";
9869            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/fhir-types";
9870            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/fhir-types";
9871            case FLAG: return "http://hl7.org/fhir/fhir-types";
9872            case FORMULARYITEM: return "http://hl7.org/fhir/fhir-types";
9873            case GENOMICSTUDY: return "http://hl7.org/fhir/fhir-types";
9874            case GOAL: return "http://hl7.org/fhir/fhir-types";
9875            case GRAPHDEFINITION: return "http://hl7.org/fhir/fhir-types";
9876            case GROUP: return "http://hl7.org/fhir/fhir-types";
9877            case GUIDANCERESPONSE: return "http://hl7.org/fhir/fhir-types";
9878            case HEALTHCARESERVICE: return "http://hl7.org/fhir/fhir-types";
9879            case IMAGINGSELECTION: return "http://hl7.org/fhir/fhir-types";
9880            case IMAGINGSTUDY: return "http://hl7.org/fhir/fhir-types";
9881            case IMMUNIZATION: return "http://hl7.org/fhir/fhir-types";
9882            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/fhir-types";
9883            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/fhir-types";
9884            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/fhir-types";
9885            case INGREDIENT: return "http://hl7.org/fhir/fhir-types";
9886            case INSURANCEPLAN: return "http://hl7.org/fhir/fhir-types";
9887            case INVENTORYITEM: return "http://hl7.org/fhir/fhir-types";
9888            case INVENTORYREPORT: return "http://hl7.org/fhir/fhir-types";
9889            case INVOICE: return "http://hl7.org/fhir/fhir-types";
9890            case LIBRARY: return "http://hl7.org/fhir/fhir-types";
9891            case LINKAGE: return "http://hl7.org/fhir/fhir-types";
9892            case LIST: return "http://hl7.org/fhir/fhir-types";
9893            case LOCATION: return "http://hl7.org/fhir/fhir-types";
9894            case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/fhir-types";
9895            case MEASURE: return "http://hl7.org/fhir/fhir-types";
9896            case MEASUREREPORT: return "http://hl7.org/fhir/fhir-types";
9897            case MEDICATION: return "http://hl7.org/fhir/fhir-types";
9898            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/fhir-types";
9899            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/fhir-types";
9900            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/fhir-types";
9901            case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types";
9902            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/fhir-types";
9903            case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
9904            case MESSAGEDEFINITION: return "http://hl7.org/fhir/fhir-types";
9905            case MESSAGEHEADER: return "http://hl7.org/fhir/fhir-types";
9906            case METADATARESOURCE: return "http://hl7.org/fhir/fhir-types";
9907            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/fhir-types";
9908            case NAMINGSYSTEM: return "http://hl7.org/fhir/fhir-types";
9909            case NUTRITIONINTAKE: return "http://hl7.org/fhir/fhir-types";
9910            case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types";
9911            case NUTRITIONPRODUCT: return "http://hl7.org/fhir/fhir-types";
9912            case OBSERVATION: return "http://hl7.org/fhir/fhir-types";
9913            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
9914            case OPERATIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
9915            case OPERATIONOUTCOME: return "http://hl7.org/fhir/fhir-types";
9916            case ORGANIZATION: return "http://hl7.org/fhir/fhir-types";
9917            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/fhir-types";
9918            case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
9919            case PATIENT: return "http://hl7.org/fhir/fhir-types";
9920            case PAYMENTNOTICE: return "http://hl7.org/fhir/fhir-types";
9921            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/fhir-types";
9922            case PERMISSION: return "http://hl7.org/fhir/fhir-types";
9923            case PERSON: return "http://hl7.org/fhir/fhir-types";
9924            case PLANDEFINITION: return "http://hl7.org/fhir/fhir-types";
9925            case PRACTITIONER: return "http://hl7.org/fhir/fhir-types";
9926            case PRACTITIONERROLE: return "http://hl7.org/fhir/fhir-types";
9927            case PROCEDURE: return "http://hl7.org/fhir/fhir-types";
9928            case PROVENANCE: return "http://hl7.org/fhir/fhir-types";
9929            case QUESTIONNAIRE: return "http://hl7.org/fhir/fhir-types";
9930            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/fhir-types";
9931            case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/fhir-types";
9932            case RELATEDPERSON: return "http://hl7.org/fhir/fhir-types";
9933            case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types";
9934            case REQUIREMENTS: return "http://hl7.org/fhir/fhir-types";
9935            case RESEARCHSTUDY: return "http://hl7.org/fhir/fhir-types";
9936            case RESEARCHSUBJECT: return "http://hl7.org/fhir/fhir-types";
9937            case RISKASSESSMENT: return "http://hl7.org/fhir/fhir-types";
9938            case SCHEDULE: return "http://hl7.org/fhir/fhir-types";
9939            case SEARCHPARAMETER: return "http://hl7.org/fhir/fhir-types";
9940            case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types";
9941            case SLOT: return "http://hl7.org/fhir/fhir-types";
9942            case SPECIMEN: return "http://hl7.org/fhir/fhir-types";
9943            case SPECIMENDEFINITION: return "http://hl7.org/fhir/fhir-types";
9944            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/fhir-types";
9945            case STRUCTUREMAP: return "http://hl7.org/fhir/fhir-types";
9946            case SUBSCRIPTION: return "http://hl7.org/fhir/fhir-types";
9947            case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/fhir-types";
9948            case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/fhir-types";
9949            case SUBSTANCE: return "http://hl7.org/fhir/fhir-types";
9950            case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/fhir-types";
9951            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/fhir-types";
9952            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/fhir-types";
9953            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/fhir-types";
9954            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/fhir-types";
9955            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/fhir-types";
9956            case SUPPLYDELIVERY: return "http://hl7.org/fhir/fhir-types";
9957            case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types";
9958            case TASK: return "http://hl7.org/fhir/fhir-types";
9959            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/fhir-types";
9960            case TESTPLAN: return "http://hl7.org/fhir/fhir-types";
9961            case TESTREPORT: return "http://hl7.org/fhir/fhir-types";
9962            case TESTSCRIPT: return "http://hl7.org/fhir/fhir-types";
9963            case TRANSPORT: return "http://hl7.org/fhir/fhir-types";
9964            case VALUESET: return "http://hl7.org/fhir/fhir-types";
9965            case VERIFICATIONRESULT: return "http://hl7.org/fhir/fhir-types";
9966            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types";
9967            case PARAMETERS: return "http://hl7.org/fhir/fhir-types";
9968            case NULL: return null;
9969            default: return "?";
9970          }
9971        }
9972        public String getDefinition() {
9973          switch (this) {
9974            case BASE: return "Base Type: Base definition for all types defined in FHIR type system.";
9975            case ELEMENT: return "Element Type: Base definition for all elements in a resource.";
9976            case BACKBONEELEMENT: return "BackboneElement Type: Base definition for all elements that are defined inside a resource - but not those in a data type.";
9977            case DATATYPE: return "DataType Type: The base class for all re-useable types defined as part of the FHIR Specification.";
9978            case ADDRESS: return "Address Type: 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.\nThe ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address.";
9979            case ANNOTATION: return "Annotation Type: A  text note which also  contains information about who made the statement and when.";
9980            case ATTACHMENT: return "Attachment Type: For referring to data content defined in other formats.";
9981            case AVAILABILITY: return "Availability Type: Availability data for an {item}.";
9982            case BACKBONETYPE: return "BackboneType Type: Base definition for the few data types that are allowed to carry modifier extensions.";
9983            case DOSAGE: return "Dosage Type: Indicates how the medication is/was taken or should be taken by the patient.";
9984            case ELEMENTDEFINITION: return "ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.";
9985            case MARKETINGSTATUS: return "MarketingStatus Type: 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.";
9986            case PRODUCTSHELFLIFE: return "ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class.";
9987            case TIMING: return "Timing Type: 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.";
9988            case CODEABLECONCEPT: return "CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
9989            case CODEABLEREFERENCE: return "CodeableReference Type: A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class).";
9990            case CODING: return "Coding Type: A reference to a code defined by a terminology system.";
9991            case CONTACTDETAIL: return "ContactDetail Type: Specifies contact information for a person or organization.";
9992            case CONTACTPOINT: return "ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
9993            case CONTRIBUTOR: return "Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
9994            case DATAREQUIREMENT: return "DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.";
9995            case EXPRESSION: return "Expression Type: 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.";
9996            case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail Type: Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization.";
9997            case EXTENSION: return "Extension Type: Optional Extension Element - found in all resources.";
9998            case HUMANNAME: return "HumanName Type: A name, normally of a human, that can be used for other living entities (e.g. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information.";
9999            case IDENTIFIER: return "Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
10000            case META: return "Meta Type: 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.";
10001            case MONETARYCOMPONENT: return "MonetaryComponent Type: Availability data for an {item}.";
10002            case MONEY: return "Money Type: An amount of economic utility in some recognized currency.";
10003            case NARRATIVE: return "Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
10004            case PARAMETERDEFINITION: return "ParameterDefinition Type: 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.";
10005            case PERIOD: return "Period Type: A time period defined by a start and end date and optionally time.";
10006            case PRIMITIVETYPE: return "PrimitiveType Type: The base type for all re-useable types defined that have a simple property.";
10007            case BASE64BINARY: return "base64Binary Type: A stream of bytes";
10008            case BOOLEAN: return "boolean Type: Value of \"true\" or \"false\"";
10009            case DATE: return "date Type: A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.";
10010            case DATETIME: return "dateTime Type: A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a UTC offset 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.";
10011            case DECIMAL: return "decimal Type: A rational number with implicit precision";
10012            case INSTANT: return "instant Type: An instant in time - known at least to the second";
10013            case INTEGER: return "integer Type: A whole number";
10014            case POSITIVEINT: return "positiveInt type: An integer with a value that is positive (e.g. >0)";
10015            case UNSIGNEDINT: return "unsignedInt type: An integer with a value that is not negative (e.g. >= 0)";
10016            case INTEGER64: return "integer64 Type: A very large whole number";
10017            case STRING: return "string Type: A sequence of Unicode characters";
10018            case CODE: return "code type: 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";
10019            case ID: return "id type: 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.";
10020            case MARKDOWN: return "markdown type: A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
10021            case TIME: return "time Type: A time during the day, with no date specified";
10022            case URI: return "uri Type: String of characters used to identify a name or a resource";
10023            case CANONICAL: return "canonical type: A URI that is a reference to a canonical URL on a FHIR resource";
10024            case OID: return "oid type: An OID represented as a URI";
10025            case URL: return "url type: A URI that is a literal reference";
10026            case UUID: return "uuid type: A UUID, represented as a URI";
10027            case QUANTITY: return "Quantity Type: 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.";
10028            case AGE: return "Age Type: A duration of time during which an organism (or a process) has existed.";
10029            case COUNT: return "Count Type: 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.";
10030            case DISTANCE: return "Distance Type: A length - a value with a unit that is a physical distance.";
10031            case DURATION: return "Duration Type: A length of time.";
10032            case RANGE: return "Range Type: A set of ordered Quantities defined by a low and high limit.";
10033            case RATIO: return "Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator.";
10034            case RATIORANGE: return "RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator.";
10035            case REFERENCE: return "Reference Type: A reference from one resource to another.";
10036            case RELATEDARTIFACT: return "RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references.";
10037            case SAMPLEDDATA: return "SampledData Type: A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
10038            case SIGNATURE: return "Signature Type: 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.";
10039            case TRIGGERDEFINITION: return "TriggerDefinition Type: A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
10040            case USAGECONTEXT: return "UsageContext Type: 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).";
10041            case VIRTUALSERVICEDETAIL: return "VirtualServiceDetail Type: Virtual Service Contact Details.";
10042            case XHTML: return "xhtml Type definition";
10043            case RESOURCE: return "This is the base resource type for everything.";
10044            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.";
10045            case BUNDLE: return "A container for a collection of resources.";
10046            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
10047            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.";
10048            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.";
10049            case ACTORDEFINITION: return "The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.";
10050            case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed).";
10051            case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research participant. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical  research trial management.  Adverse events can be reported by healthcare providers, patients, caregivers or by medical products manufacturers.  Given the differences between these two concepts, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints.";
10052            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
10053            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).";
10054            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
10055            case ARTIFACTASSESSMENT: return "This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content.";
10056            case AUDITEVENT: return "A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis.";
10057            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.";
10058            case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity.";
10059            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "A record of dispensation of a biologically derived product.";
10060            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.";
10061            case CANONICALRESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources.";
10062            case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client 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.";
10063            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.";
10064            case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care.";
10065            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.";
10066            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.";
10067            case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources.";
10068            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.";
10069            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
10070            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.";
10071            case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure.";
10072            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.";
10073            case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition.";
10074            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.";
10075            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
10076            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.).";
10077            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.";
10078            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
10079            case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it.";
10080            case CONSENT: return "A record of a healthcare consumer?s  choices  or choices made on their behalf by a third party, 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.";
10081            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
10082            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.";
10083            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.";
10084            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
10085            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, gaps in care, etc.";
10086            case DEVICE: return "This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc.), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element.";
10087            case DEVICEASSOCIATION: return "A record of association of a device.";
10088            case DEVICEDEFINITION: return "This is a specialized resource that defines the characteristics and capabilities of a device.";
10089            case DEVICEDISPENSE: return "Indicates that a device is to be or has been dispensed for a named person/patient.  This includes a description of the product (supply) provided and the instructions for using the device.";
10090            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a device.  The DeviceMetric resource is derived from the ISO/IEEE 11073-10201 Domain Information Model standard, but is more widely applicable. ";
10091            case DEVICEREQUEST: return "Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used.";
10092            case DEVICEUSAGE: return "A record of a device being used by a patient where the record is the result of a report from the patient or a clinician.";
10093            case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances.";
10094            case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term ?document? implies a more narrow focus, for this resource this ?document? encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare.  The DocumentReference resource provides metadata about the document so that the document can be discovered and managed.  The actual content may be inline base64 encoded data or provided by direct reference.";
10095            case ENCOUNTER: return "An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s).";
10096            case ENCOUNTERHISTORY: return "A record of significant events/milestones key data throughout the history of an Encounter";
10097            case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.";
10098            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
10099            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
10100            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.";
10101            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
10102            case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence.";
10103            case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts.";
10104            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about.";
10105            case EXAMPLESCENARIO: return "A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.";
10106            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.";
10107            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
10108            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
10109            case FORMULARYITEM: return "This resource describes a product or service that is available through a program and includes the conditions and constraints of availability.  All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself.";
10110            case GENOMICSTUDY: return "A set of analyses performed to analyze and generate genomic data.";
10111            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.";
10112            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.";
10113            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.";
10114            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.";
10115            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location or in a catalog.  In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices.";
10116            case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource.";
10117            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.";
10118            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.";
10119            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.";
10120            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
10121            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.";
10122            case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
10123            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
10124            case INVENTORYITEM: return "functional description of an inventory item used in inventory and supply-related workflows.";
10125            case INVENTORYREPORT: return "A report of inventory or stock items.";
10126            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
10127            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.";
10128            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
10129            case LIST: return "A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc.";
10130            case LOCATION: return "Details and position information for a place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
10131            case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.";
10132            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
10133            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.";
10134            case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.";
10135            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. This event can also be used to record waste using a status of not-done and the appropriate statusReason.";
10136            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.";
10137            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
10138            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.";
10139            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 medicationstatement and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medicationstatement 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.";
10140            case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.).";
10141            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.";
10142            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.";
10143            case METADATARESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources.";
10144            case MOLECULARSEQUENCE: return "Representation of a molecular sequence.";
10145            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.";
10146            case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient.  A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past.  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 or through an app that tracks food or fluids consumed.   The consumption information may come from sources such as the patient's memory, from a nutrition label,  or from a clinician documenting observed intake.";
10147            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
10148            case NUTRITIONPRODUCT: return "A food or supplement that is consumed by patients.";
10149            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
10150            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
10151            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
10152            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
10153            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.";
10154            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship.";
10155            case PACKAGEDPRODUCTDEFINITION: return "A medically related item or items, in a container or package.";
10156            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
10157            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
10158            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
10159            case PERMISSION: return "Permission resource holds access rules for a given data and context.";
10160            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
10161            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 and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.";
10162            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare or related services.";
10163            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time.";
10164            case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy.  This can be a quality or safety inspection for a location, organization, or device.  This can be an accreditation procedure on a practitioner for licensing.";
10165            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.";
10166            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.";
10167            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.";
10168            case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product.";
10169            case RELATEDPERSON: return "Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.";
10170            case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".";
10171            case REQUIREMENTS: return "The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.";
10172            case RESEARCHSTUDY: return "A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future.";
10173            case RESEARCHSUBJECT: return "A ResearchSubject is a participant or object which is the recipient of investigative activities in a research study.";
10174            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
10175            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
10176            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
10177            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
10178            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
10179            case SPECIMEN: return "A sample to be used for analysis.";
10180            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
10181            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.";
10182            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
10183            case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic.";
10184            case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted.";
10185            case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic.";
10186            case SUBSTANCE: return "A homogeneous material with a definite composition.";
10187            case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
10188            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.";
10189            case SUBSTANCEPOLYMER: return "Properties of a substance specific to it being a polymer.";
10190            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.";
10191            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
10192            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.";
10193            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
10194            case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.";
10195            case TASK: return "A task to be performed.";
10196            case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
10197            case TESTPLAN: return "A plan for executing testing on an artifact or specifications";
10198            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
10199            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
10200            case TRANSPORT: return "Record of transport.";
10201            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).";
10202            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
10203            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
10204            case PARAMETERS: return "This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment).  It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource.";
10205            case NULL: return null;
10206            default: return "?";
10207          }
10208        }
10209        public String getDisplay() {
10210          switch (this) {
10211            case BASE: return "Base";
10212            case ELEMENT: return "Element";
10213            case BACKBONEELEMENT: return "BackboneElement";
10214            case DATATYPE: return "DataType";
10215            case ADDRESS: return "Address";
10216            case ANNOTATION: return "Annotation";
10217            case ATTACHMENT: return "Attachment";
10218            case AVAILABILITY: return "Availability";
10219            case BACKBONETYPE: return "BackboneType";
10220            case DOSAGE: return "Dosage";
10221            case ELEMENTDEFINITION: return "ElementDefinition";
10222            case MARKETINGSTATUS: return "MarketingStatus";
10223            case PRODUCTSHELFLIFE: return "ProductShelfLife";
10224            case TIMING: return "Timing";
10225            case CODEABLECONCEPT: return "CodeableConcept";
10226            case CODEABLEREFERENCE: return "CodeableReference";
10227            case CODING: return "Coding";
10228            case CONTACTDETAIL: return "ContactDetail";
10229            case CONTACTPOINT: return "ContactPoint";
10230            case CONTRIBUTOR: return "Contributor";
10231            case DATAREQUIREMENT: return "DataRequirement";
10232            case EXPRESSION: return "Expression";
10233            case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail";
10234            case EXTENSION: return "Extension";
10235            case HUMANNAME: return "HumanName";
10236            case IDENTIFIER: return "Identifier";
10237            case META: return "Meta";
10238            case MONETARYCOMPONENT: return "MonetaryComponent";
10239            case MONEY: return "Money";
10240            case NARRATIVE: return "Narrative";
10241            case PARAMETERDEFINITION: return "ParameterDefinition";
10242            case PERIOD: return "Period";
10243            case PRIMITIVETYPE: return "PrimitiveType";
10244            case BASE64BINARY: return "base64Binary";
10245            case BOOLEAN: return "boolean";
10246            case DATE: return "date";
10247            case DATETIME: return "dateTime";
10248            case DECIMAL: return "decimal";
10249            case INSTANT: return "instant";
10250            case INTEGER: return "integer";
10251            case POSITIVEINT: return "positiveInt";
10252            case UNSIGNEDINT: return "unsignedInt";
10253            case INTEGER64: return "integer64";
10254            case STRING: return "string";
10255            case CODE: return "code";
10256            case ID: return "id";
10257            case MARKDOWN: return "markdown";
10258            case TIME: return "time";
10259            case URI: return "uri";
10260            case CANONICAL: return "canonical";
10261            case OID: return "oid";
10262            case URL: return "url";
10263            case UUID: return "uuid";
10264            case QUANTITY: return "Quantity";
10265            case AGE: return "Age";
10266            case COUNT: return "Count";
10267            case DISTANCE: return "Distance";
10268            case DURATION: return "Duration";
10269            case RANGE: return "Range";
10270            case RATIO: return "Ratio";
10271            case RATIORANGE: return "RatioRange";
10272            case REFERENCE: return "Reference";
10273            case RELATEDARTIFACT: return "RelatedArtifact";
10274            case SAMPLEDDATA: return "SampledData";
10275            case SIGNATURE: return "Signature";
10276            case TRIGGERDEFINITION: return "TriggerDefinition";
10277            case USAGECONTEXT: return "UsageContext";
10278            case VIRTUALSERVICEDETAIL: return "VirtualServiceDetail";
10279            case XHTML: return "xhtml";
10280            case RESOURCE: return "Resource";
10281            case BINARY: return "Binary";
10282            case BUNDLE: return "Bundle";
10283            case DOMAINRESOURCE: return "DomainResource";
10284            case ACCOUNT: return "Account";
10285            case ACTIVITYDEFINITION: return "ActivityDefinition";
10286            case ACTORDEFINITION: return "ActorDefinition";
10287            case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition";
10288            case ADVERSEEVENT: return "AdverseEvent";
10289            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
10290            case APPOINTMENT: return "Appointment";
10291            case APPOINTMENTRESPONSE: return "AppointmentResponse";
10292            case ARTIFACTASSESSMENT: return "ArtifactAssessment";
10293            case AUDITEVENT: return "AuditEvent";
10294            case BASIC: return "Basic";
10295            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
10296            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "BiologicallyDerivedProductDispense";
10297            case BODYSTRUCTURE: return "BodyStructure";
10298            case CANONICALRESOURCE: return "CanonicalResource";
10299            case CAPABILITYSTATEMENT: return "CapabilityStatement";
10300            case CAREPLAN: return "CarePlan";
10301            case CARETEAM: return "CareTeam";
10302            case CHARGEITEM: return "ChargeItem";
10303            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
10304            case CITATION: return "Citation";
10305            case CLAIM: return "Claim";
10306            case CLAIMRESPONSE: return "ClaimResponse";
10307            case CLINICALIMPRESSION: return "ClinicalImpression";
10308            case CLINICALUSEDEFINITION: return "ClinicalUseDefinition";
10309            case CODESYSTEM: return "CodeSystem";
10310            case COMMUNICATION: return "Communication";
10311            case COMMUNICATIONREQUEST: return "CommunicationRequest";
10312            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
10313            case COMPOSITION: return "Composition";
10314            case CONCEPTMAP: return "ConceptMap";
10315            case CONDITION: return "Condition";
10316            case CONDITIONDEFINITION: return "ConditionDefinition";
10317            case CONSENT: return "Consent";
10318            case CONTRACT: return "Contract";
10319            case COVERAGE: return "Coverage";
10320            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
10321            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
10322            case DETECTEDISSUE: return "DetectedIssue";
10323            case DEVICE: return "Device";
10324            case DEVICEASSOCIATION: return "DeviceAssociation";
10325            case DEVICEDEFINITION: return "DeviceDefinition";
10326            case DEVICEDISPENSE: return "DeviceDispense";
10327            case DEVICEMETRIC: return "DeviceMetric";
10328            case DEVICEREQUEST: return "DeviceRequest";
10329            case DEVICEUSAGE: return "DeviceUsage";
10330            case DIAGNOSTICREPORT: return "DiagnosticReport";
10331            case DOCUMENTREFERENCE: return "DocumentReference";
10332            case ENCOUNTER: return "Encounter";
10333            case ENCOUNTERHISTORY: return "EncounterHistory";
10334            case ENDPOINT: return "Endpoint";
10335            case ENROLLMENTREQUEST: return "EnrollmentRequest";
10336            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
10337            case EPISODEOFCARE: return "EpisodeOfCare";
10338            case EVENTDEFINITION: return "EventDefinition";
10339            case EVIDENCE: return "Evidence";
10340            case EVIDENCEREPORT: return "EvidenceReport";
10341            case EVIDENCEVARIABLE: return "EvidenceVariable";
10342            case EXAMPLESCENARIO: return "ExampleScenario";
10343            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
10344            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
10345            case FLAG: return "Flag";
10346            case FORMULARYITEM: return "FormularyItem";
10347            case GENOMICSTUDY: return "GenomicStudy";
10348            case GOAL: return "Goal";
10349            case GRAPHDEFINITION: return "GraphDefinition";
10350            case GROUP: return "Group";
10351            case GUIDANCERESPONSE: return "GuidanceResponse";
10352            case HEALTHCARESERVICE: return "HealthcareService";
10353            case IMAGINGSELECTION: return "ImagingSelection";
10354            case IMAGINGSTUDY: return "ImagingStudy";
10355            case IMMUNIZATION: return "Immunization";
10356            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
10357            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
10358            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
10359            case INGREDIENT: return "Ingredient";
10360            case INSURANCEPLAN: return "InsurancePlan";
10361            case INVENTORYITEM: return "InventoryItem";
10362            case INVENTORYREPORT: return "InventoryReport";
10363            case INVOICE: return "Invoice";
10364            case LIBRARY: return "Library";
10365            case LINKAGE: return "Linkage";
10366            case LIST: return "List";
10367            case LOCATION: return "Location";
10368            case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition";
10369            case MEASURE: return "Measure";
10370            case MEASUREREPORT: return "MeasureReport";
10371            case MEDICATION: return "Medication";
10372            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
10373            case MEDICATIONDISPENSE: return "MedicationDispense";
10374            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
10375            case MEDICATIONREQUEST: return "MedicationRequest";
10376            case MEDICATIONSTATEMENT: return "MedicationStatement";
10377            case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition";
10378            case MESSAGEDEFINITION: return "MessageDefinition";
10379            case MESSAGEHEADER: return "MessageHeader";
10380            case METADATARESOURCE: return "MetadataResource";
10381            case MOLECULARSEQUENCE: return "MolecularSequence";
10382            case NAMINGSYSTEM: return "NamingSystem";
10383            case NUTRITIONINTAKE: return "NutritionIntake";
10384            case NUTRITIONORDER: return "NutritionOrder";
10385            case NUTRITIONPRODUCT: return "NutritionProduct";
10386            case OBSERVATION: return "Observation";
10387            case OBSERVATIONDEFINITION: return "ObservationDefinition";
10388            case OPERATIONDEFINITION: return "OperationDefinition";
10389            case OPERATIONOUTCOME: return "OperationOutcome";
10390            case ORGANIZATION: return "Organization";
10391            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
10392            case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition";
10393            case PATIENT: return "Patient";
10394            case PAYMENTNOTICE: return "PaymentNotice";
10395            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
10396            case PERMISSION: return "Permission";
10397            case PERSON: return "Person";
10398            case PLANDEFINITION: return "PlanDefinition";
10399            case PRACTITIONER: return "Practitioner";
10400            case PRACTITIONERROLE: return "PractitionerRole";
10401            case PROCEDURE: return "Procedure";
10402            case PROVENANCE: return "Provenance";
10403            case QUESTIONNAIRE: return "Questionnaire";
10404            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
10405            case REGULATEDAUTHORIZATION: return "RegulatedAuthorization";
10406            case RELATEDPERSON: return "RelatedPerson";
10407            case REQUESTORCHESTRATION: return "RequestOrchestration";
10408            case REQUIREMENTS: return "Requirements";
10409            case RESEARCHSTUDY: return "ResearchStudy";
10410            case RESEARCHSUBJECT: return "ResearchSubject";
10411            case RISKASSESSMENT: return "RiskAssessment";
10412            case SCHEDULE: return "Schedule";
10413            case SEARCHPARAMETER: return "SearchParameter";
10414            case SERVICEREQUEST: return "ServiceRequest";
10415            case SLOT: return "Slot";
10416            case SPECIMEN: return "Specimen";
10417            case SPECIMENDEFINITION: return "SpecimenDefinition";
10418            case STRUCTUREDEFINITION: return "StructureDefinition";
10419            case STRUCTUREMAP: return "StructureMap";
10420            case SUBSCRIPTION: return "Subscription";
10421            case SUBSCRIPTIONSTATUS: return "SubscriptionStatus";
10422            case SUBSCRIPTIONTOPIC: return "SubscriptionTopic";
10423            case SUBSTANCE: return "Substance";
10424            case SUBSTANCEDEFINITION: return "SubstanceDefinition";
10425            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
10426            case SUBSTANCEPOLYMER: return "SubstancePolymer";
10427            case SUBSTANCEPROTEIN: return "SubstanceProtein";
10428            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
10429            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
10430            case SUPPLYDELIVERY: return "SupplyDelivery";
10431            case SUPPLYREQUEST: return "SupplyRequest";
10432            case TASK: return "Task";
10433            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
10434            case TESTPLAN: return "TestPlan";
10435            case TESTREPORT: return "TestReport";
10436            case TESTSCRIPT: return "TestScript";
10437            case TRANSPORT: return "Transport";
10438            case VALUESET: return "ValueSet";
10439            case VERIFICATIONRESULT: return "VerificationResult";
10440            case VISIONPRESCRIPTION: return "VisionPrescription";
10441            case PARAMETERS: return "Parameters";
10442            case NULL: return null;
10443            default: return "?";
10444          }
10445        }
10446    }
10447
10448  public static class FHIRTypesEnumFactory implements EnumFactory<FHIRTypes> {
10449    public FHIRTypes fromCode(String codeString) throws IllegalArgumentException {
10450      if (codeString == null || "".equals(codeString))
10451            if (codeString == null || "".equals(codeString))
10452                return null;
10453        if ("Base".equals(codeString))
10454          return FHIRTypes.BASE;
10455        if ("Element".equals(codeString))
10456          return FHIRTypes.ELEMENT;
10457        if ("BackboneElement".equals(codeString))
10458          return FHIRTypes.BACKBONEELEMENT;
10459        if ("DataType".equals(codeString))
10460          return FHIRTypes.DATATYPE;
10461        if ("Address".equals(codeString))
10462          return FHIRTypes.ADDRESS;
10463        if ("Annotation".equals(codeString))
10464          return FHIRTypes.ANNOTATION;
10465        if ("Attachment".equals(codeString))
10466          return FHIRTypes.ATTACHMENT;
10467        if ("Availability".equals(codeString))
10468          return FHIRTypes.AVAILABILITY;
10469        if ("BackboneType".equals(codeString))
10470          return FHIRTypes.BACKBONETYPE;
10471        if ("Dosage".equals(codeString))
10472          return FHIRTypes.DOSAGE;
10473        if ("ElementDefinition".equals(codeString))
10474          return FHIRTypes.ELEMENTDEFINITION;
10475        if ("MarketingStatus".equals(codeString))
10476          return FHIRTypes.MARKETINGSTATUS;
10477        if ("ProductShelfLife".equals(codeString))
10478          return FHIRTypes.PRODUCTSHELFLIFE;
10479        if ("Timing".equals(codeString))
10480          return FHIRTypes.TIMING;
10481        if ("CodeableConcept".equals(codeString))
10482          return FHIRTypes.CODEABLECONCEPT;
10483        if ("CodeableReference".equals(codeString))
10484          return FHIRTypes.CODEABLEREFERENCE;
10485        if ("Coding".equals(codeString))
10486          return FHIRTypes.CODING;
10487        if ("ContactDetail".equals(codeString))
10488          return FHIRTypes.CONTACTDETAIL;
10489        if ("ContactPoint".equals(codeString))
10490          return FHIRTypes.CONTACTPOINT;
10491        if ("Contributor".equals(codeString))
10492          return FHIRTypes.CONTRIBUTOR;
10493        if ("DataRequirement".equals(codeString))
10494          return FHIRTypes.DATAREQUIREMENT;
10495        if ("Expression".equals(codeString))
10496          return FHIRTypes.EXPRESSION;
10497        if ("ExtendedContactDetail".equals(codeString))
10498          return FHIRTypes.EXTENDEDCONTACTDETAIL;
10499        if ("Extension".equals(codeString))
10500          return FHIRTypes.EXTENSION;
10501        if ("HumanName".equals(codeString))
10502          return FHIRTypes.HUMANNAME;
10503        if ("Identifier".equals(codeString))
10504          return FHIRTypes.IDENTIFIER;
10505        if ("Meta".equals(codeString))
10506          return FHIRTypes.META;
10507        if ("MonetaryComponent".equals(codeString))
10508          return FHIRTypes.MONETARYCOMPONENT;
10509        if ("Money".equals(codeString))
10510          return FHIRTypes.MONEY;
10511        if ("Narrative".equals(codeString))
10512          return FHIRTypes.NARRATIVE;
10513        if ("ParameterDefinition".equals(codeString))
10514          return FHIRTypes.PARAMETERDEFINITION;
10515        if ("Period".equals(codeString))
10516          return FHIRTypes.PERIOD;
10517        if ("PrimitiveType".equals(codeString))
10518          return FHIRTypes.PRIMITIVETYPE;
10519        if ("base64Binary".equals(codeString))
10520          return FHIRTypes.BASE64BINARY;
10521        if ("boolean".equals(codeString))
10522          return FHIRTypes.BOOLEAN;
10523        if ("date".equals(codeString))
10524          return FHIRTypes.DATE;
10525        if ("dateTime".equals(codeString))
10526          return FHIRTypes.DATETIME;
10527        if ("decimal".equals(codeString))
10528          return FHIRTypes.DECIMAL;
10529        if ("instant".equals(codeString))
10530          return FHIRTypes.INSTANT;
10531        if ("integer".equals(codeString))
10532          return FHIRTypes.INTEGER;
10533        if ("positiveInt".equals(codeString))
10534          return FHIRTypes.POSITIVEINT;
10535        if ("unsignedInt".equals(codeString))
10536          return FHIRTypes.UNSIGNEDINT;
10537        if ("integer64".equals(codeString))
10538          return FHIRTypes.INTEGER64;
10539        if ("string".equals(codeString))
10540          return FHIRTypes.STRING;
10541        if ("code".equals(codeString))
10542          return FHIRTypes.CODE;
10543        if ("id".equals(codeString))
10544          return FHIRTypes.ID;
10545        if ("markdown".equals(codeString))
10546          return FHIRTypes.MARKDOWN;
10547        if ("time".equals(codeString))
10548          return FHIRTypes.TIME;
10549        if ("uri".equals(codeString))
10550          return FHIRTypes.URI;
10551        if ("canonical".equals(codeString))
10552          return FHIRTypes.CANONICAL;
10553        if ("oid".equals(codeString))
10554          return FHIRTypes.OID;
10555        if ("url".equals(codeString))
10556          return FHIRTypes.URL;
10557        if ("uuid".equals(codeString))
10558          return FHIRTypes.UUID;
10559        if ("Quantity".equals(codeString))
10560          return FHIRTypes.QUANTITY;
10561        if ("Age".equals(codeString))
10562          return FHIRTypes.AGE;
10563        if ("Count".equals(codeString))
10564          return FHIRTypes.COUNT;
10565        if ("Distance".equals(codeString))
10566          return FHIRTypes.DISTANCE;
10567        if ("Duration".equals(codeString))
10568          return FHIRTypes.DURATION;
10569        if ("Range".equals(codeString))
10570          return FHIRTypes.RANGE;
10571        if ("Ratio".equals(codeString))
10572          return FHIRTypes.RATIO;
10573        if ("RatioRange".equals(codeString))
10574          return FHIRTypes.RATIORANGE;
10575        if ("Reference".equals(codeString))
10576          return FHIRTypes.REFERENCE;
10577        if ("RelatedArtifact".equals(codeString))
10578          return FHIRTypes.RELATEDARTIFACT;
10579        if ("SampledData".equals(codeString))
10580          return FHIRTypes.SAMPLEDDATA;
10581        if ("Signature".equals(codeString))
10582          return FHIRTypes.SIGNATURE;
10583        if ("TriggerDefinition".equals(codeString))
10584          return FHIRTypes.TRIGGERDEFINITION;
10585        if ("UsageContext".equals(codeString))
10586          return FHIRTypes.USAGECONTEXT;
10587        if ("VirtualServiceDetail".equals(codeString))
10588          return FHIRTypes.VIRTUALSERVICEDETAIL;
10589        if ("xhtml".equals(codeString))
10590          return FHIRTypes.XHTML;
10591        if ("Resource".equals(codeString))
10592          return FHIRTypes.RESOURCE;
10593        if ("Binary".equals(codeString))
10594          return FHIRTypes.BINARY;
10595        if ("Bundle".equals(codeString))
10596          return FHIRTypes.BUNDLE;
10597        if ("DomainResource".equals(codeString))
10598          return FHIRTypes.DOMAINRESOURCE;
10599        if ("Account".equals(codeString))
10600          return FHIRTypes.ACCOUNT;
10601        if ("ActivityDefinition".equals(codeString))
10602          return FHIRTypes.ACTIVITYDEFINITION;
10603        if ("ActorDefinition".equals(codeString))
10604          return FHIRTypes.ACTORDEFINITION;
10605        if ("AdministrableProductDefinition".equals(codeString))
10606          return FHIRTypes.ADMINISTRABLEPRODUCTDEFINITION;
10607        if ("AdverseEvent".equals(codeString))
10608          return FHIRTypes.ADVERSEEVENT;
10609        if ("AllergyIntolerance".equals(codeString))
10610          return FHIRTypes.ALLERGYINTOLERANCE;
10611        if ("Appointment".equals(codeString))
10612          return FHIRTypes.APPOINTMENT;
10613        if ("AppointmentResponse".equals(codeString))
10614          return FHIRTypes.APPOINTMENTRESPONSE;
10615        if ("ArtifactAssessment".equals(codeString))
10616          return FHIRTypes.ARTIFACTASSESSMENT;
10617        if ("AuditEvent".equals(codeString))
10618          return FHIRTypes.AUDITEVENT;
10619        if ("Basic".equals(codeString))
10620          return FHIRTypes.BASIC;
10621        if ("BiologicallyDerivedProduct".equals(codeString))
10622          return FHIRTypes.BIOLOGICALLYDERIVEDPRODUCT;
10623        if ("BiologicallyDerivedProductDispense".equals(codeString))
10624          return FHIRTypes.BIOLOGICALLYDERIVEDPRODUCTDISPENSE;
10625        if ("BodyStructure".equals(codeString))
10626          return FHIRTypes.BODYSTRUCTURE;
10627        if ("CanonicalResource".equals(codeString))
10628          return FHIRTypes.CANONICALRESOURCE;
10629        if ("CapabilityStatement".equals(codeString))
10630          return FHIRTypes.CAPABILITYSTATEMENT;
10631        if ("CarePlan".equals(codeString))
10632          return FHIRTypes.CAREPLAN;
10633        if ("CareTeam".equals(codeString))
10634          return FHIRTypes.CARETEAM;
10635        if ("ChargeItem".equals(codeString))
10636          return FHIRTypes.CHARGEITEM;
10637        if ("ChargeItemDefinition".equals(codeString))
10638          return FHIRTypes.CHARGEITEMDEFINITION;
10639        if ("Citation".equals(codeString))
10640          return FHIRTypes.CITATION;
10641        if ("Claim".equals(codeString))
10642          return FHIRTypes.CLAIM;
10643        if ("ClaimResponse".equals(codeString))
10644          return FHIRTypes.CLAIMRESPONSE;
10645        if ("ClinicalImpression".equals(codeString))
10646          return FHIRTypes.CLINICALIMPRESSION;
10647        if ("ClinicalUseDefinition".equals(codeString))
10648          return FHIRTypes.CLINICALUSEDEFINITION;
10649        if ("CodeSystem".equals(codeString))
10650          return FHIRTypes.CODESYSTEM;
10651        if ("Communication".equals(codeString))
10652          return FHIRTypes.COMMUNICATION;
10653        if ("CommunicationRequest".equals(codeString))
10654          return FHIRTypes.COMMUNICATIONREQUEST;
10655        if ("CompartmentDefinition".equals(codeString))
10656          return FHIRTypes.COMPARTMENTDEFINITION;
10657        if ("Composition".equals(codeString))
10658          return FHIRTypes.COMPOSITION;
10659        if ("ConceptMap".equals(codeString))
10660          return FHIRTypes.CONCEPTMAP;
10661        if ("Condition".equals(codeString))
10662          return FHIRTypes.CONDITION;
10663        if ("ConditionDefinition".equals(codeString))
10664          return FHIRTypes.CONDITIONDEFINITION;
10665        if ("Consent".equals(codeString))
10666          return FHIRTypes.CONSENT;
10667        if ("Contract".equals(codeString))
10668          return FHIRTypes.CONTRACT;
10669        if ("Coverage".equals(codeString))
10670          return FHIRTypes.COVERAGE;
10671        if ("CoverageEligibilityRequest".equals(codeString))
10672          return FHIRTypes.COVERAGEELIGIBILITYREQUEST;
10673        if ("CoverageEligibilityResponse".equals(codeString))
10674          return FHIRTypes.COVERAGEELIGIBILITYRESPONSE;
10675        if ("DetectedIssue".equals(codeString))
10676          return FHIRTypes.DETECTEDISSUE;
10677        if ("Device".equals(codeString))
10678          return FHIRTypes.DEVICE;
10679        if ("DeviceAssociation".equals(codeString))
10680          return FHIRTypes.DEVICEASSOCIATION;
10681        if ("DeviceDefinition".equals(codeString))
10682          return FHIRTypes.DEVICEDEFINITION;
10683        if ("DeviceDispense".equals(codeString))
10684          return FHIRTypes.DEVICEDISPENSE;
10685        if ("DeviceMetric".equals(codeString))
10686          return FHIRTypes.DEVICEMETRIC;
10687        if ("DeviceRequest".equals(codeString))
10688          return FHIRTypes.DEVICEREQUEST;
10689        if ("DeviceUsage".equals(codeString))
10690          return FHIRTypes.DEVICEUSAGE;
10691        if ("DiagnosticReport".equals(codeString))
10692          return FHIRTypes.DIAGNOSTICREPORT;
10693        if ("DocumentReference".equals(codeString))
10694          return FHIRTypes.DOCUMENTREFERENCE;
10695        if ("Encounter".equals(codeString))
10696          return FHIRTypes.ENCOUNTER;
10697        if ("EncounterHistory".equals(codeString))
10698          return FHIRTypes.ENCOUNTERHISTORY;
10699        if ("Endpoint".equals(codeString))
10700          return FHIRTypes.ENDPOINT;
10701        if ("EnrollmentRequest".equals(codeString))
10702          return FHIRTypes.ENROLLMENTREQUEST;
10703        if ("EnrollmentResponse".equals(codeString))
10704          return FHIRTypes.ENROLLMENTRESPONSE;
10705        if ("EpisodeOfCare".equals(codeString))
10706          return FHIRTypes.EPISODEOFCARE;
10707        if ("EventDefinition".equals(codeString))
10708          return FHIRTypes.EVENTDEFINITION;
10709        if ("Evidence".equals(codeString))
10710          return FHIRTypes.EVIDENCE;
10711        if ("EvidenceReport".equals(codeString))
10712          return FHIRTypes.EVIDENCEREPORT;
10713        if ("EvidenceVariable".equals(codeString))
10714          return FHIRTypes.EVIDENCEVARIABLE;
10715        if ("ExampleScenario".equals(codeString))
10716          return FHIRTypes.EXAMPLESCENARIO;
10717        if ("ExplanationOfBenefit".equals(codeString))
10718          return FHIRTypes.EXPLANATIONOFBENEFIT;
10719        if ("FamilyMemberHistory".equals(codeString))
10720          return FHIRTypes.FAMILYMEMBERHISTORY;
10721        if ("Flag".equals(codeString))
10722          return FHIRTypes.FLAG;
10723        if ("FormularyItem".equals(codeString))
10724          return FHIRTypes.FORMULARYITEM;
10725        if ("GenomicStudy".equals(codeString))
10726          return FHIRTypes.GENOMICSTUDY;
10727        if ("Goal".equals(codeString))
10728          return FHIRTypes.GOAL;
10729        if ("GraphDefinition".equals(codeString))
10730          return FHIRTypes.GRAPHDEFINITION;
10731        if ("Group".equals(codeString))
10732          return FHIRTypes.GROUP;
10733        if ("GuidanceResponse".equals(codeString))
10734          return FHIRTypes.GUIDANCERESPONSE;
10735        if ("HealthcareService".equals(codeString))
10736          return FHIRTypes.HEALTHCARESERVICE;
10737        if ("ImagingSelection".equals(codeString))
10738          return FHIRTypes.IMAGINGSELECTION;
10739        if ("ImagingStudy".equals(codeString))
10740          return FHIRTypes.IMAGINGSTUDY;
10741        if ("Immunization".equals(codeString))
10742          return FHIRTypes.IMMUNIZATION;
10743        if ("ImmunizationEvaluation".equals(codeString))
10744          return FHIRTypes.IMMUNIZATIONEVALUATION;
10745        if ("ImmunizationRecommendation".equals(codeString))
10746          return FHIRTypes.IMMUNIZATIONRECOMMENDATION;
10747        if ("ImplementationGuide".equals(codeString))
10748          return FHIRTypes.IMPLEMENTATIONGUIDE;
10749        if ("Ingredient".equals(codeString))
10750          return FHIRTypes.INGREDIENT;
10751        if ("InsurancePlan".equals(codeString))
10752          return FHIRTypes.INSURANCEPLAN;
10753        if ("InventoryItem".equals(codeString))
10754          return FHIRTypes.INVENTORYITEM;
10755        if ("InventoryReport".equals(codeString))
10756          return FHIRTypes.INVENTORYREPORT;
10757        if ("Invoice".equals(codeString))
10758          return FHIRTypes.INVOICE;
10759        if ("Library".equals(codeString))
10760          return FHIRTypes.LIBRARY;
10761        if ("Linkage".equals(codeString))
10762          return FHIRTypes.LINKAGE;
10763        if ("List".equals(codeString))
10764          return FHIRTypes.LIST;
10765        if ("Location".equals(codeString))
10766          return FHIRTypes.LOCATION;
10767        if ("ManufacturedItemDefinition".equals(codeString))
10768          return FHIRTypes.MANUFACTUREDITEMDEFINITION;
10769        if ("Measure".equals(codeString))
10770          return FHIRTypes.MEASURE;
10771        if ("MeasureReport".equals(codeString))
10772          return FHIRTypes.MEASUREREPORT;
10773        if ("Medication".equals(codeString))
10774          return FHIRTypes.MEDICATION;
10775        if ("MedicationAdministration".equals(codeString))
10776          return FHIRTypes.MEDICATIONADMINISTRATION;
10777        if ("MedicationDispense".equals(codeString))
10778          return FHIRTypes.MEDICATIONDISPENSE;
10779        if ("MedicationKnowledge".equals(codeString))
10780          return FHIRTypes.MEDICATIONKNOWLEDGE;
10781        if ("MedicationRequest".equals(codeString))
10782          return FHIRTypes.MEDICATIONREQUEST;
10783        if ("MedicationStatement".equals(codeString))
10784          return FHIRTypes.MEDICATIONSTATEMENT;
10785        if ("MedicinalProductDefinition".equals(codeString))
10786          return FHIRTypes.MEDICINALPRODUCTDEFINITION;
10787        if ("MessageDefinition".equals(codeString))
10788          return FHIRTypes.MESSAGEDEFINITION;
10789        if ("MessageHeader".equals(codeString))
10790          return FHIRTypes.MESSAGEHEADER;
10791        if ("MetadataResource".equals(codeString))
10792          return FHIRTypes.METADATARESOURCE;
10793        if ("MolecularSequence".equals(codeString))
10794          return FHIRTypes.MOLECULARSEQUENCE;
10795        if ("NamingSystem".equals(codeString))
10796          return FHIRTypes.NAMINGSYSTEM;
10797        if ("NutritionIntake".equals(codeString))
10798          return FHIRTypes.NUTRITIONINTAKE;
10799        if ("NutritionOrder".equals(codeString))
10800          return FHIRTypes.NUTRITIONORDER;
10801        if ("NutritionProduct".equals(codeString))
10802          return FHIRTypes.NUTRITIONPRODUCT;
10803        if ("Observation".equals(codeString))
10804          return FHIRTypes.OBSERVATION;
10805        if ("ObservationDefinition".equals(codeString))
10806          return FHIRTypes.OBSERVATIONDEFINITION;
10807        if ("OperationDefinition".equals(codeString))
10808          return FHIRTypes.OPERATIONDEFINITION;
10809        if ("OperationOutcome".equals(codeString))
10810          return FHIRTypes.OPERATIONOUTCOME;
10811        if ("Organization".equals(codeString))
10812          return FHIRTypes.ORGANIZATION;
10813        if ("OrganizationAffiliation".equals(codeString))
10814          return FHIRTypes.ORGANIZATIONAFFILIATION;
10815        if ("PackagedProductDefinition".equals(codeString))
10816          return FHIRTypes.PACKAGEDPRODUCTDEFINITION;
10817        if ("Patient".equals(codeString))
10818          return FHIRTypes.PATIENT;
10819        if ("PaymentNotice".equals(codeString))
10820          return FHIRTypes.PAYMENTNOTICE;
10821        if ("PaymentReconciliation".equals(codeString))
10822          return FHIRTypes.PAYMENTRECONCILIATION;
10823        if ("Permission".equals(codeString))
10824          return FHIRTypes.PERMISSION;
10825        if ("Person".equals(codeString))
10826          return FHIRTypes.PERSON;
10827        if ("PlanDefinition".equals(codeString))
10828          return FHIRTypes.PLANDEFINITION;
10829        if ("Practitioner".equals(codeString))
10830          return FHIRTypes.PRACTITIONER;
10831        if ("PractitionerRole".equals(codeString))
10832          return FHIRTypes.PRACTITIONERROLE;
10833        if ("Procedure".equals(codeString))
10834          return FHIRTypes.PROCEDURE;
10835        if ("Provenance".equals(codeString))
10836          return FHIRTypes.PROVENANCE;
10837        if ("Questionnaire".equals(codeString))
10838          return FHIRTypes.QUESTIONNAIRE;
10839        if ("QuestionnaireResponse".equals(codeString))
10840          return FHIRTypes.QUESTIONNAIRERESPONSE;
10841        if ("RegulatedAuthorization".equals(codeString))
10842          return FHIRTypes.REGULATEDAUTHORIZATION;
10843        if ("RelatedPerson".equals(codeString))
10844          return FHIRTypes.RELATEDPERSON;
10845        if ("RequestOrchestration".equals(codeString))
10846          return FHIRTypes.REQUESTORCHESTRATION;
10847        if ("Requirements".equals(codeString))
10848          return FHIRTypes.REQUIREMENTS;
10849        if ("ResearchStudy".equals(codeString))
10850          return FHIRTypes.RESEARCHSTUDY;
10851        if ("ResearchSubject".equals(codeString))
10852          return FHIRTypes.RESEARCHSUBJECT;
10853        if ("RiskAssessment".equals(codeString))
10854          return FHIRTypes.RISKASSESSMENT;
10855        if ("Schedule".equals(codeString))
10856          return FHIRTypes.SCHEDULE;
10857        if ("SearchParameter".equals(codeString))
10858          return FHIRTypes.SEARCHPARAMETER;
10859        if ("ServiceRequest".equals(codeString))
10860          return FHIRTypes.SERVICEREQUEST;
10861        if ("Slot".equals(codeString))
10862          return FHIRTypes.SLOT;
10863        if ("Specimen".equals(codeString))
10864          return FHIRTypes.SPECIMEN;
10865        if ("SpecimenDefinition".equals(codeString))
10866          return FHIRTypes.SPECIMENDEFINITION;
10867        if ("StructureDefinition".equals(codeString))
10868          return FHIRTypes.STRUCTUREDEFINITION;
10869        if ("StructureMap".equals(codeString))
10870          return FHIRTypes.STRUCTUREMAP;
10871        if ("Subscription".equals(codeString))
10872          return FHIRTypes.SUBSCRIPTION;
10873        if ("SubscriptionStatus".equals(codeString))
10874          return FHIRTypes.SUBSCRIPTIONSTATUS;
10875        if ("SubscriptionTopic".equals(codeString))
10876          return FHIRTypes.SUBSCRIPTIONTOPIC;
10877        if ("Substance".equals(codeString))
10878          return FHIRTypes.SUBSTANCE;
10879        if ("SubstanceDefinition".equals(codeString))
10880          return FHIRTypes.SUBSTANCEDEFINITION;
10881        if ("SubstanceNucleicAcid".equals(codeString))
10882          return FHIRTypes.SUBSTANCENUCLEICACID;
10883        if ("SubstancePolymer".equals(codeString))
10884          return FHIRTypes.SUBSTANCEPOLYMER;
10885        if ("SubstanceProtein".equals(codeString))
10886          return FHIRTypes.SUBSTANCEPROTEIN;
10887        if ("SubstanceReferenceInformation".equals(codeString))
10888          return FHIRTypes.SUBSTANCEREFERENCEINFORMATION;
10889        if ("SubstanceSourceMaterial".equals(codeString))
10890          return FHIRTypes.SUBSTANCESOURCEMATERIAL;
10891        if ("SupplyDelivery".equals(codeString))
10892          return FHIRTypes.SUPPLYDELIVERY;
10893        if ("SupplyRequest".equals(codeString))
10894          return FHIRTypes.SUPPLYREQUEST;
10895        if ("Task".equals(codeString))
10896          return FHIRTypes.TASK;
10897        if ("TerminologyCapabilities".equals(codeString))
10898          return FHIRTypes.TERMINOLOGYCAPABILITIES;
10899        if ("TestPlan".equals(codeString))
10900          return FHIRTypes.TESTPLAN;
10901        if ("TestReport".equals(codeString))
10902          return FHIRTypes.TESTREPORT;
10903        if ("TestScript".equals(codeString))
10904          return FHIRTypes.TESTSCRIPT;
10905        if ("Transport".equals(codeString))
10906          return FHIRTypes.TRANSPORT;
10907        if ("ValueSet".equals(codeString))
10908          return FHIRTypes.VALUESET;
10909        if ("VerificationResult".equals(codeString))
10910          return FHIRTypes.VERIFICATIONRESULT;
10911        if ("VisionPrescription".equals(codeString))
10912          return FHIRTypes.VISIONPRESCRIPTION;
10913        if ("Parameters".equals(codeString))
10914          return FHIRTypes.PARAMETERS;
10915        throw new IllegalArgumentException("Unknown FHIRTypes code '"+codeString+"'");
10916        }
10917
10918        public Enumeration<FHIRTypes> fromType(PrimitiveType<?> code) throws FHIRException {
10919          if (code == null)
10920            return null;
10921          if (code.isEmpty())
10922            return new Enumeration<FHIRTypes>(this, FHIRTypes.NULL, code);
10923          String codeString = ((PrimitiveType) code).asStringValue();
10924          if (codeString == null || "".equals(codeString))
10925            return new Enumeration<FHIRTypes>(this, FHIRTypes.NULL, code);
10926        if ("Base".equals(codeString))
10927          return new Enumeration<FHIRTypes>(this, FHIRTypes.BASE, code);
10928        if ("Element".equals(codeString))
10929          return new Enumeration<FHIRTypes>(this, FHIRTypes.ELEMENT, code);
10930        if ("BackboneElement".equals(codeString))
10931          return new Enumeration<FHIRTypes>(this, FHIRTypes.BACKBONEELEMENT, code);
10932        if ("DataType".equals(codeString))
10933          return new Enumeration<FHIRTypes>(this, FHIRTypes.DATATYPE, code);
10934        if ("Address".equals(codeString))
10935          return new Enumeration<FHIRTypes>(this, FHIRTypes.ADDRESS, code);
10936        if ("Annotation".equals(codeString))
10937          return new Enumeration<FHIRTypes>(this, FHIRTypes.ANNOTATION, code);
10938        if ("Attachment".equals(codeString))
10939          return new Enumeration<FHIRTypes>(this, FHIRTypes.ATTACHMENT, code);
10940        if ("Availability".equals(codeString))
10941          return new Enumeration<FHIRTypes>(this, FHIRTypes.AVAILABILITY, code);
10942        if ("BackboneType".equals(codeString))
10943          return new Enumeration<FHIRTypes>(this, FHIRTypes.BACKBONETYPE, code);
10944        if ("Dosage".equals(codeString))
10945          return new Enumeration<FHIRTypes>(this, FHIRTypes.DOSAGE, code);
10946        if ("ElementDefinition".equals(codeString))
10947          return new Enumeration<FHIRTypes>(this, FHIRTypes.ELEMENTDEFINITION, code);
10948        if ("MarketingStatus".equals(codeString))
10949          return new Enumeration<FHIRTypes>(this, FHIRTypes.MARKETINGSTATUS, code);
10950        if ("ProductShelfLife".equals(codeString))
10951          return new Enumeration<FHIRTypes>(this, FHIRTypes.PRODUCTSHELFLIFE, code);
10952        if ("Timing".equals(codeString))
10953          return new Enumeration<FHIRTypes>(this, FHIRTypes.TIMING, code);
10954        if ("CodeableConcept".equals(codeString))
10955          return new Enumeration<FHIRTypes>(this, FHIRTypes.CODEABLECONCEPT, code);
10956        if ("CodeableReference".equals(codeString))
10957          return new Enumeration<FHIRTypes>(this, FHIRTypes.CODEABLEREFERENCE, code);
10958        if ("Coding".equals(codeString))
10959          return new Enumeration<FHIRTypes>(this, FHIRTypes.CODING, code);
10960        if ("ContactDetail".equals(codeString))
10961          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONTACTDETAIL, code);
10962        if ("ContactPoint".equals(codeString))
10963          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONTACTPOINT, code);
10964        if ("Contributor".equals(codeString))
10965          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONTRIBUTOR, code);
10966        if ("DataRequirement".equals(codeString))
10967          return new Enumeration<FHIRTypes>(this, FHIRTypes.DATAREQUIREMENT, code);
10968        if ("Expression".equals(codeString))
10969          return new Enumeration<FHIRTypes>(this, FHIRTypes.EXPRESSION, code);
10970        if ("ExtendedContactDetail".equals(codeString))
10971          return new Enumeration<FHIRTypes>(this, FHIRTypes.EXTENDEDCONTACTDETAIL, code);
10972        if ("Extension".equals(codeString))
10973          return new Enumeration<FHIRTypes>(this, FHIRTypes.EXTENSION, code);
10974        if ("HumanName".equals(codeString))
10975          return new Enumeration<FHIRTypes>(this, FHIRTypes.HUMANNAME, code);
10976        if ("Identifier".equals(codeString))
10977          return new Enumeration<FHIRTypes>(this, FHIRTypes.IDENTIFIER, code);
10978        if ("Meta".equals(codeString))
10979          return new Enumeration<FHIRTypes>(this, FHIRTypes.META, code);
10980        if ("MonetaryComponent".equals(codeString))
10981          return new Enumeration<FHIRTypes>(this, FHIRTypes.MONETARYCOMPONENT, code);
10982        if ("Money".equals(codeString))
10983          return new Enumeration<FHIRTypes>(this, FHIRTypes.MONEY, code);
10984        if ("Narrative".equals(codeString))
10985          return new Enumeration<FHIRTypes>(this, FHIRTypes.NARRATIVE, code);
10986        if ("ParameterDefinition".equals(codeString))
10987          return new Enumeration<FHIRTypes>(this, FHIRTypes.PARAMETERDEFINITION, code);
10988        if ("Period".equals(codeString))
10989          return new Enumeration<FHIRTypes>(this, FHIRTypes.PERIOD, code);
10990        if ("PrimitiveType".equals(codeString))
10991          return new Enumeration<FHIRTypes>(this, FHIRTypes.PRIMITIVETYPE, code);
10992        if ("base64Binary".equals(codeString))
10993          return new Enumeration<FHIRTypes>(this, FHIRTypes.BASE64BINARY, code);
10994        if ("boolean".equals(codeString))
10995          return new Enumeration<FHIRTypes>(this, FHIRTypes.BOOLEAN, code);
10996        if ("date".equals(codeString))
10997          return new Enumeration<FHIRTypes>(this, FHIRTypes.DATE, code);
10998        if ("dateTime".equals(codeString))
10999          return new Enumeration<FHIRTypes>(this, FHIRTypes.DATETIME, code);
11000        if ("decimal".equals(codeString))
11001          return new Enumeration<FHIRTypes>(this, FHIRTypes.DECIMAL, code);
11002        if ("instant".equals(codeString))
11003          return new Enumeration<FHIRTypes>(this, FHIRTypes.INSTANT, code);
11004        if ("integer".equals(codeString))
11005          return new Enumeration<FHIRTypes>(this, FHIRTypes.INTEGER, code);
11006        if ("positiveInt".equals(codeString))
11007          return new Enumeration<FHIRTypes>(this, FHIRTypes.POSITIVEINT, code);
11008        if ("unsignedInt".equals(codeString))
11009          return new Enumeration<FHIRTypes>(this, FHIRTypes.UNSIGNEDINT, code);
11010        if ("integer64".equals(codeString))
11011          return new Enumeration<FHIRTypes>(this, FHIRTypes.INTEGER64, code);
11012        if ("string".equals(codeString))
11013          return new Enumeration<FHIRTypes>(this, FHIRTypes.STRING, code);
11014        if ("code".equals(codeString))
11015          return new Enumeration<FHIRTypes>(this, FHIRTypes.CODE, code);
11016        if ("id".equals(codeString))
11017          return new Enumeration<FHIRTypes>(this, FHIRTypes.ID, code);
11018        if ("markdown".equals(codeString))
11019          return new Enumeration<FHIRTypes>(this, FHIRTypes.MARKDOWN, code);
11020        if ("time".equals(codeString))
11021          return new Enumeration<FHIRTypes>(this, FHIRTypes.TIME, code);
11022        if ("uri".equals(codeString))
11023          return new Enumeration<FHIRTypes>(this, FHIRTypes.URI, code);
11024        if ("canonical".equals(codeString))
11025          return new Enumeration<FHIRTypes>(this, FHIRTypes.CANONICAL, code);
11026        if ("oid".equals(codeString))
11027          return new Enumeration<FHIRTypes>(this, FHIRTypes.OID, code);
11028        if ("url".equals(codeString))
11029          return new Enumeration<FHIRTypes>(this, FHIRTypes.URL, code);
11030        if ("uuid".equals(codeString))
11031          return new Enumeration<FHIRTypes>(this, FHIRTypes.UUID, code);
11032        if ("Quantity".equals(codeString))
11033          return new Enumeration<FHIRTypes>(this, FHIRTypes.QUANTITY, code);
11034        if ("Age".equals(codeString))
11035          return new Enumeration<FHIRTypes>(this, FHIRTypes.AGE, code);
11036        if ("Count".equals(codeString))
11037          return new Enumeration<FHIRTypes>(this, FHIRTypes.COUNT, code);
11038        if ("Distance".equals(codeString))
11039          return new Enumeration<FHIRTypes>(this, FHIRTypes.DISTANCE, code);
11040        if ("Duration".equals(codeString))
11041          return new Enumeration<FHIRTypes>(this, FHIRTypes.DURATION, code);
11042        if ("Range".equals(codeString))
11043          return new Enumeration<FHIRTypes>(this, FHIRTypes.RANGE, code);
11044        if ("Ratio".equals(codeString))
11045          return new Enumeration<FHIRTypes>(this, FHIRTypes.RATIO, code);
11046        if ("RatioRange".equals(codeString))
11047          return new Enumeration<FHIRTypes>(this, FHIRTypes.RATIORANGE, code);
11048        if ("Reference".equals(codeString))
11049          return new Enumeration<FHIRTypes>(this, FHIRTypes.REFERENCE, code);
11050        if ("RelatedArtifact".equals(codeString))
11051          return new Enumeration<FHIRTypes>(this, FHIRTypes.RELATEDARTIFACT, code);
11052        if ("SampledData".equals(codeString))
11053          return new Enumeration<FHIRTypes>(this, FHIRTypes.SAMPLEDDATA, code);
11054        if ("Signature".equals(codeString))
11055          return new Enumeration<FHIRTypes>(this, FHIRTypes.SIGNATURE, code);
11056        if ("TriggerDefinition".equals(codeString))
11057          return new Enumeration<FHIRTypes>(this, FHIRTypes.TRIGGERDEFINITION, code);
11058        if ("UsageContext".equals(codeString))
11059          return new Enumeration<FHIRTypes>(this, FHIRTypes.USAGECONTEXT, code);
11060        if ("VirtualServiceDetail".equals(codeString))
11061          return new Enumeration<FHIRTypes>(this, FHIRTypes.VIRTUALSERVICEDETAIL, code);
11062        if ("xhtml".equals(codeString))
11063          return new Enumeration<FHIRTypes>(this, FHIRTypes.XHTML, code);
11064        if ("Resource".equals(codeString))
11065          return new Enumeration<FHIRTypes>(this, FHIRTypes.RESOURCE, code);
11066        if ("Binary".equals(codeString))
11067          return new Enumeration<FHIRTypes>(this, FHIRTypes.BINARY, code);
11068        if ("Bundle".equals(codeString))
11069          return new Enumeration<FHIRTypes>(this, FHIRTypes.BUNDLE, code);
11070        if ("DomainResource".equals(codeString))
11071          return new Enumeration<FHIRTypes>(this, FHIRTypes.DOMAINRESOURCE, code);
11072        if ("Account".equals(codeString))
11073          return new Enumeration<FHIRTypes>(this, FHIRTypes.ACCOUNT, code);
11074        if ("ActivityDefinition".equals(codeString))
11075          return new Enumeration<FHIRTypes>(this, FHIRTypes.ACTIVITYDEFINITION, code);
11076        if ("ActorDefinition".equals(codeString))
11077          return new Enumeration<FHIRTypes>(this, FHIRTypes.ACTORDEFINITION, code);
11078        if ("AdministrableProductDefinition".equals(codeString))
11079          return new Enumeration<FHIRTypes>(this, FHIRTypes.ADMINISTRABLEPRODUCTDEFINITION, code);
11080        if ("AdverseEvent".equals(codeString))
11081          return new Enumeration<FHIRTypes>(this, FHIRTypes.ADVERSEEVENT, code);
11082        if ("AllergyIntolerance".equals(codeString))
11083          return new Enumeration<FHIRTypes>(this, FHIRTypes.ALLERGYINTOLERANCE, code);
11084        if ("Appointment".equals(codeString))
11085          return new Enumeration<FHIRTypes>(this, FHIRTypes.APPOINTMENT, code);
11086        if ("AppointmentResponse".equals(codeString))
11087          return new Enumeration<FHIRTypes>(this, FHIRTypes.APPOINTMENTRESPONSE, code);
11088        if ("ArtifactAssessment".equals(codeString))
11089          return new Enumeration<FHIRTypes>(this, FHIRTypes.ARTIFACTASSESSMENT, code);
11090        if ("AuditEvent".equals(codeString))
11091          return new Enumeration<FHIRTypes>(this, FHIRTypes.AUDITEVENT, code);
11092        if ("Basic".equals(codeString))
11093          return new Enumeration<FHIRTypes>(this, FHIRTypes.BASIC, code);
11094        if ("BiologicallyDerivedProduct".equals(codeString))
11095          return new Enumeration<FHIRTypes>(this, FHIRTypes.BIOLOGICALLYDERIVEDPRODUCT, code);
11096        if ("BiologicallyDerivedProductDispense".equals(codeString))
11097          return new Enumeration<FHIRTypes>(this, FHIRTypes.BIOLOGICALLYDERIVEDPRODUCTDISPENSE, code);
11098        if ("BodyStructure".equals(codeString))
11099          return new Enumeration<FHIRTypes>(this, FHIRTypes.BODYSTRUCTURE, code);
11100        if ("CanonicalResource".equals(codeString))
11101          return new Enumeration<FHIRTypes>(this, FHIRTypes.CANONICALRESOURCE, code);
11102        if ("CapabilityStatement".equals(codeString))
11103          return new Enumeration<FHIRTypes>(this, FHIRTypes.CAPABILITYSTATEMENT, code);
11104        if ("CarePlan".equals(codeString))
11105          return new Enumeration<FHIRTypes>(this, FHIRTypes.CAREPLAN, code);
11106        if ("CareTeam".equals(codeString))
11107          return new Enumeration<FHIRTypes>(this, FHIRTypes.CARETEAM, code);
11108        if ("ChargeItem".equals(codeString))
11109          return new Enumeration<FHIRTypes>(this, FHIRTypes.CHARGEITEM, code);
11110        if ("ChargeItemDefinition".equals(codeString))
11111          return new Enumeration<FHIRTypes>(this, FHIRTypes.CHARGEITEMDEFINITION, code);
11112        if ("Citation".equals(codeString))
11113          return new Enumeration<FHIRTypes>(this, FHIRTypes.CITATION, code);
11114        if ("Claim".equals(codeString))
11115          return new Enumeration<FHIRTypes>(this, FHIRTypes.CLAIM, code);
11116        if ("ClaimResponse".equals(codeString))
11117          return new Enumeration<FHIRTypes>(this, FHIRTypes.CLAIMRESPONSE, code);
11118        if ("ClinicalImpression".equals(codeString))
11119          return new Enumeration<FHIRTypes>(this, FHIRTypes.CLINICALIMPRESSION, code);
11120        if ("ClinicalUseDefinition".equals(codeString))
11121          return new Enumeration<FHIRTypes>(this, FHIRTypes.CLINICALUSEDEFINITION, code);
11122        if ("CodeSystem".equals(codeString))
11123          return new Enumeration<FHIRTypes>(this, FHIRTypes.CODESYSTEM, code);
11124        if ("Communication".equals(codeString))
11125          return new Enumeration<FHIRTypes>(this, FHIRTypes.COMMUNICATION, code);
11126        if ("CommunicationRequest".equals(codeString))
11127          return new Enumeration<FHIRTypes>(this, FHIRTypes.COMMUNICATIONREQUEST, code);
11128        if ("CompartmentDefinition".equals(codeString))
11129          return new Enumeration<FHIRTypes>(this, FHIRTypes.COMPARTMENTDEFINITION, code);
11130        if ("Composition".equals(codeString))
11131          return new Enumeration<FHIRTypes>(this, FHIRTypes.COMPOSITION, code);
11132        if ("ConceptMap".equals(codeString))
11133          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONCEPTMAP, code);
11134        if ("Condition".equals(codeString))
11135          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONDITION, code);
11136        if ("ConditionDefinition".equals(codeString))
11137          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONDITIONDEFINITION, code);
11138        if ("Consent".equals(codeString))
11139          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONSENT, code);
11140        if ("Contract".equals(codeString))
11141          return new Enumeration<FHIRTypes>(this, FHIRTypes.CONTRACT, code);
11142        if ("Coverage".equals(codeString))
11143          return new Enumeration<FHIRTypes>(this, FHIRTypes.COVERAGE, code);
11144        if ("CoverageEligibilityRequest".equals(codeString))
11145          return new Enumeration<FHIRTypes>(this, FHIRTypes.COVERAGEELIGIBILITYREQUEST, code);
11146        if ("CoverageEligibilityResponse".equals(codeString))
11147          return new Enumeration<FHIRTypes>(this, FHIRTypes.COVERAGEELIGIBILITYRESPONSE, code);
11148        if ("DetectedIssue".equals(codeString))
11149          return new Enumeration<FHIRTypes>(this, FHIRTypes.DETECTEDISSUE, code);
11150        if ("Device".equals(codeString))
11151          return new Enumeration<FHIRTypes>(this, FHIRTypes.DEVICE, code);
11152        if ("DeviceAssociation".equals(codeString))
11153          return new Enumeration<FHIRTypes>(this, FHIRTypes.DEVICEASSOCIATION, code);
11154        if ("DeviceDefinition".equals(codeString))
11155          return new Enumeration<FHIRTypes>(this, FHIRTypes.DEVICEDEFINITION, code);
11156        if ("DeviceDispense".equals(codeString))
11157          return new Enumeration<FHIRTypes>(this, FHIRTypes.DEVICEDISPENSE, code);
11158        if ("DeviceMetric".equals(codeString))
11159          return new Enumeration<FHIRTypes>(this, FHIRTypes.DEVICEMETRIC, code);
11160        if ("DeviceRequest".equals(codeString))
11161          return new Enumeration<FHIRTypes>(this, FHIRTypes.DEVICEREQUEST, code);
11162        if ("DeviceUsage".equals(codeString))
11163          return new Enumeration<FHIRTypes>(this, FHIRTypes.DEVICEUSAGE, code);
11164        if ("DiagnosticReport".equals(codeString))
11165          return new Enumeration<FHIRTypes>(this, FHIRTypes.DIAGNOSTICREPORT, code);
11166        if ("DocumentReference".equals(codeString))
11167          return new Enumeration<FHIRTypes>(this, FHIRTypes.DOCUMENTREFERENCE, code);
11168        if ("Encounter".equals(codeString))
11169          return new Enumeration<FHIRTypes>(this, FHIRTypes.ENCOUNTER, code);
11170        if ("EncounterHistory".equals(codeString))
11171          return new Enumeration<FHIRTypes>(this, FHIRTypes.ENCOUNTERHISTORY, code);
11172        if ("Endpoint".equals(codeString))
11173          return new Enumeration<FHIRTypes>(this, FHIRTypes.ENDPOINT, code);
11174        if ("EnrollmentRequest".equals(codeString))
11175          return new Enumeration<FHIRTypes>(this, FHIRTypes.ENROLLMENTREQUEST, code);
11176        if ("EnrollmentResponse".equals(codeString))
11177          return new Enumeration<FHIRTypes>(this, FHIRTypes.ENROLLMENTRESPONSE, code);
11178        if ("EpisodeOfCare".equals(codeString))
11179          return new Enumeration<FHIRTypes>(this, FHIRTypes.EPISODEOFCARE, code);
11180        if ("EventDefinition".equals(codeString))
11181          return new Enumeration<FHIRTypes>(this, FHIRTypes.EVENTDEFINITION, code);
11182        if ("Evidence".equals(codeString))
11183          return new Enumeration<FHIRTypes>(this, FHIRTypes.EVIDENCE, code);
11184        if ("EvidenceReport".equals(codeString))
11185          return new Enumeration<FHIRTypes>(this, FHIRTypes.EVIDENCEREPORT, code);
11186        if ("EvidenceVariable".equals(codeString))
11187          return new Enumeration<FHIRTypes>(this, FHIRTypes.EVIDENCEVARIABLE, code);
11188        if ("ExampleScenario".equals(codeString))
11189          return new Enumeration<FHIRTypes>(this, FHIRTypes.EXAMPLESCENARIO, code);
11190        if ("ExplanationOfBenefit".equals(codeString))
11191          return new Enumeration<FHIRTypes>(this, FHIRTypes.EXPLANATIONOFBENEFIT, code);
11192        if ("FamilyMemberHistory".equals(codeString))
11193          return new Enumeration<FHIRTypes>(this, FHIRTypes.FAMILYMEMBERHISTORY, code);
11194        if ("Flag".equals(codeString))
11195          return new Enumeration<FHIRTypes>(this, FHIRTypes.FLAG, code);
11196        if ("FormularyItem".equals(codeString))
11197          return new Enumeration<FHIRTypes>(this, FHIRTypes.FORMULARYITEM, code);
11198        if ("GenomicStudy".equals(codeString))
11199          return new Enumeration<FHIRTypes>(this, FHIRTypes.GENOMICSTUDY, code);
11200        if ("Goal".equals(codeString))
11201          return new Enumeration<FHIRTypes>(this, FHIRTypes.GOAL, code);
11202        if ("GraphDefinition".equals(codeString))
11203          return new Enumeration<FHIRTypes>(this, FHIRTypes.GRAPHDEFINITION, code);
11204        if ("Group".equals(codeString))
11205          return new Enumeration<FHIRTypes>(this, FHIRTypes.GROUP, code);
11206        if ("GuidanceResponse".equals(codeString))
11207          return new Enumeration<FHIRTypes>(this, FHIRTypes.GUIDANCERESPONSE, code);
11208        if ("HealthcareService".equals(codeString))
11209          return new Enumeration<FHIRTypes>(this, FHIRTypes.HEALTHCARESERVICE, code);
11210        if ("ImagingSelection".equals(codeString))
11211          return new Enumeration<FHIRTypes>(this, FHIRTypes.IMAGINGSELECTION, code);
11212        if ("ImagingStudy".equals(codeString))
11213          return new Enumeration<FHIRTypes>(this, FHIRTypes.IMAGINGSTUDY, code);
11214        if ("Immunization".equals(codeString))
11215          return new Enumeration<FHIRTypes>(this, FHIRTypes.IMMUNIZATION, code);
11216        if ("ImmunizationEvaluation".equals(codeString))
11217          return new Enumeration<FHIRTypes>(this, FHIRTypes.IMMUNIZATIONEVALUATION, code);
11218        if ("ImmunizationRecommendation".equals(codeString))
11219          return new Enumeration<FHIRTypes>(this, FHIRTypes.IMMUNIZATIONRECOMMENDATION, code);
11220        if ("ImplementationGuide".equals(codeString))
11221          return new Enumeration<FHIRTypes>(this, FHIRTypes.IMPLEMENTATIONGUIDE, code);
11222        if ("Ingredient".equals(codeString))
11223          return new Enumeration<FHIRTypes>(this, FHIRTypes.INGREDIENT, code);
11224        if ("InsurancePlan".equals(codeString))
11225          return new Enumeration<FHIRTypes>(this, FHIRTypes.INSURANCEPLAN, code);
11226        if ("InventoryItem".equals(codeString))
11227          return new Enumeration<FHIRTypes>(this, FHIRTypes.INVENTORYITEM, code);
11228        if ("InventoryReport".equals(codeString))
11229          return new Enumeration<FHIRTypes>(this, FHIRTypes.INVENTORYREPORT, code);
11230        if ("Invoice".equals(codeString))
11231          return new Enumeration<FHIRTypes>(this, FHIRTypes.INVOICE, code);
11232        if ("Library".equals(codeString))
11233          return new Enumeration<FHIRTypes>(this, FHIRTypes.LIBRARY, code);
11234        if ("Linkage".equals(codeString))
11235          return new Enumeration<FHIRTypes>(this, FHIRTypes.LINKAGE, code);
11236        if ("List".equals(codeString))
11237          return new Enumeration<FHIRTypes>(this, FHIRTypes.LIST, code);
11238        if ("Location".equals(codeString))
11239          return new Enumeration<FHIRTypes>(this, FHIRTypes.LOCATION, code);
11240        if ("ManufacturedItemDefinition".equals(codeString))
11241          return new Enumeration<FHIRTypes>(this, FHIRTypes.MANUFACTUREDITEMDEFINITION, code);
11242        if ("Measure".equals(codeString))
11243          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEASURE, code);
11244        if ("MeasureReport".equals(codeString))
11245          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEASUREREPORT, code);
11246        if ("Medication".equals(codeString))
11247          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEDICATION, code);
11248        if ("MedicationAdministration".equals(codeString))
11249          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEDICATIONADMINISTRATION, code);
11250        if ("MedicationDispense".equals(codeString))
11251          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEDICATIONDISPENSE, code);
11252        if ("MedicationKnowledge".equals(codeString))
11253          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEDICATIONKNOWLEDGE, code);
11254        if ("MedicationRequest".equals(codeString))
11255          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEDICATIONREQUEST, code);
11256        if ("MedicationStatement".equals(codeString))
11257          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEDICATIONSTATEMENT, code);
11258        if ("MedicinalProductDefinition".equals(codeString))
11259          return new Enumeration<FHIRTypes>(this, FHIRTypes.MEDICINALPRODUCTDEFINITION, code);
11260        if ("MessageDefinition".equals(codeString))
11261          return new Enumeration<FHIRTypes>(this, FHIRTypes.MESSAGEDEFINITION, code);
11262        if ("MessageHeader".equals(codeString))
11263          return new Enumeration<FHIRTypes>(this, FHIRTypes.MESSAGEHEADER, code);
11264        if ("MetadataResource".equals(codeString))
11265          return new Enumeration<FHIRTypes>(this, FHIRTypes.METADATARESOURCE, code);
11266        if ("MolecularSequence".equals(codeString))
11267          return new Enumeration<FHIRTypes>(this, FHIRTypes.MOLECULARSEQUENCE, code);
11268        if ("NamingSystem".equals(codeString))
11269          return new Enumeration<FHIRTypes>(this, FHIRTypes.NAMINGSYSTEM, code);
11270        if ("NutritionIntake".equals(codeString))
11271          return new Enumeration<FHIRTypes>(this, FHIRTypes.NUTRITIONINTAKE, code);
11272        if ("NutritionOrder".equals(codeString))
11273          return new Enumeration<FHIRTypes>(this, FHIRTypes.NUTRITIONORDER, code);
11274        if ("NutritionProduct".equals(codeString))
11275          return new Enumeration<FHIRTypes>(this, FHIRTypes.NUTRITIONPRODUCT, code);
11276        if ("Observation".equals(codeString))
11277          return new Enumeration<FHIRTypes>(this, FHIRTypes.OBSERVATION, code);
11278        if ("ObservationDefinition".equals(codeString))
11279          return new Enumeration<FHIRTypes>(this, FHIRTypes.OBSERVATIONDEFINITION, code);
11280        if ("OperationDefinition".equals(codeString))
11281          return new Enumeration<FHIRTypes>(this, FHIRTypes.OPERATIONDEFINITION, code);
11282        if ("OperationOutcome".equals(codeString))
11283          return new Enumeration<FHIRTypes>(this, FHIRTypes.OPERATIONOUTCOME, code);
11284        if ("Organization".equals(codeString))
11285          return new Enumeration<FHIRTypes>(this, FHIRTypes.ORGANIZATION, code);
11286        if ("OrganizationAffiliation".equals(codeString))
11287          return new Enumeration<FHIRTypes>(this, FHIRTypes.ORGANIZATIONAFFILIATION, code);
11288        if ("PackagedProductDefinition".equals(codeString))
11289          return new Enumeration<FHIRTypes>(this, FHIRTypes.PACKAGEDPRODUCTDEFINITION, code);
11290        if ("Patient".equals(codeString))
11291          return new Enumeration<FHIRTypes>(this, FHIRTypes.PATIENT, code);
11292        if ("PaymentNotice".equals(codeString))
11293          return new Enumeration<FHIRTypes>(this, FHIRTypes.PAYMENTNOTICE, code);
11294        if ("PaymentReconciliation".equals(codeString))
11295          return new Enumeration<FHIRTypes>(this, FHIRTypes.PAYMENTRECONCILIATION, code);
11296        if ("Permission".equals(codeString))
11297          return new Enumeration<FHIRTypes>(this, FHIRTypes.PERMISSION, code);
11298        if ("Person".equals(codeString))
11299          return new Enumeration<FHIRTypes>(this, FHIRTypes.PERSON, code);
11300        if ("PlanDefinition".equals(codeString))
11301          return new Enumeration<FHIRTypes>(this, FHIRTypes.PLANDEFINITION, code);
11302        if ("Practitioner".equals(codeString))
11303          return new Enumeration<FHIRTypes>(this, FHIRTypes.PRACTITIONER, code);
11304        if ("PractitionerRole".equals(codeString))
11305          return new Enumeration<FHIRTypes>(this, FHIRTypes.PRACTITIONERROLE, code);
11306        if ("Procedure".equals(codeString))
11307          return new Enumeration<FHIRTypes>(this, FHIRTypes.PROCEDURE, code);
11308        if ("Provenance".equals(codeString))
11309          return new Enumeration<FHIRTypes>(this, FHIRTypes.PROVENANCE, code);
11310        if ("Questionnaire".equals(codeString))
11311          return new Enumeration<FHIRTypes>(this, FHIRTypes.QUESTIONNAIRE, code);
11312        if ("QuestionnaireResponse".equals(codeString))
11313          return new Enumeration<FHIRTypes>(this, FHIRTypes.QUESTIONNAIRERESPONSE, code);
11314        if ("RegulatedAuthorization".equals(codeString))
11315          return new Enumeration<FHIRTypes>(this, FHIRTypes.REGULATEDAUTHORIZATION, code);
11316        if ("RelatedPerson".equals(codeString))
11317          return new Enumeration<FHIRTypes>(this, FHIRTypes.RELATEDPERSON, code);
11318        if ("RequestOrchestration".equals(codeString))
11319          return new Enumeration<FHIRTypes>(this, FHIRTypes.REQUESTORCHESTRATION, code);
11320        if ("Requirements".equals(codeString))
11321          return new Enumeration<FHIRTypes>(this, FHIRTypes.REQUIREMENTS, code);
11322        if ("ResearchStudy".equals(codeString))
11323          return new Enumeration<FHIRTypes>(this, FHIRTypes.RESEARCHSTUDY, code);
11324        if ("ResearchSubject".equals(codeString))
11325          return new Enumeration<FHIRTypes>(this, FHIRTypes.RESEARCHSUBJECT, code);
11326        if ("RiskAssessment".equals(codeString))
11327          return new Enumeration<FHIRTypes>(this, FHIRTypes.RISKASSESSMENT, code);
11328        if ("Schedule".equals(codeString))
11329          return new Enumeration<FHIRTypes>(this, FHIRTypes.SCHEDULE, code);
11330        if ("SearchParameter".equals(codeString))
11331          return new Enumeration<FHIRTypes>(this, FHIRTypes.SEARCHPARAMETER, code);
11332        if ("ServiceRequest".equals(codeString))
11333          return new Enumeration<FHIRTypes>(this, FHIRTypes.SERVICEREQUEST, code);
11334        if ("Slot".equals(codeString))
11335          return new Enumeration<FHIRTypes>(this, FHIRTypes.SLOT, code);
11336        if ("Specimen".equals(codeString))
11337          return new Enumeration<FHIRTypes>(this, FHIRTypes.SPECIMEN, code);
11338        if ("SpecimenDefinition".equals(codeString))
11339          return new Enumeration<FHIRTypes>(this, FHIRTypes.SPECIMENDEFINITION, code);
11340        if ("StructureDefinition".equals(codeString))
11341          return new Enumeration<FHIRTypes>(this, FHIRTypes.STRUCTUREDEFINITION, code);
11342        if ("StructureMap".equals(codeString))
11343          return new Enumeration<FHIRTypes>(this, FHIRTypes.STRUCTUREMAP, code);
11344        if ("Subscription".equals(codeString))
11345          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSCRIPTION, code);
11346        if ("SubscriptionStatus".equals(codeString))
11347          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSCRIPTIONSTATUS, code);
11348        if ("SubscriptionTopic".equals(codeString))
11349          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSCRIPTIONTOPIC, code);
11350        if ("Substance".equals(codeString))
11351          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSTANCE, code);
11352        if ("SubstanceDefinition".equals(codeString))
11353          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSTANCEDEFINITION, code);
11354        if ("SubstanceNucleicAcid".equals(codeString))
11355          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSTANCENUCLEICACID, code);
11356        if ("SubstancePolymer".equals(codeString))
11357          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSTANCEPOLYMER, code);
11358        if ("SubstanceProtein".equals(codeString))
11359          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSTANCEPROTEIN, code);
11360        if ("SubstanceReferenceInformation".equals(codeString))
11361          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSTANCEREFERENCEINFORMATION, code);
11362        if ("SubstanceSourceMaterial".equals(codeString))
11363          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUBSTANCESOURCEMATERIAL, code);
11364        if ("SupplyDelivery".equals(codeString))
11365          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUPPLYDELIVERY, code);
11366        if ("SupplyRequest".equals(codeString))
11367          return new Enumeration<FHIRTypes>(this, FHIRTypes.SUPPLYREQUEST, code);
11368        if ("Task".equals(codeString))
11369          return new Enumeration<FHIRTypes>(this, FHIRTypes.TASK, code);
11370        if ("TerminologyCapabilities".equals(codeString))
11371          return new Enumeration<FHIRTypes>(this, FHIRTypes.TERMINOLOGYCAPABILITIES, code);
11372        if ("TestPlan".equals(codeString))
11373          return new Enumeration<FHIRTypes>(this, FHIRTypes.TESTPLAN, code);
11374        if ("TestReport".equals(codeString))
11375          return new Enumeration<FHIRTypes>(this, FHIRTypes.TESTREPORT, code);
11376        if ("TestScript".equals(codeString))
11377          return new Enumeration<FHIRTypes>(this, FHIRTypes.TESTSCRIPT, code);
11378        if ("Transport".equals(codeString))
11379          return new Enumeration<FHIRTypes>(this, FHIRTypes.TRANSPORT, code);
11380        if ("ValueSet".equals(codeString))
11381          return new Enumeration<FHIRTypes>(this, FHIRTypes.VALUESET, code);
11382        if ("VerificationResult".equals(codeString))
11383          return new Enumeration<FHIRTypes>(this, FHIRTypes.VERIFICATIONRESULT, code);
11384        if ("VisionPrescription".equals(codeString))
11385          return new Enumeration<FHIRTypes>(this, FHIRTypes.VISIONPRESCRIPTION, code);
11386        if ("Parameters".equals(codeString))
11387          return new Enumeration<FHIRTypes>(this, FHIRTypes.PARAMETERS, code);
11388        throw new FHIRException("Unknown FHIRTypes code '"+codeString+"'");
11389        }
11390    public String toCode(FHIRTypes code) {
11391       if (code == FHIRTypes.NULL)
11392           return null;
11393       if (code == FHIRTypes.BASE)
11394        return "Base";
11395      if (code == FHIRTypes.ELEMENT)
11396        return "Element";
11397      if (code == FHIRTypes.BACKBONEELEMENT)
11398        return "BackboneElement";
11399      if (code == FHIRTypes.DATATYPE)
11400        return "DataType";
11401      if (code == FHIRTypes.ADDRESS)
11402        return "Address";
11403      if (code == FHIRTypes.ANNOTATION)
11404        return "Annotation";
11405      if (code == FHIRTypes.ATTACHMENT)
11406        return "Attachment";
11407      if (code == FHIRTypes.AVAILABILITY)
11408        return "Availability";
11409      if (code == FHIRTypes.BACKBONETYPE)
11410        return "BackboneType";
11411      if (code == FHIRTypes.DOSAGE)
11412        return "Dosage";
11413      if (code == FHIRTypes.ELEMENTDEFINITION)
11414        return "ElementDefinition";
11415      if (code == FHIRTypes.MARKETINGSTATUS)
11416        return "MarketingStatus";
11417      if (code == FHIRTypes.PRODUCTSHELFLIFE)
11418        return "ProductShelfLife";
11419      if (code == FHIRTypes.TIMING)
11420        return "Timing";
11421      if (code == FHIRTypes.CODEABLECONCEPT)
11422        return "CodeableConcept";
11423      if (code == FHIRTypes.CODEABLEREFERENCE)
11424        return "CodeableReference";
11425      if (code == FHIRTypes.CODING)
11426        return "Coding";
11427      if (code == FHIRTypes.CONTACTDETAIL)
11428        return "ContactDetail";
11429      if (code == FHIRTypes.CONTACTPOINT)
11430        return "ContactPoint";
11431      if (code == FHIRTypes.CONTRIBUTOR)
11432        return "Contributor";
11433      if (code == FHIRTypes.DATAREQUIREMENT)
11434        return "DataRequirement";
11435      if (code == FHIRTypes.EXPRESSION)
11436        return "Expression";
11437      if (code == FHIRTypes.EXTENDEDCONTACTDETAIL)
11438        return "ExtendedContactDetail";
11439      if (code == FHIRTypes.EXTENSION)
11440        return "Extension";
11441      if (code == FHIRTypes.HUMANNAME)
11442        return "HumanName";
11443      if (code == FHIRTypes.IDENTIFIER)
11444        return "Identifier";
11445      if (code == FHIRTypes.META)
11446        return "Meta";
11447      if (code == FHIRTypes.MONETARYCOMPONENT)
11448        return "MonetaryComponent";
11449      if (code == FHIRTypes.MONEY)
11450        return "Money";
11451      if (code == FHIRTypes.NARRATIVE)
11452        return "Narrative";
11453      if (code == FHIRTypes.PARAMETERDEFINITION)
11454        return "ParameterDefinition";
11455      if (code == FHIRTypes.PERIOD)
11456        return "Period";
11457      if (code == FHIRTypes.PRIMITIVETYPE)
11458        return "PrimitiveType";
11459      if (code == FHIRTypes.BASE64BINARY)
11460        return "base64Binary";
11461      if (code == FHIRTypes.BOOLEAN)
11462        return "boolean";
11463      if (code == FHIRTypes.DATE)
11464        return "date";
11465      if (code == FHIRTypes.DATETIME)
11466        return "dateTime";
11467      if (code == FHIRTypes.DECIMAL)
11468        return "decimal";
11469      if (code == FHIRTypes.INSTANT)
11470        return "instant";
11471      if (code == FHIRTypes.INTEGER)
11472        return "integer";
11473      if (code == FHIRTypes.POSITIVEINT)
11474        return "positiveInt";
11475      if (code == FHIRTypes.UNSIGNEDINT)
11476        return "unsignedInt";
11477      if (code == FHIRTypes.INTEGER64)
11478        return "integer64";
11479      if (code == FHIRTypes.STRING)
11480        return "string";
11481      if (code == FHIRTypes.CODE)
11482        return "code";
11483      if (code == FHIRTypes.ID)
11484        return "id";
11485      if (code == FHIRTypes.MARKDOWN)
11486        return "markdown";
11487      if (code == FHIRTypes.TIME)
11488        return "time";
11489      if (code == FHIRTypes.URI)
11490        return "uri";
11491      if (code == FHIRTypes.CANONICAL)
11492        return "canonical";
11493      if (code == FHIRTypes.OID)
11494        return "oid";
11495      if (code == FHIRTypes.URL)
11496        return "url";
11497      if (code == FHIRTypes.UUID)
11498        return "uuid";
11499      if (code == FHIRTypes.QUANTITY)
11500        return "Quantity";
11501      if (code == FHIRTypes.AGE)
11502        return "Age";
11503      if (code == FHIRTypes.COUNT)
11504        return "Count";
11505      if (code == FHIRTypes.DISTANCE)
11506        return "Distance";
11507      if (code == FHIRTypes.DURATION)
11508        return "Duration";
11509      if (code == FHIRTypes.RANGE)
11510        return "Range";
11511      if (code == FHIRTypes.RATIO)
11512        return "Ratio";
11513      if (code == FHIRTypes.RATIORANGE)
11514        return "RatioRange";
11515      if (code == FHIRTypes.REFERENCE)
11516        return "Reference";
11517      if (code == FHIRTypes.RELATEDARTIFACT)
11518        return "RelatedArtifact";
11519      if (code == FHIRTypes.SAMPLEDDATA)
11520        return "SampledData";
11521      if (code == FHIRTypes.SIGNATURE)
11522        return "Signature";
11523      if (code == FHIRTypes.TRIGGERDEFINITION)
11524        return "TriggerDefinition";
11525      if (code == FHIRTypes.USAGECONTEXT)
11526        return "UsageContext";
11527      if (code == FHIRTypes.VIRTUALSERVICEDETAIL)
11528        return "VirtualServiceDetail";
11529      if (code == FHIRTypes.XHTML)
11530        return "xhtml";
11531      if (code == FHIRTypes.RESOURCE)
11532        return "Resource";
11533      if (code == FHIRTypes.BINARY)
11534        return "Binary";
11535      if (code == FHIRTypes.BUNDLE)
11536        return "Bundle";
11537      if (code == FHIRTypes.DOMAINRESOURCE)
11538        return "DomainResource";
11539      if (code == FHIRTypes.ACCOUNT)
11540        return "Account";
11541      if (code == FHIRTypes.ACTIVITYDEFINITION)
11542        return "ActivityDefinition";
11543      if (code == FHIRTypes.ACTORDEFINITION)
11544        return "ActorDefinition";
11545      if (code == FHIRTypes.ADMINISTRABLEPRODUCTDEFINITION)
11546        return "AdministrableProductDefinition";
11547      if (code == FHIRTypes.ADVERSEEVENT)
11548        return "AdverseEvent";
11549      if (code == FHIRTypes.ALLERGYINTOLERANCE)
11550        return "AllergyIntolerance";
11551      if (code == FHIRTypes.APPOINTMENT)
11552        return "Appointment";
11553      if (code == FHIRTypes.APPOINTMENTRESPONSE)
11554        return "AppointmentResponse";
11555      if (code == FHIRTypes.ARTIFACTASSESSMENT)
11556        return "ArtifactAssessment";
11557      if (code == FHIRTypes.AUDITEVENT)
11558        return "AuditEvent";
11559      if (code == FHIRTypes.BASIC)
11560        return "Basic";
11561      if (code == FHIRTypes.BIOLOGICALLYDERIVEDPRODUCT)
11562        return "BiologicallyDerivedProduct";
11563      if (code == FHIRTypes.BIOLOGICALLYDERIVEDPRODUCTDISPENSE)
11564        return "BiologicallyDerivedProductDispense";
11565      if (code == FHIRTypes.BODYSTRUCTURE)
11566        return "BodyStructure";
11567      if (code == FHIRTypes.CANONICALRESOURCE)
11568        return "CanonicalResource";
11569      if (code == FHIRTypes.CAPABILITYSTATEMENT)
11570        return "CapabilityStatement";
11571      if (code == FHIRTypes.CAREPLAN)
11572        return "CarePlan";
11573      if (code == FHIRTypes.CARETEAM)
11574        return "CareTeam";
11575      if (code == FHIRTypes.CHARGEITEM)
11576        return "ChargeItem";
11577      if (code == FHIRTypes.CHARGEITEMDEFINITION)
11578        return "ChargeItemDefinition";
11579      if (code == FHIRTypes.CITATION)
11580        return "Citation";
11581      if (code == FHIRTypes.CLAIM)
11582        return "Claim";
11583      if (code == FHIRTypes.CLAIMRESPONSE)
11584        return "ClaimResponse";
11585      if (code == FHIRTypes.CLINICALIMPRESSION)
11586        return "ClinicalImpression";
11587      if (code == FHIRTypes.CLINICALUSEDEFINITION)
11588        return "ClinicalUseDefinition";
11589      if (code == FHIRTypes.CODESYSTEM)
11590        return "CodeSystem";
11591      if (code == FHIRTypes.COMMUNICATION)
11592        return "Communication";
11593      if (code == FHIRTypes.COMMUNICATIONREQUEST)
11594        return "CommunicationRequest";
11595      if (code == FHIRTypes.COMPARTMENTDEFINITION)
11596        return "CompartmentDefinition";
11597      if (code == FHIRTypes.COMPOSITION)
11598        return "Composition";
11599      if (code == FHIRTypes.CONCEPTMAP)
11600        return "ConceptMap";
11601      if (code == FHIRTypes.CONDITION)
11602        return "Condition";
11603      if (code == FHIRTypes.CONDITIONDEFINITION)
11604        return "ConditionDefinition";
11605      if (code == FHIRTypes.CONSENT)
11606        return "Consent";
11607      if (code == FHIRTypes.CONTRACT)
11608        return "Contract";
11609      if (code == FHIRTypes.COVERAGE)
11610        return "Coverage";
11611      if (code == FHIRTypes.COVERAGEELIGIBILITYREQUEST)
11612        return "CoverageEligibilityRequest";
11613      if (code == FHIRTypes.COVERAGEELIGIBILITYRESPONSE)
11614        return "CoverageEligibilityResponse";
11615      if (code == FHIRTypes.DETECTEDISSUE)
11616        return "DetectedIssue";
11617      if (code == FHIRTypes.DEVICE)
11618        return "Device";
11619      if (code == FHIRTypes.DEVICEASSOCIATION)
11620        return "DeviceAssociation";
11621      if (code == FHIRTypes.DEVICEDEFINITION)
11622        return "DeviceDefinition";
11623      if (code == FHIRTypes.DEVICEDISPENSE)
11624        return "DeviceDispense";
11625      if (code == FHIRTypes.DEVICEMETRIC)
11626        return "DeviceMetric";
11627      if (code == FHIRTypes.DEVICEREQUEST)
11628        return "DeviceRequest";
11629      if (code == FHIRTypes.DEVICEUSAGE)
11630        return "DeviceUsage";
11631      if (code == FHIRTypes.DIAGNOSTICREPORT)
11632        return "DiagnosticReport";
11633      if (code == FHIRTypes.DOCUMENTREFERENCE)
11634        return "DocumentReference";
11635      if (code == FHIRTypes.ENCOUNTER)
11636        return "Encounter";
11637      if (code == FHIRTypes.ENCOUNTERHISTORY)
11638        return "EncounterHistory";
11639      if (code == FHIRTypes.ENDPOINT)
11640        return "Endpoint";
11641      if (code == FHIRTypes.ENROLLMENTREQUEST)
11642        return "EnrollmentRequest";
11643      if (code == FHIRTypes.ENROLLMENTRESPONSE)
11644        return "EnrollmentResponse";
11645      if (code == FHIRTypes.EPISODEOFCARE)
11646        return "EpisodeOfCare";
11647      if (code == FHIRTypes.EVENTDEFINITION)
11648        return "EventDefinition";
11649      if (code == FHIRTypes.EVIDENCE)
11650        return "Evidence";
11651      if (code == FHIRTypes.EVIDENCEREPORT)
11652        return "EvidenceReport";
11653      if (code == FHIRTypes.EVIDENCEVARIABLE)
11654        return "EvidenceVariable";
11655      if (code == FHIRTypes.EXAMPLESCENARIO)
11656        return "ExampleScenario";
11657      if (code == FHIRTypes.EXPLANATIONOFBENEFIT)
11658        return "ExplanationOfBenefit";
11659      if (code == FHIRTypes.FAMILYMEMBERHISTORY)
11660        return "FamilyMemberHistory";
11661      if (code == FHIRTypes.FLAG)
11662        return "Flag";
11663      if (code == FHIRTypes.FORMULARYITEM)
11664        return "FormularyItem";
11665      if (code == FHIRTypes.GENOMICSTUDY)
11666        return "GenomicStudy";
11667      if (code == FHIRTypes.GOAL)
11668        return "Goal";
11669      if (code == FHIRTypes.GRAPHDEFINITION)
11670        return "GraphDefinition";
11671      if (code == FHIRTypes.GROUP)
11672        return "Group";
11673      if (code == FHIRTypes.GUIDANCERESPONSE)
11674        return "GuidanceResponse";
11675      if (code == FHIRTypes.HEALTHCARESERVICE)
11676        return "HealthcareService";
11677      if (code == FHIRTypes.IMAGINGSELECTION)
11678        return "ImagingSelection";
11679      if (code == FHIRTypes.IMAGINGSTUDY)
11680        return "ImagingStudy";
11681      if (code == FHIRTypes.IMMUNIZATION)
11682        return "Immunization";
11683      if (code == FHIRTypes.IMMUNIZATIONEVALUATION)
11684        return "ImmunizationEvaluation";
11685      if (code == FHIRTypes.IMMUNIZATIONRECOMMENDATION)
11686        return "ImmunizationRecommendation";
11687      if (code == FHIRTypes.IMPLEMENTATIONGUIDE)
11688        return "ImplementationGuide";
11689      if (code == FHIRTypes.INGREDIENT)
11690        return "Ingredient";
11691      if (code == FHIRTypes.INSURANCEPLAN)
11692        return "InsurancePlan";
11693      if (code == FHIRTypes.INVENTORYITEM)
11694        return "InventoryItem";
11695      if (code == FHIRTypes.INVENTORYREPORT)
11696        return "InventoryReport";
11697      if (code == FHIRTypes.INVOICE)
11698        return "Invoice";
11699      if (code == FHIRTypes.LIBRARY)
11700        return "Library";
11701      if (code == FHIRTypes.LINKAGE)
11702        return "Linkage";
11703      if (code == FHIRTypes.LIST)
11704        return "List";
11705      if (code == FHIRTypes.LOCATION)
11706        return "Location";
11707      if (code == FHIRTypes.MANUFACTUREDITEMDEFINITION)
11708        return "ManufacturedItemDefinition";
11709      if (code == FHIRTypes.MEASURE)
11710        return "Measure";
11711      if (code == FHIRTypes.MEASUREREPORT)
11712        return "MeasureReport";
11713      if (code == FHIRTypes.MEDICATION)
11714        return "Medication";
11715      if (code == FHIRTypes.MEDICATIONADMINISTRATION)
11716        return "MedicationAdministration";
11717      if (code == FHIRTypes.MEDICATIONDISPENSE)
11718        return "MedicationDispense";
11719      if (code == FHIRTypes.MEDICATIONKNOWLEDGE)
11720        return "MedicationKnowledge";
11721      if (code == FHIRTypes.MEDICATIONREQUEST)
11722        return "MedicationRequest";
11723      if (code == FHIRTypes.MEDICATIONSTATEMENT)
11724        return "MedicationStatement";
11725      if (code == FHIRTypes.MEDICINALPRODUCTDEFINITION)
11726        return "MedicinalProductDefinition";
11727      if (code == FHIRTypes.MESSAGEDEFINITION)
11728        return "MessageDefinition";
11729      if (code == FHIRTypes.MESSAGEHEADER)
11730        return "MessageHeader";
11731      if (code == FHIRTypes.METADATARESOURCE)
11732        return "MetadataResource";
11733      if (code == FHIRTypes.MOLECULARSEQUENCE)
11734        return "MolecularSequence";
11735      if (code == FHIRTypes.NAMINGSYSTEM)
11736        return "NamingSystem";
11737      if (code == FHIRTypes.NUTRITIONINTAKE)
11738        return "NutritionIntake";
11739      if (code == FHIRTypes.NUTRITIONORDER)
11740        return "NutritionOrder";
11741      if (code == FHIRTypes.NUTRITIONPRODUCT)
11742        return "NutritionProduct";
11743      if (code == FHIRTypes.OBSERVATION)
11744        return "Observation";
11745      if (code == FHIRTypes.OBSERVATIONDEFINITION)
11746        return "ObservationDefinition";
11747      if (code == FHIRTypes.OPERATIONDEFINITION)
11748        return "OperationDefinition";
11749      if (code == FHIRTypes.OPERATIONOUTCOME)
11750        return "OperationOutcome";
11751      if (code == FHIRTypes.ORGANIZATION)
11752        return "Organization";
11753      if (code == FHIRTypes.ORGANIZATIONAFFILIATION)
11754        return "OrganizationAffiliation";
11755      if (code == FHIRTypes.PACKAGEDPRODUCTDEFINITION)
11756        return "PackagedProductDefinition";
11757      if (code == FHIRTypes.PATIENT)
11758        return "Patient";
11759      if (code == FHIRTypes.PAYMENTNOTICE)
11760        return "PaymentNotice";
11761      if (code == FHIRTypes.PAYMENTRECONCILIATION)
11762        return "PaymentReconciliation";
11763      if (code == FHIRTypes.PERMISSION)
11764        return "Permission";
11765      if (code == FHIRTypes.PERSON)
11766        return "Person";
11767      if (code == FHIRTypes.PLANDEFINITION)
11768        return "PlanDefinition";
11769      if (code == FHIRTypes.PRACTITIONER)
11770        return "Practitioner";
11771      if (code == FHIRTypes.PRACTITIONERROLE)
11772        return "PractitionerRole";
11773      if (code == FHIRTypes.PROCEDURE)
11774        return "Procedure";
11775      if (code == FHIRTypes.PROVENANCE)
11776        return "Provenance";
11777      if (code == FHIRTypes.QUESTIONNAIRE)
11778        return "Questionnaire";
11779      if (code == FHIRTypes.QUESTIONNAIRERESPONSE)
11780        return "QuestionnaireResponse";
11781      if (code == FHIRTypes.REGULATEDAUTHORIZATION)
11782        return "RegulatedAuthorization";
11783      if (code == FHIRTypes.RELATEDPERSON)
11784        return "RelatedPerson";
11785      if (code == FHIRTypes.REQUESTORCHESTRATION)
11786        return "RequestOrchestration";
11787      if (code == FHIRTypes.REQUIREMENTS)
11788        return "Requirements";
11789      if (code == FHIRTypes.RESEARCHSTUDY)
11790        return "ResearchStudy";
11791      if (code == FHIRTypes.RESEARCHSUBJECT)
11792        return "ResearchSubject";
11793      if (code == FHIRTypes.RISKASSESSMENT)
11794        return "RiskAssessment";
11795      if (code == FHIRTypes.SCHEDULE)
11796        return "Schedule";
11797      if (code == FHIRTypes.SEARCHPARAMETER)
11798        return "SearchParameter";
11799      if (code == FHIRTypes.SERVICEREQUEST)
11800        return "ServiceRequest";
11801      if (code == FHIRTypes.SLOT)
11802        return "Slot";
11803      if (code == FHIRTypes.SPECIMEN)
11804        return "Specimen";
11805      if (code == FHIRTypes.SPECIMENDEFINITION)
11806        return "SpecimenDefinition";
11807      if (code == FHIRTypes.STRUCTUREDEFINITION)
11808        return "StructureDefinition";
11809      if (code == FHIRTypes.STRUCTUREMAP)
11810        return "StructureMap";
11811      if (code == FHIRTypes.SUBSCRIPTION)
11812        return "Subscription";
11813      if (code == FHIRTypes.SUBSCRIPTIONSTATUS)
11814        return "SubscriptionStatus";
11815      if (code == FHIRTypes.SUBSCRIPTIONTOPIC)
11816        return "SubscriptionTopic";
11817      if (code == FHIRTypes.SUBSTANCE)
11818        return "Substance";
11819      if (code == FHIRTypes.SUBSTANCEDEFINITION)
11820        return "SubstanceDefinition";
11821      if (code == FHIRTypes.SUBSTANCENUCLEICACID)
11822        return "SubstanceNucleicAcid";
11823      if (code == FHIRTypes.SUBSTANCEPOLYMER)
11824        return "SubstancePolymer";
11825      if (code == FHIRTypes.SUBSTANCEPROTEIN)
11826        return "SubstanceProtein";
11827      if (code == FHIRTypes.SUBSTANCEREFERENCEINFORMATION)
11828        return "SubstanceReferenceInformation";
11829      if (code == FHIRTypes.SUBSTANCESOURCEMATERIAL)
11830        return "SubstanceSourceMaterial";
11831      if (code == FHIRTypes.SUPPLYDELIVERY)
11832        return "SupplyDelivery";
11833      if (code == FHIRTypes.SUPPLYREQUEST)
11834        return "SupplyRequest";
11835      if (code == FHIRTypes.TASK)
11836        return "Task";
11837      if (code == FHIRTypes.TERMINOLOGYCAPABILITIES)
11838        return "TerminologyCapabilities";
11839      if (code == FHIRTypes.TESTPLAN)
11840        return "TestPlan";
11841      if (code == FHIRTypes.TESTREPORT)
11842        return "TestReport";
11843      if (code == FHIRTypes.TESTSCRIPT)
11844        return "TestScript";
11845      if (code == FHIRTypes.TRANSPORT)
11846        return "Transport";
11847      if (code == FHIRTypes.VALUESET)
11848        return "ValueSet";
11849      if (code == FHIRTypes.VERIFICATIONRESULT)
11850        return "VerificationResult";
11851      if (code == FHIRTypes.VISIONPRESCRIPTION)
11852        return "VisionPrescription";
11853      if (code == FHIRTypes.PARAMETERS)
11854        return "Parameters";
11855      return "?";
11856   }
11857    public String toSystem(FHIRTypes code) {
11858      return code.getSystem();
11859      }
11860    }
11861
11862    public enum FHIRVersion {
11863        /**
11864         * Oldest archived version of FHIR.
11865         */
11866        _0_01, 
11867        /**
11868         * 1st Draft for Comment (Sept 2012 Ballot).
11869         */
11870        _0_05, 
11871        /**
11872         * 2nd Draft for Comment (January 2013 Ballot).
11873         */
11874        _0_06, 
11875        /**
11876         * DSTU 1 Ballot version.
11877         */
11878        _0_11, 
11879        /**
11880         * DSTU 1 version.
11881         */
11882        _0_0, 
11883        /**
11884         * DSTU 1 Official version.
11885         */
11886        _0_0_80, 
11887        /**
11888         * DSTU 1 Official version Technical Errata #1.
11889         */
11890        _0_0_81, 
11891        /**
11892         * DSTU 1 Official version Technical Errata #2.
11893         */
11894        _0_0_82, 
11895        /**
11896         * January 2015 Ballot.
11897         */
11898        _0_4, 
11899        /**
11900         * Draft For Comment (January 2015 Ballot).
11901         */
11902        _0_4_0, 
11903        /**
11904         * May 2015 Ballot.
11905         */
11906        _0_5, 
11907        /**
11908         * DSTU 2 Ballot version (May 2015 Ballot).
11909         */
11910        _0_5_0, 
11911        /**
11912         * DSTU 2 version.
11913         */
11914        _1_0, 
11915        /**
11916         * DSTU 2 QA Preview + CQIF Ballot (Sep 2015).
11917         */
11918        _1_0_0, 
11919        /**
11920         * DSTU 2 (Official version).
11921         */
11922        _1_0_1, 
11923        /**
11924         * DSTU 2 (Official version) with 1 technical errata.
11925         */
11926        _1_0_2, 
11927        /**
11928         * GAO Ballot version.
11929         */
11930        _1_1, 
11931        /**
11932         * GAO Ballot + draft changes to main FHIR standard.
11933         */
11934        _1_1_0, 
11935        /**
11936         * Connectathon 12 (Montreal) version.
11937         */
11938        _1_4, 
11939        /**
11940         * CQF on FHIR Ballot + Connectathon 12 (Montreal).
11941         */
11942        _1_4_0, 
11943        /**
11944         * Connectathon 13 (Baltimore) version.
11945         */
11946        _1_6, 
11947        /**
11948         * FHIR STU3 Ballot + Connectathon 13 (Baltimore).
11949         */
11950        _1_6_0, 
11951        /**
11952         * Connectathon 14 (San Antonio) version.
11953         */
11954        _1_8, 
11955        /**
11956         * FHIR STU3 Candidate + Connectathon 14 (San Antonio).
11957         */
11958        _1_8_0, 
11959        /**
11960         * STU3 version.
11961         */
11962        _3_0, 
11963        /**
11964         * FHIR Release 3 (STU).
11965         */
11966        _3_0_0, 
11967        /**
11968         * FHIR Release 3 (STU) with 1 technical errata.
11969         */
11970        _3_0_1, 
11971        /**
11972         * FHIR Release 3 (STU) with 2 technical errata.
11973         */
11974        _3_0_2, 
11975        /**
11976         * R4 Ballot #1 version.
11977         */
11978        _3_3, 
11979        /**
11980         * R4 Ballot #1 + Connectaton 18 (Cologne).
11981         */
11982        _3_3_0, 
11983        /**
11984         * R4 Ballot #2 version.
11985         */
11986        _3_5, 
11987        /**
11988         * R4 Ballot #2 + Connectathon 19 (Baltimore).
11989         */
11990        _3_5_0, 
11991        /**
11992         * R4 version.
11993         */
11994        _4_0, 
11995        /**
11996         * FHIR Release 4 (Normative + STU).
11997         */
11998        _4_0_0, 
11999        /**
12000         * FHIR Release 4 (Normative + STU) with 1 technical errata.
12001         */
12002        _4_0_1, 
12003        /**
12004         * R4B Ballot #1 version.
12005         */
12006        _4_1, 
12007        /**
12008         * R4B Ballot #1 + Connectathon 27 (Virtual).
12009         */
12010        _4_1_0, 
12011        /**
12012         * R5 Preview #1 version.
12013         */
12014        _4_2, 
12015        /**
12016         * R5 Preview #1 + Connectathon 23 (Sydney).
12017         */
12018        _4_2_0, 
12019        /**
12020         * R4B version.
12021         */
12022        _4_3, 
12023        /**
12024         * FHIR Release 4B (Normative + STU).
12025         */
12026        _4_3_0, 
12027        /**
12028         * FHIR Release 4B CI-Builld.
12029         */
12030        _4_3_0CIBUILD, 
12031        /**
12032         * FHIR Release 4B Snapshot #1.
12033         */
12034        _4_3_0SNAPSHOT1, 
12035        /**
12036         * R5 Preview #2 version.
12037         */
12038        _4_4, 
12039        /**
12040         * R5 Preview #2 + Connectathon 24 (Virtual).
12041         */
12042        _4_4_0, 
12043        /**
12044         * R5 Preview #3 version.
12045         */
12046        _4_5, 
12047        /**
12048         * R5 Preview #3 + Connectathon 25 (Virtual).
12049         */
12050        _4_5_0, 
12051        /**
12052         * R5 Draft Ballot version.
12053         */
12054        _4_6, 
12055        /**
12056         * R5 Draft Ballot + Connectathon 27 (Virtual).
12057         */
12058        _4_6_0, 
12059        /**
12060         * R5 Versions.
12061         */
12062        _5_0, 
12063        /**
12064         * R5 Final Version.
12065         */
12066        _5_0_0, 
12067        /**
12068         * R5 Rolling ci-build.
12069         */
12070        _5_0_0CIBUILD, 
12071        /**
12072         * R5 Preview #2.
12073         */
12074        _5_0_0SNAPSHOT1, 
12075        /**
12076         * R5 Interim tooling stage.
12077         */
12078        _5_0_0SNAPSHOT2, 
12079        /**
12080         * R5 Ballot.
12081         */
12082        _5_0_0BALLOT, 
12083        /**
12084         * R5 January 2023 Staging Release + Connectathon 32.
12085         */
12086        _5_0_0SNAPSHOT3, 
12087        /**
12088         * R5 Final QA.
12089         */
12090        _5_0_0DRAFTFINAL, 
12091        /**
12092         * R6 Rolling ci-build.
12093         */
12094        _6_0_0CIBUILD, 
12095        /**
12096         * R6 Formal version (does not exist yet)
12097         */
12098        _6_0_0, 
12099        _6_0_0_BALLOT1, 
12100        _6_0_0_BALLOT2, 
12101        /**
12102         * added to help the parsers
12103         */
12104        NULL;
12105        public static FHIRVersion fromCode(String codeString) throws FHIRException {
12106            if (codeString == null || "".equals(codeString))
12107                return null;
12108        if ("0.01".equals(codeString))
12109          return _0_01;
12110        if ("0.05".equals(codeString))
12111          return _0_05;
12112        if ("0.06".equals(codeString))
12113          return _0_06;
12114        if ("0.11".equals(codeString))
12115          return _0_11;
12116        if ("0.0".equals(codeString))
12117          return _0_0;
12118        if ("0.0.80".equals(codeString))
12119          return _0_0_80;
12120        if ("0.0.81".equals(codeString))
12121          return _0_0_81;
12122        if ("0.0.82".equals(codeString))
12123          return _0_0_82;
12124        if ("0.4".equals(codeString))
12125          return _0_4;
12126        if ("0.4.0".equals(codeString))
12127          return _0_4_0;
12128        if ("0.5".equals(codeString))
12129          return _0_5;
12130        if ("0.5.0".equals(codeString))
12131          return _0_5_0;
12132        if ("1.0".equals(codeString))
12133          return _1_0;
12134        if ("1.0.0".equals(codeString))
12135          return _1_0_0;
12136        if ("1.0.1".equals(codeString))
12137          return _1_0_1;
12138        if ("1.0.2".equals(codeString))
12139          return _1_0_2;
12140        if ("1.1".equals(codeString))
12141          return _1_1;
12142        if ("1.1.0".equals(codeString))
12143          return _1_1_0;
12144        if ("1.4".equals(codeString))
12145          return _1_4;
12146        if ("1.4.0".equals(codeString))
12147          return _1_4_0;
12148        if ("1.6".equals(codeString))
12149          return _1_6;
12150        if ("1.6.0".equals(codeString))
12151          return _1_6_0;
12152        if ("1.8".equals(codeString))
12153          return _1_8;
12154        if ("1.8.0".equals(codeString))
12155          return _1_8_0;
12156        if ("3.0".equals(codeString))
12157          return _3_0;
12158        if ("3.0.0".equals(codeString))
12159          return _3_0_0;
12160        if ("3.0.1".equals(codeString))
12161          return _3_0_1;
12162        if ("3.0.2".equals(codeString))
12163          return _3_0_2;
12164        if ("3.3".equals(codeString))
12165          return _3_3;
12166        if ("3.3.0".equals(codeString))
12167          return _3_3_0;
12168        if ("3.5".equals(codeString))
12169          return _3_5;
12170        if ("3.5.0".equals(codeString))
12171          return _3_5_0;
12172        if ("4.0".equals(codeString))
12173          return _4_0;
12174        if ("4.0.0".equals(codeString))
12175          return _4_0_0;
12176        if ("4.0.1".equals(codeString))
12177          return _4_0_1;
12178        if ("4.1".equals(codeString))
12179          return _4_1;
12180        if ("4.1.0".equals(codeString))
12181          return _4_1_0;
12182        if ("4.2".equals(codeString))
12183          return _4_2;
12184        if ("4.2.0".equals(codeString))
12185          return _4_2_0;
12186        if ("4.3".equals(codeString))
12187          return _4_3;
12188        if ("4.3.0".equals(codeString))
12189          return _4_3_0;
12190        if ("4.3.0-cibuild".equals(codeString))
12191          return _4_3_0CIBUILD;
12192        if ("4.3.0-snapshot1".equals(codeString))
12193          return _4_3_0SNAPSHOT1;
12194        if ("4.4".equals(codeString))
12195          return _4_4;
12196        if ("4.4.0".equals(codeString))
12197          return _4_4_0;
12198        if ("4.5".equals(codeString))
12199          return _4_5;
12200        if ("4.5.0".equals(codeString))
12201          return _4_5_0;
12202        if ("4.6".equals(codeString))
12203          return _4_6;
12204        if ("4.6.0".equals(codeString))
12205          return _4_6_0;
12206        if ("5.0".equals(codeString))
12207          return _5_0;
12208        if ("5.0.0".equals(codeString))
12209          return _5_0_0;
12210        if ("5.0.0-cibuild".equals(codeString))
12211          return _5_0_0CIBUILD;
12212        if ("5.0.0-snapshot1".equals(codeString))
12213          return _5_0_0SNAPSHOT1;
12214        if ("5.0.0-snapshot2".equals(codeString))
12215          return _5_0_0SNAPSHOT2;
12216        if ("5.0.0-ballot".equals(codeString))
12217          return _5_0_0BALLOT;
12218        if ("5.0.0-snapshot3".equals(codeString))
12219          return _5_0_0SNAPSHOT3;
12220        if ("5.0.0-draft-final".equals(codeString))
12221          return _5_0_0DRAFTFINAL;
12222        if ("6.0.0-cibuild".equals(codeString))
12223          return _6_0_0CIBUILD;
12224        if ("6.0.0".equals(codeString))
12225          return _6_0_0;
12226        if ("6.0.0-ballot1".equals(codeString))
12227          return _6_0_0_BALLOT1;
12228        if ("6.0.0-ballot2".equals(codeString))
12229          return _6_0_0_BALLOT2;
12230        throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
12231        }
12232        public static boolean isValidCode(String codeString) {
12233            if (codeString == null || "".equals(codeString))
12234                return false;
12235          return Utilities.existsInList(codeString, "0.01", "0.05", "0.06", "0.11", "0.0", "0.0.80", "0.0.81", "0.0.82", "0.4", "0.4.0", "0.5", "0.5.0", "1.0", "1.0.0", "1.0.1", "1.0.2", "1.1", "1.1.0", "1.4", "1.4.0", "1.6", "1.6.0", "1.8", "1.8.0", "3.0", "3.0.0", "3.0.1", "3.0.2", "3.3", "3.3.0", "3.5", "3.5.0", "4.0", "4.0.0", "4.0.1", "4.1", "4.1.0", "4.2", "4.2.0", "4.3", "4.3.0", "4.3.0-cibuild", "4.3.0-snapshot1", "4.4", "4.4.0", "4.5", "4.5.0", "4.6", "4.6.0", "5.0", "5.0.0", "5.0.0-cibuild", "5.0.0-snapshot1", "5.0.0-snapshot2", "5.0.0-ballot", "5.0.0-snapshot3", "5.0.0-draft-final");
12236        }
12237        public String toCode() {
12238          switch (this) {
12239            case _0_01: return "0.01";
12240            case _0_05: return "0.05";
12241            case _0_06: return "0.06";
12242            case _0_11: return "0.11";
12243            case _0_0: return "0.0";
12244            case _0_0_80: return "0.0.80";
12245            case _0_0_81: return "0.0.81";
12246            case _0_0_82: return "0.0.82";
12247            case _0_4: return "0.4";
12248            case _0_4_0: return "0.4.0";
12249            case _0_5: return "0.5";
12250            case _0_5_0: return "0.5.0";
12251            case _1_0: return "1.0";
12252            case _1_0_0: return "1.0.0";
12253            case _1_0_1: return "1.0.1";
12254            case _1_0_2: return "1.0.2";
12255            case _1_1: return "1.1";
12256            case _1_1_0: return "1.1.0";
12257            case _1_4: return "1.4";
12258            case _1_4_0: return "1.4.0";
12259            case _1_6: return "1.6";
12260            case _1_6_0: return "1.6.0";
12261            case _1_8: return "1.8";
12262            case _1_8_0: return "1.8.0";
12263            case _3_0: return "3.0";
12264            case _3_0_0: return "3.0.0";
12265            case _3_0_1: return "3.0.1";
12266            case _3_0_2: return "3.0.2";
12267            case _3_3: return "3.3";
12268            case _3_3_0: return "3.3.0";
12269            case _3_5: return "3.5";
12270            case _3_5_0: return "3.5.0";
12271            case _4_0: return "4.0";
12272            case _4_0_0: return "4.0.0";
12273            case _4_0_1: return "4.0.1";
12274            case _4_1: return "4.1";
12275            case _4_1_0: return "4.1.0";
12276            case _4_2: return "4.2";
12277            case _4_2_0: return "4.2.0";
12278            case _4_3: return "4.3";
12279            case _4_3_0: return "4.3.0";
12280            case _4_3_0CIBUILD: return "4.3.0-cibuild";
12281            case _4_3_0SNAPSHOT1: return "4.3.0-snapshot1";
12282            case _4_4: return "4.4";
12283            case _4_4_0: return "4.4.0";
12284            case _4_5: return "4.5";
12285            case _4_5_0: return "4.5.0";
12286            case _4_6: return "4.6";
12287            case _4_6_0: return "4.6.0";
12288            case _5_0: return "5.0";
12289            case _5_0_0: return "5.0.0";
12290            case _5_0_0CIBUILD: return "5.0.0-cibuild";
12291            case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1";
12292            case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2";
12293            case _5_0_0BALLOT: return "5.0.0-ballot";
12294            case _5_0_0SNAPSHOT3: return "5.0.0-snapshot3";
12295            case _5_0_0DRAFTFINAL: return "5.0.0-draft-final";
12296            case _6_0_0CIBUILD: return "6.0.0-cibuild";
12297            case _6_0_0: return "6.0.0";
12298            case _6_0_0_BALLOT1: return "6.0.0-ballot1";
12299            case _6_0_0_BALLOT2: return "6.0.0-ballot2";
12300            case NULL: return null;
12301            default: return "?";
12302          }
12303        }
12304        public String getSystem() {
12305          switch (this) {
12306            case _0_01: return "http://hl7.org/fhir/FHIR-version";
12307            case _0_05: return "http://hl7.org/fhir/FHIR-version";
12308            case _0_06: return "http://hl7.org/fhir/FHIR-version";
12309            case _0_11: return "http://hl7.org/fhir/FHIR-version";
12310            case _0_0: return "http://hl7.org/fhir/FHIR-version";
12311            case _0_0_80: return "http://hl7.org/fhir/FHIR-version";
12312            case _0_0_81: return "http://hl7.org/fhir/FHIR-version";
12313            case _0_0_82: return "http://hl7.org/fhir/FHIR-version";
12314            case _0_4: return "http://hl7.org/fhir/FHIR-version";
12315            case _0_4_0: return "http://hl7.org/fhir/FHIR-version";
12316            case _0_5: return "http://hl7.org/fhir/FHIR-version";
12317            case _0_5_0: return "http://hl7.org/fhir/FHIR-version";
12318            case _1_0: return "http://hl7.org/fhir/FHIR-version";
12319            case _1_0_0: return "http://hl7.org/fhir/FHIR-version";
12320            case _1_0_1: return "http://hl7.org/fhir/FHIR-version";
12321            case _1_0_2: return "http://hl7.org/fhir/FHIR-version";
12322            case _1_1: return "http://hl7.org/fhir/FHIR-version";
12323            case _1_1_0: return "http://hl7.org/fhir/FHIR-version";
12324            case _1_4: return "http://hl7.org/fhir/FHIR-version";
12325            case _1_4_0: return "http://hl7.org/fhir/FHIR-version";
12326            case _1_6: return "http://hl7.org/fhir/FHIR-version";
12327            case _1_6_0: return "http://hl7.org/fhir/FHIR-version";
12328            case _1_8: return "http://hl7.org/fhir/FHIR-version";
12329            case _1_8_0: return "http://hl7.org/fhir/FHIR-version";
12330            case _3_0: return "http://hl7.org/fhir/FHIR-version";
12331            case _3_0_0: return "http://hl7.org/fhir/FHIR-version";
12332            case _3_0_1: return "http://hl7.org/fhir/FHIR-version";
12333            case _3_0_2: return "http://hl7.org/fhir/FHIR-version";
12334            case _3_3: return "http://hl7.org/fhir/FHIR-version";
12335            case _3_3_0: return "http://hl7.org/fhir/FHIR-version";
12336            case _3_5: return "http://hl7.org/fhir/FHIR-version";
12337            case _3_5_0: return "http://hl7.org/fhir/FHIR-version";
12338            case _4_0: return "http://hl7.org/fhir/FHIR-version";
12339            case _4_0_0: return "http://hl7.org/fhir/FHIR-version";
12340            case _4_0_1: return "http://hl7.org/fhir/FHIR-version";
12341            case _4_1: return "http://hl7.org/fhir/FHIR-version";
12342            case _4_1_0: return "http://hl7.org/fhir/FHIR-version";
12343            case _4_2: return "http://hl7.org/fhir/FHIR-version";
12344            case _4_2_0: return "http://hl7.org/fhir/FHIR-version";
12345            case _4_3: return "http://hl7.org/fhir/FHIR-version";
12346            case _4_3_0: return "http://hl7.org/fhir/FHIR-version";
12347            case _4_3_0CIBUILD: return "http://hl7.org/fhir/FHIR-version";
12348            case _4_3_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version";
12349            case _4_4: return "http://hl7.org/fhir/FHIR-version";
12350            case _4_4_0: return "http://hl7.org/fhir/FHIR-version";
12351            case _4_5: return "http://hl7.org/fhir/FHIR-version";
12352            case _4_5_0: return "http://hl7.org/fhir/FHIR-version";
12353            case _4_6: return "http://hl7.org/fhir/FHIR-version";
12354            case _4_6_0: return "http://hl7.org/fhir/FHIR-version";
12355            case _5_0: return "http://hl7.org/fhir/FHIR-version";
12356            case _5_0_0: return "http://hl7.org/fhir/FHIR-version";
12357            case _5_0_0CIBUILD: return "http://hl7.org/fhir/FHIR-version";
12358            case _5_0_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version";
12359            case _5_0_0SNAPSHOT2: return "http://hl7.org/fhir/FHIR-version";
12360            case _5_0_0BALLOT: return "http://hl7.org/fhir/FHIR-version";
12361            case _5_0_0SNAPSHOT3: return "http://hl7.org/fhir/FHIR-version";
12362            case _5_0_0DRAFTFINAL: return "http://hl7.org/fhir/FHIR-version";
12363            case _6_0_0CIBUILD: return "http://hl7.org/fhir/FHIR-version";
12364            case _6_0_0: return "http://hl7.org/fhir/FHIR-version";
12365            case _6_0_0_BALLOT1: return "http://hl7.org/fhir/FHIR-version";
12366            case NULL: return null;
12367            default: return "?";
12368          }
12369        }
12370        public String getDefinition() {
12371          switch (this) {
12372            case _0_01: return "Oldest archived version of FHIR.";
12373            case _0_05: return "1st Draft for Comment (Sept 2012 Ballot).";
12374            case _0_06: return "2nd Draft for Comment (January 2013 Ballot).";
12375            case _0_11: return "DSTU 1 Ballot version.";
12376            case _0_0: return "DSTU 1 version.";
12377            case _0_0_80: return "DSTU 1 Official version.";
12378            case _0_0_81: return "DSTU 1 Official version Technical Errata #1.";
12379            case _0_0_82: return "DSTU 1 Official version Technical Errata #2.";
12380            case _0_4: return "January 2015 Ballot.";
12381            case _0_4_0: return "Draft For Comment (January 2015 Ballot).";
12382            case _0_5: return "May 2015 Ballot.";
12383            case _0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot).";
12384            case _1_0: return "DSTU 2 version.";
12385            case _1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015).";
12386            case _1_0_1: return "DSTU 2 (Official version).";
12387            case _1_0_2: return "DSTU 2 (Official version) with 1 technical errata.";
12388            case _1_1: return "GAO Ballot version.";
12389            case _1_1_0: return "GAO Ballot + draft changes to main FHIR standard.";
12390            case _1_4: return "Connectathon 12 (Montreal) version.";
12391            case _1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal).";
12392            case _1_6: return "Connectathon 13 (Baltimore) version.";
12393            case _1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore).";
12394            case _1_8: return "Connectathon 14 (San Antonio) version.";
12395            case _1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio).";
12396            case _3_0: return "STU3 version.";
12397            case _3_0_0: return "FHIR Release 3 (STU).";
12398            case _3_0_1: return "FHIR Release 3 (STU) with 1 technical errata.";
12399            case _3_0_2: return "FHIR Release 3 (STU) with 2 technical errata.";
12400            case _3_3: return "R4 Ballot #1 version.";
12401            case _3_3_0: return "R4 Ballot #1 + Connectaton 18 (Cologne).";
12402            case _3_5: return "R4 Ballot #2 version.";
12403            case _3_5_0: return "R4 Ballot #2 + Connectathon 19 (Baltimore).";
12404            case _4_0: return "R4 version.";
12405            case _4_0_0: return "FHIR Release 4 (Normative + STU).";
12406            case _4_0_1: return "FHIR Release 4 (Normative + STU) with 1 technical errata.";
12407            case _4_1: return "R4B Ballot #1 version.";
12408            case _4_1_0: return "R4B Ballot #1 + Connectathon 27 (Virtual).";
12409            case _4_2: return "R5 Preview #1 version.";
12410            case _4_2_0: return "R5 Preview #1 + Connectathon 23 (Sydney).";
12411            case _4_3: return "R4B version.";
12412            case _4_3_0: return "FHIR Release 4B (Normative + STU).";
12413            case _4_3_0CIBUILD: return "FHIR Release 4B CI-Builld.";
12414            case _4_3_0SNAPSHOT1: return "FHIR Release 4B Snapshot #1.";
12415            case _4_4: return "R5 Preview #2 version.";
12416            case _4_4_0: return "R5 Preview #2 + Connectathon 24 (Virtual).";
12417            case _4_5: return "R5 Preview #3 version.";
12418            case _4_5_0: return "R5 Preview #3 + Connectathon 25 (Virtual).";
12419            case _4_6: return "R5 Draft Ballot version.";
12420            case _4_6_0: return "R5 Draft Ballot + Connectathon 27 (Virtual).";
12421            case _5_0: return "R5 Versions.";
12422            case _5_0_0: return "R5 Final Version.";
12423            case _5_0_0CIBUILD: return "R5 Rolling ci-build.";
12424            case _5_0_0SNAPSHOT1: return "R5 Preview #2.";
12425            case _5_0_0SNAPSHOT2: return "R5 Interim tooling stage.";
12426            case _5_0_0BALLOT: return "R5 Ballot.";
12427            case _5_0_0SNAPSHOT3: return "R5 January 2023 Staging Release + Connectathon 32.";
12428            case _5_0_0DRAFTFINAL: return "R5 Final QA.";
12429            case _6_0_0CIBUILD: return "R6 Rolling ci-build.";
12430            case _6_0_0: return "R6 Final Version.";
12431            case _6_0_0_BALLOT1: return "R6 Ballot #1.";
12432            case NULL: return null;
12433            default: return "?";
12434          }
12435        }
12436        public String getDisplay() {
12437          switch (this) {
12438            case _0_01: return "0.01";
12439            case _0_05: return "0.05";
12440            case _0_06: return "0.06";
12441            case _0_11: return "0.11";
12442            case _0_0: return "0.0";
12443            case _0_0_80: return "0.0.80";
12444            case _0_0_81: return "0.0.81";
12445            case _0_0_82: return "0.0.82";
12446            case _0_4: return "0.4";
12447            case _0_4_0: return "0.4.0";
12448            case _0_5: return "0.5";
12449            case _0_5_0: return "0.5.0";
12450            case _1_0: return "1.0";
12451            case _1_0_0: return "1.0.0";
12452            case _1_0_1: return "1.0.1";
12453            case _1_0_2: return "1.0.2";
12454            case _1_1: return "1.1";
12455            case _1_1_0: return "1.1.0";
12456            case _1_4: return "1.4";
12457            case _1_4_0: return "1.4.0";
12458            case _1_6: return "1.6";
12459            case _1_6_0: return "1.6.0";
12460            case _1_8: return "1.8";
12461            case _1_8_0: return "1.8.0";
12462            case _3_0: return "3.0";
12463            case _3_0_0: return "3.0.0";
12464            case _3_0_1: return "3.0.1";
12465            case _3_0_2: return "3.0.2";
12466            case _3_3: return "3.3";
12467            case _3_3_0: return "3.3.0";
12468            case _3_5: return "3.5";
12469            case _3_5_0: return "3.5.0";
12470            case _4_0: return "4.0";
12471            case _4_0_0: return "4.0.0";
12472            case _4_0_1: return "4.0.1";
12473            case _4_1: return "4.1";
12474            case _4_1_0: return "4.1.0";
12475            case _4_2: return "4.2";
12476            case _4_2_0: return "4.2.0";
12477            case _4_3: return "4.3";
12478            case _4_3_0: return "4.3.0";
12479            case _4_3_0CIBUILD: return "4.3.0-cibuild";
12480            case _4_3_0SNAPSHOT1: return "4.3.0-snapshot1";
12481            case _4_4: return "4.4";
12482            case _4_4_0: return "4.4.0";
12483            case _4_5: return "4.5";
12484            case _4_5_0: return "4.5.0";
12485            case _4_6: return "4.6";
12486            case _4_6_0: return "4.6.0";
12487            case _5_0: return "5.0";
12488            case _5_0_0: return "5.0.0";
12489            case _5_0_0CIBUILD: return "5.0.0-cibuild";
12490            case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1";
12491            case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2";
12492            case _5_0_0BALLOT: return "5.0.0-ballot";
12493            case _5_0_0SNAPSHOT3: return "5.0.0-snapshot3";
12494            case _5_0_0DRAFTFINAL: return "5.0.0-draft-final";
12495            case _6_0_0CIBUILD: return "6.0.0-cibuild";
12496            case _6_0_0: return "6.0.0";
12497            case _6_0_0_BALLOT1: return "6.0.0-ballot1";
12498            case _6_0_0_BALLOT2: return "6.0.0-ballot2";
12499            case NULL: return null;
12500            default: return "?";
12501          }
12502        }
12503// manual code from configuration.txt:
12504//public String toCode(int len) {
12505//          return toCode().substring(0, len);
12506//        }
12507//
12508//     
12509//        @Override
12510//        public String toString() {
12511//          return toCode();
12512//        }
12513//        
12514//        
12515//        public boolean isR4B() {
12516//          return toCode().startsWith("4.1");
12517//        }
12518//        
12519// end addition
12520    }
12521
12522  public static class FHIRVersionEnumFactory implements EnumFactory<FHIRVersion> {
12523    public FHIRVersion fromCode(String codeString) throws IllegalArgumentException {
12524      if (codeString == null || "".equals(codeString))
12525            if (codeString == null || "".equals(codeString))
12526                return null;
12527        if ("0.01".equals(codeString))
12528          return FHIRVersion._0_01;
12529        if ("0.05".equals(codeString))
12530          return FHIRVersion._0_05;
12531        if ("0.06".equals(codeString))
12532          return FHIRVersion._0_06;
12533        if ("0.11".equals(codeString))
12534          return FHIRVersion._0_11;
12535        if ("0.0".equals(codeString))
12536          return FHIRVersion._0_0;
12537        if ("0.0.80".equals(codeString))
12538          return FHIRVersion._0_0_80;
12539        if ("0.0.81".equals(codeString))
12540          return FHIRVersion._0_0_81;
12541        if ("0.0.82".equals(codeString))
12542          return FHIRVersion._0_0_82;
12543        if ("0.4".equals(codeString))
12544          return FHIRVersion._0_4;
12545        if ("0.4.0".equals(codeString))
12546          return FHIRVersion._0_4_0;
12547        if ("0.5".equals(codeString))
12548          return FHIRVersion._0_5;
12549        if ("0.5.0".equals(codeString))
12550          return FHIRVersion._0_5_0;
12551        if ("1.0".equals(codeString))
12552          return FHIRVersion._1_0;
12553        if ("1.0.0".equals(codeString))
12554          return FHIRVersion._1_0_0;
12555        if ("1.0.1".equals(codeString))
12556          return FHIRVersion._1_0_1;
12557        if ("1.0.2".equals(codeString))
12558          return FHIRVersion._1_0_2;
12559        if ("1.1".equals(codeString))
12560          return FHIRVersion._1_1;
12561        if ("1.1.0".equals(codeString))
12562          return FHIRVersion._1_1_0;
12563        if ("1.4".equals(codeString))
12564          return FHIRVersion._1_4;
12565        if ("1.4.0".equals(codeString))
12566          return FHIRVersion._1_4_0;
12567        if ("1.6".equals(codeString))
12568          return FHIRVersion._1_6;
12569        if ("1.6.0".equals(codeString))
12570          return FHIRVersion._1_6_0;
12571        if ("1.8".equals(codeString))
12572          return FHIRVersion._1_8;
12573        if ("1.8.0".equals(codeString))
12574          return FHIRVersion._1_8_0;
12575        if ("3.0".equals(codeString))
12576          return FHIRVersion._3_0;
12577        if ("3.0.0".equals(codeString))
12578          return FHIRVersion._3_0_0;
12579        if ("3.0.1".equals(codeString))
12580          return FHIRVersion._3_0_1;
12581        if ("3.0.2".equals(codeString))
12582          return FHIRVersion._3_0_2;
12583        if ("3.3".equals(codeString))
12584          return FHIRVersion._3_3;
12585        if ("3.3.0".equals(codeString))
12586          return FHIRVersion._3_3_0;
12587        if ("3.5".equals(codeString))
12588          return FHIRVersion._3_5;
12589        if ("3.5.0".equals(codeString))
12590          return FHIRVersion._3_5_0;
12591        if ("4.0".equals(codeString))
12592          return FHIRVersion._4_0;
12593        if ("4.0.0".equals(codeString))
12594          return FHIRVersion._4_0_0;
12595        if ("4.0.1".equals(codeString))
12596          return FHIRVersion._4_0_1;
12597        if ("4.1".equals(codeString))
12598          return FHIRVersion._4_1;
12599        if ("4.1.0".equals(codeString))
12600          return FHIRVersion._4_1_0;
12601        if ("4.2".equals(codeString))
12602          return FHIRVersion._4_2;
12603        if ("4.2.0".equals(codeString))
12604          return FHIRVersion._4_2_0;
12605        if ("4.3".equals(codeString))
12606          return FHIRVersion._4_3;
12607        if ("4.3.0".equals(codeString))
12608          return FHIRVersion._4_3_0;
12609        if ("4.3.0-cibuild".equals(codeString))
12610          return FHIRVersion._4_3_0CIBUILD;
12611        if ("4.3.0-snapshot1".equals(codeString))
12612          return FHIRVersion._4_3_0SNAPSHOT1;
12613        if ("4.4".equals(codeString))
12614          return FHIRVersion._4_4;
12615        if ("4.4.0".equals(codeString))
12616          return FHIRVersion._4_4_0;
12617        if ("4.5".equals(codeString))
12618          return FHIRVersion._4_5;
12619        if ("4.5.0".equals(codeString))
12620          return FHIRVersion._4_5_0;
12621        if ("4.6".equals(codeString))
12622          return FHIRVersion._4_6;
12623        if ("4.6.0".equals(codeString))
12624          return FHIRVersion._4_6_0;
12625        if ("5.0".equals(codeString))
12626          return FHIRVersion._5_0;
12627        if ("5.0.0".equals(codeString))
12628          return FHIRVersion._5_0_0;
12629        if ("5.0.0-cibuild".equals(codeString))
12630          return FHIRVersion._5_0_0CIBUILD;
12631        if ("5.0.0-snapshot1".equals(codeString))
12632          return FHIRVersion._5_0_0SNAPSHOT1;
12633        if ("5.0.0-snapshot2".equals(codeString))
12634          return FHIRVersion._5_0_0SNAPSHOT2;
12635        if ("5.0.0-ballot".equals(codeString))
12636          return FHIRVersion._5_0_0BALLOT;
12637        if ("5.0.0-snapshot3".equals(codeString))
12638          return FHIRVersion._5_0_0SNAPSHOT3;
12639        if ("5.0.0-draft-final".equals(codeString))
12640          return FHIRVersion._5_0_0DRAFTFINAL;
12641        if ("6.0.0-cibuild".equals(codeString))
12642          return FHIRVersion._6_0_0CIBUILD;
12643        if ("6.0.0".equals(codeString))
12644          return FHIRVersion._6_0_0;
12645        if ("6.0.0-ballot1".equals(codeString))
12646          return FHIRVersion._6_0_0_BALLOT1;
12647        if ("6.0.0-ballot2".equals(codeString))
12648          return FHIRVersion._6_0_0_BALLOT2;
12649        throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'");
12650        }
12651
12652        public Enumeration<FHIRVersion> fromType(PrimitiveType<?> code) throws FHIRException {
12653          if (code == null)
12654            return null;
12655          if (code.isEmpty())
12656            return new Enumeration<FHIRVersion>(this, FHIRVersion.NULL, code);
12657          String codeString = ((PrimitiveType) code).asStringValue();
12658          if (codeString == null || "".equals(codeString))
12659            return new Enumeration<FHIRVersion>(this, FHIRVersion.NULL, code);
12660        if ("0.01".equals(codeString))
12661          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_01, code);
12662        if ("0.05".equals(codeString))
12663          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_05, code);
12664        if ("0.06".equals(codeString))
12665          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_06, code);
12666        if ("0.11".equals(codeString))
12667          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_11, code);
12668        if ("0.0".equals(codeString))
12669          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0, code);
12670        if ("0.0.80".equals(codeString))
12671          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_80, code);
12672        if ("0.0.81".equals(codeString))
12673          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_81, code);
12674        if ("0.0.82".equals(codeString))
12675          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_82, code);
12676        if ("0.4".equals(codeString))
12677          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_4, code);
12678        if ("0.4.0".equals(codeString))
12679          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_4_0, code);
12680        if ("0.5".equals(codeString))
12681          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_5, code);
12682        if ("0.5.0".equals(codeString))
12683          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_5_0, code);
12684        if ("1.0".equals(codeString))
12685          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0, code);
12686        if ("1.0.0".equals(codeString))
12687          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_0, code);
12688        if ("1.0.1".equals(codeString))
12689          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_1, code);
12690        if ("1.0.2".equals(codeString))
12691          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_2, code);
12692        if ("1.1".equals(codeString))
12693          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_1, code);
12694        if ("1.1.0".equals(codeString))
12695          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_1_0, code);
12696        if ("1.4".equals(codeString))
12697          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_4, code);
12698        if ("1.4.0".equals(codeString))
12699          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_4_0, code);
12700        if ("1.6".equals(codeString))
12701          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_6, code);
12702        if ("1.6.0".equals(codeString))
12703          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_6_0, code);
12704        if ("1.8".equals(codeString))
12705          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_8, code);
12706        if ("1.8.0".equals(codeString))
12707          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_8_0, code);
12708        if ("3.0".equals(codeString))
12709          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0, code);
12710        if ("3.0.0".equals(codeString))
12711          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_0, code);
12712        if ("3.0.1".equals(codeString))
12713          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_1, code);
12714        if ("3.0.2".equals(codeString))
12715          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_2, code);
12716        if ("3.3".equals(codeString))
12717          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_3, code);
12718        if ("3.3.0".equals(codeString))
12719          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_3_0, code);
12720        if ("3.5".equals(codeString))
12721          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_5, code);
12722        if ("3.5.0".equals(codeString))
12723          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_5_0, code);
12724        if ("4.0".equals(codeString))
12725          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0, code);
12726        if ("4.0.0".equals(codeString))
12727          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_0, code);
12728        if ("4.0.1".equals(codeString))
12729          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_1, code);
12730        if ("4.1".equals(codeString))
12731          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_1, code);
12732        if ("4.1.0".equals(codeString))
12733          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_1_0, code);
12734        if ("4.2".equals(codeString))
12735          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_2, code);
12736        if ("4.2.0".equals(codeString))
12737          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_2_0, code);
12738        if ("4.3".equals(codeString))
12739          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3, code);
12740        if ("4.3.0".equals(codeString))
12741          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0, code);
12742        if ("4.3.0-cibuild".equals(codeString))
12743          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0CIBUILD, code);
12744        if ("4.3.0-snapshot1".equals(codeString))
12745          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0SNAPSHOT1, code);
12746        if ("4.4".equals(codeString))
12747          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_4, code);
12748        if ("4.4.0".equals(codeString))
12749          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_4_0, code);
12750        if ("4.5".equals(codeString))
12751          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_5, code);
12752        if ("4.5.0".equals(codeString))
12753          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_5_0, code);
12754        if ("4.6".equals(codeString))
12755          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_6, code);
12756        if ("4.6.0".equals(codeString))
12757          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_6_0, code);
12758        if ("5.0".equals(codeString))
12759          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0, code);
12760        if ("5.0.0".equals(codeString))
12761          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0, code);
12762        if ("5.0.0-cibuild".equals(codeString))
12763          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0CIBUILD, code);
12764        if ("5.0.0-snapshot1".equals(codeString))
12765          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0SNAPSHOT1, code);
12766        if ("5.0.0-snapshot2".equals(codeString))
12767          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0SNAPSHOT2, code);
12768        if ("5.0.0-ballot".equals(codeString))
12769          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0BALLOT, code);
12770        if ("5.0.0-snapshot3".equals(codeString))
12771          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0SNAPSHOT3, code);
12772        if ("5.0.0-draft-final".equals(codeString))
12773          return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0DRAFTFINAL, code);
12774        if ("6.0.0-cibuild".equals(codeString))
12775          return new Enumeration<FHIRVersion>(this, FHIRVersion._6_0_0CIBUILD, code);
12776        if ("6.0.0".equals(codeString))
12777          return new Enumeration<FHIRVersion>(this, FHIRVersion._6_0_0, code);
12778        if ("6.0.0-ballot1".equals(codeString))
12779          return new Enumeration<FHIRVersion>(this, FHIRVersion._6_0_0_BALLOT1, code);
12780        if ("6.0.0-ballot2".equals(codeString))
12781          return new Enumeration<FHIRVersion>(this, FHIRVersion._6_0_0_BALLOT2, code);
12782        throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");        
12783        }
12784    public String toCode(FHIRVersion code) {
12785       if (code == FHIRVersion.NULL)
12786           return null;
12787       if (code == FHIRVersion._0_01)
12788        return "0.01";
12789      if (code == FHIRVersion._0_05)
12790        return "0.05";
12791      if (code == FHIRVersion._0_06)
12792        return "0.06";
12793      if (code == FHIRVersion._0_11)
12794        return "0.11";
12795      if (code == FHIRVersion._0_0)
12796        return "0.0";
12797      if (code == FHIRVersion._0_0_80)
12798        return "0.0.80";
12799      if (code == FHIRVersion._0_0_81)
12800        return "0.0.81";
12801      if (code == FHIRVersion._0_0_82)
12802        return "0.0.82";
12803      if (code == FHIRVersion._0_4)
12804        return "0.4";
12805      if (code == FHIRVersion._0_4_0)
12806        return "0.4.0";
12807      if (code == FHIRVersion._0_5)
12808        return "0.5";
12809      if (code == FHIRVersion._0_5_0)
12810        return "0.5.0";
12811      if (code == FHIRVersion._1_0)
12812        return "1.0";
12813      if (code == FHIRVersion._1_0_0)
12814        return "1.0.0";
12815      if (code == FHIRVersion._1_0_1)
12816        return "1.0.1";
12817      if (code == FHIRVersion._1_0_2)
12818        return "1.0.2";
12819      if (code == FHIRVersion._1_1)
12820        return "1.1";
12821      if (code == FHIRVersion._1_1_0)
12822        return "1.1.0";
12823      if (code == FHIRVersion._1_4)
12824        return "1.4";
12825      if (code == FHIRVersion._1_4_0)
12826        return "1.4.0";
12827      if (code == FHIRVersion._1_6)
12828        return "1.6";
12829      if (code == FHIRVersion._1_6_0)
12830        return "1.6.0";
12831      if (code == FHIRVersion._1_8)
12832        return "1.8";
12833      if (code == FHIRVersion._1_8_0)
12834        return "1.8.0";
12835      if (code == FHIRVersion._3_0)
12836        return "3.0";
12837      if (code == FHIRVersion._3_0_0)
12838        return "3.0.0";
12839      if (code == FHIRVersion._3_0_1)
12840        return "3.0.1";
12841      if (code == FHIRVersion._3_0_2)
12842        return "3.0.2";
12843      if (code == FHIRVersion._3_3)
12844        return "3.3";
12845      if (code == FHIRVersion._3_3_0)
12846        return "3.3.0";
12847      if (code == FHIRVersion._3_5)
12848        return "3.5";
12849      if (code == FHIRVersion._3_5_0)
12850        return "3.5.0";
12851      if (code == FHIRVersion._4_0)
12852        return "4.0";
12853      if (code == FHIRVersion._4_0_0)
12854        return "4.0.0";
12855      if (code == FHIRVersion._4_0_1)
12856        return "4.0.1";
12857      if (code == FHIRVersion._4_1)
12858        return "4.1";
12859      if (code == FHIRVersion._4_1_0)
12860        return "4.1.0";
12861      if (code == FHIRVersion._4_2)
12862        return "4.2";
12863      if (code == FHIRVersion._4_2_0)
12864        return "4.2.0";
12865      if (code == FHIRVersion._4_3)
12866        return "4.3";
12867      if (code == FHIRVersion._4_3_0)
12868        return "4.3.0";
12869      if (code == FHIRVersion._4_3_0CIBUILD)
12870        return "4.3.0-cibuild";
12871      if (code == FHIRVersion._4_3_0SNAPSHOT1)
12872        return "4.3.0-snapshot1";
12873      if (code == FHIRVersion._4_4)
12874        return "4.4";
12875      if (code == FHIRVersion._4_4_0)
12876        return "4.4.0";
12877      if (code == FHIRVersion._4_5)
12878        return "4.5";
12879      if (code == FHIRVersion._4_5_0)
12880        return "4.5.0";
12881      if (code == FHIRVersion._4_6)
12882        return "4.6";
12883      if (code == FHIRVersion._4_6_0)
12884        return "4.6.0";
12885      if (code == FHIRVersion._5_0)
12886        return "5.0";
12887      if (code == FHIRVersion._5_0_0)
12888        return "5.0.0";
12889      if (code == FHIRVersion._5_0_0CIBUILD)
12890        return "5.0.0-cibuild";
12891      if (code == FHIRVersion._5_0_0SNAPSHOT1)
12892        return "5.0.0-snapshot1";
12893      if (code == FHIRVersion._5_0_0SNAPSHOT2)
12894        return "5.0.0-snapshot2";
12895      if (code == FHIRVersion._5_0_0BALLOT)
12896        return "5.0.0-ballot";
12897      if (code == FHIRVersion._5_0_0SNAPSHOT3)
12898        return "5.0.0-snapshot3";
12899      if (code == FHIRVersion._5_0_0DRAFTFINAL)
12900        return "5.0.0-draft-final";
12901      if (code == FHIRVersion._6_0_0CIBUILD)
12902        return "6.0.0-cibuild";
12903      if (code == FHIRVersion._6_0_0)
12904        return "6.0.0";
12905      if (code == FHIRVersion._6_0_0_BALLOT1) {
12906        return "6.0.0-ballot1";
12907      }
12908      if (code == FHIRVersion._6_0_0_BALLOT2) {
12909        return "6.0.0-ballot2";
12910      }
12911      return "?";
12912   }
12913    public String toSystem(FHIRVersion code) {
12914      return code.getSystem();
12915      }
12916    }
12917
12918    public enum FilterOperator {
12919        /**
12920         * The specified property of the code equals the provided value.
12921         */
12922        EQUAL, 
12923        /**
12924         * Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, including the provided concept itself (include descendant codes and self).
12925         */
12926        ISA, 
12927        /**
12928         * Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, excluding the provided concept itself (i.e. include descendant codes only).
12929         */
12930        DESCENDENTOF, 
12931        /**
12932         * The specified property of the code does not have an is-a relationship with the provided value.
12933         */
12934        ISNOTA, 
12935        /**
12936         * The specified property of the code  matches the regex specified in the provided value.
12937         */
12938        REGEX, 
12939        /**
12940         * The specified property of the code is in the set of codes or concepts specified in the provided value (comma-separated list).
12941         */
12942        IN, 
12943        /**
12944         * The specified property of the code is not in the set of codes or concepts specified in the provided value (comma-separated list).
12945         */
12946        NOTIN, 
12947        /**
12948         * Includes all concept ids that have a transitive is-a relationship from the concept Id provided as the value, including the provided concept itself (i.e. include ancestor codes and self).
12949         */
12950        GENERALIZES, 
12951        /**
12952         * Only concepts with a direct hierarchical relationship to the index code and no other concepts. This does not include the index code in the output.
12953         */
12954        CHILDOF, 
12955        /**
12956         * Includes concept ids that have a transitive is-a relationship with the concept Id provided as the value, but which do not have any concept ids with transitive is-a relationships with themselves.
12957         */
12958        DESCENDENTLEAF, 
12959        /**
12960         * The specified property of the code has at least one value (if the specified value is true; if the specified value is false, then matches when the specified property of the code has no values).
12961         */
12962        EXISTS, 
12963        /**
12964         * added to help the parsers
12965         */
12966        NULL;
12967        public static FilterOperator fromCode(String codeString) throws FHIRException {
12968            if (codeString == null || "".equals(codeString))
12969                return null;
12970        if ("=".equals(codeString))
12971          return EQUAL;
12972        if ("is-a".equals(codeString))
12973          return ISA;
12974        if ("descendent-of".equals(codeString))
12975          return DESCENDENTOF;
12976        if ("is-not-a".equals(codeString))
12977          return ISNOTA;
12978        if ("regex".equals(codeString))
12979          return REGEX;
12980        if ("in".equals(codeString))
12981          return IN;
12982        if ("not-in".equals(codeString))
12983          return NOTIN;
12984        if ("generalizes".equals(codeString))
12985          return GENERALIZES;
12986        if ("child-of".equals(codeString))
12987          return CHILDOF;
12988        if ("descendent-leaf".equals(codeString))
12989          return DESCENDENTLEAF;
12990        if ("exists".equals(codeString))
12991          return EXISTS;
12992        throw new FHIRException("Unknown FilterOperator code '"+codeString+"'");
12993        }
12994        public static boolean isValidCode(String codeString) {
12995            if (codeString == null || "".equals(codeString))
12996                return false;
12997          return Utilities.existsInList(codeString, "=", "is-a", "descendent-of", "is-not-a", "regex", "in", "not-in", "generalizes", "child-of", "descendent-leaf", "exists");
12998        }
12999        public String toCode() {
13000          switch (this) {
13001            case EQUAL: return "=";
13002            case ISA: return "is-a";
13003            case DESCENDENTOF: return "descendent-of";
13004            case ISNOTA: return "is-not-a";
13005            case REGEX: return "regex";
13006            case IN: return "in";
13007            case NOTIN: return "not-in";
13008            case GENERALIZES: return "generalizes";
13009            case CHILDOF: return "child-of";
13010            case DESCENDENTLEAF: return "descendent-leaf";
13011            case EXISTS: return "exists";
13012            case NULL: return null;
13013            default: return "?";
13014          }
13015        }
13016        public String getSystem() {
13017          switch (this) {
13018            case EQUAL: return "http://hl7.org/fhir/filter-operator";
13019            case ISA: return "http://hl7.org/fhir/filter-operator";
13020            case DESCENDENTOF: return "http://hl7.org/fhir/filter-operator";
13021            case ISNOTA: return "http://hl7.org/fhir/filter-operator";
13022            case REGEX: return "http://hl7.org/fhir/filter-operator";
13023            case IN: return "http://hl7.org/fhir/filter-operator";
13024            case NOTIN: return "http://hl7.org/fhir/filter-operator";
13025            case GENERALIZES: return "http://hl7.org/fhir/filter-operator";
13026            case CHILDOF: return "http://hl7.org/fhir/filter-operator";
13027            case DESCENDENTLEAF: return "http://hl7.org/fhir/filter-operator";
13028            case EXISTS: return "http://hl7.org/fhir/filter-operator";
13029            case NULL: return null;
13030            default: return "?";
13031          }
13032        }
13033        public String getDefinition() {
13034          switch (this) {
13035            case EQUAL: return "The specified property of the code equals the provided value.";
13036            case ISA: return "Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, including the provided concept itself (include descendant codes and self).";
13037            case DESCENDENTOF: return "Includes all concept ids that have a transitive is-a relationship with the concept Id provided as the value, excluding the provided concept itself (i.e. include descendant codes only).";
13038            case ISNOTA: return "The specified property of the code does not have an is-a relationship with the provided value.";
13039            case REGEX: return "The specified property of the code  matches the regex specified in the provided value.";
13040            case IN: return "The specified property of the code is in the set of codes or concepts specified in the provided value (comma-separated list).";
13041            case NOTIN: return "The specified property of the code is not in the set of codes or concepts specified in the provided value (comma-separated list).";
13042            case GENERALIZES: return "Includes all concept ids that have a transitive is-a relationship from the concept Id provided as the value, including the provided concept itself (i.e. include ancestor codes and self).";
13043            case CHILDOF: return "Only concepts with a direct hierarchical relationship to the index code and no other concepts. This does not include the index code in the output.";
13044            case DESCENDENTLEAF: return "Includes concept ids that have a transitive is-a relationship with the concept Id provided as the value, but which do not have any concept ids with transitive is-a relationships with themselves.";
13045            case EXISTS: return "The specified property of the code has at least one value (if the specified value is true; if the specified value is false, then matches when the specified property of the code has no values).";
13046            case NULL: return null;
13047            default: return "?";
13048          }
13049        }
13050        public String getDisplay() {
13051          switch (this) {
13052            case EQUAL: return "Equals";
13053            case ISA: return "Is A (by subsumption)";
13054            case DESCENDENTOF: return "Descendent Of (by subsumption)";
13055            case ISNOTA: return "Not (Is A) (by subsumption)";
13056            case REGEX: return "Regular Expression";
13057            case IN: return "In Set";
13058            case NOTIN: return "Not in Set";
13059            case GENERALIZES: return "Generalizes (by Subsumption)";
13060            case CHILDOF: return "Child Of";
13061            case DESCENDENTLEAF: return "Descendent Leaf";
13062            case EXISTS: return "Exists";
13063            case NULL: return null;
13064            default: return "?";
13065          }
13066        }
13067    }
13068
13069  public static class FilterOperatorEnumFactory implements EnumFactory<FilterOperator> {
13070    public FilterOperator fromCode(String codeString) throws IllegalArgumentException {
13071      if (codeString == null || "".equals(codeString))
13072            if (codeString == null || "".equals(codeString))
13073                return null;
13074        if ("=".equals(codeString))
13075          return FilterOperator.EQUAL;
13076        if ("is-a".equals(codeString))
13077          return FilterOperator.ISA;
13078        if ("descendent-of".equals(codeString))
13079          return FilterOperator.DESCENDENTOF;
13080        if ("is-not-a".equals(codeString))
13081          return FilterOperator.ISNOTA;
13082        if ("regex".equals(codeString))
13083          return FilterOperator.REGEX;
13084        if ("in".equals(codeString))
13085          return FilterOperator.IN;
13086        if ("not-in".equals(codeString))
13087          return FilterOperator.NOTIN;
13088        if ("generalizes".equals(codeString))
13089          return FilterOperator.GENERALIZES;
13090        if ("child-of".equals(codeString))
13091          return FilterOperator.CHILDOF;
13092        if ("descendent-leaf".equals(codeString))
13093          return FilterOperator.DESCENDENTLEAF;
13094        if ("exists".equals(codeString))
13095          return FilterOperator.EXISTS;
13096        throw new IllegalArgumentException("Unknown FilterOperator code '"+codeString+"'");
13097        }
13098
13099        public Enumeration<FilterOperator> fromType(PrimitiveType<?> code) throws FHIRException {
13100          if (code == null)
13101            return null;
13102          if (code.isEmpty())
13103            return new Enumeration<FilterOperator>(this, FilterOperator.NULL, code);
13104          String codeString = ((PrimitiveType) code).asStringValue();
13105          if (codeString == null || "".equals(codeString))
13106            return new Enumeration<FilterOperator>(this, FilterOperator.NULL, code);
13107        if ("=".equals(codeString))
13108          return new Enumeration<FilterOperator>(this, FilterOperator.EQUAL, code);
13109        if ("is-a".equals(codeString))
13110          return new Enumeration<FilterOperator>(this, FilterOperator.ISA, code);
13111        if ("descendent-of".equals(codeString))
13112          return new Enumeration<FilterOperator>(this, FilterOperator.DESCENDENTOF, code);
13113        if ("is-not-a".equals(codeString))
13114          return new Enumeration<FilterOperator>(this, FilterOperator.ISNOTA, code);
13115        if ("regex".equals(codeString))
13116          return new Enumeration<FilterOperator>(this, FilterOperator.REGEX, code);
13117        if ("in".equals(codeString))
13118          return new Enumeration<FilterOperator>(this, FilterOperator.IN, code);
13119        if ("not-in".equals(codeString))
13120          return new Enumeration<FilterOperator>(this, FilterOperator.NOTIN, code);
13121        if ("generalizes".equals(codeString))
13122          return new Enumeration<FilterOperator>(this, FilterOperator.GENERALIZES, code);
13123        if ("child-of".equals(codeString))
13124          return new Enumeration<FilterOperator>(this, FilterOperator.CHILDOF, code);
13125        if ("descendent-leaf".equals(codeString))
13126          return new Enumeration<FilterOperator>(this, FilterOperator.DESCENDENTLEAF, code);
13127        if ("exists".equals(codeString))
13128          return new Enumeration<FilterOperator>(this, FilterOperator.EXISTS, code);
13129        throw new FHIRException("Unknown FilterOperator code '"+codeString+"'");
13130        }
13131    public String toCode(FilterOperator code) {
13132       if (code == FilterOperator.NULL)
13133           return null;
13134       if (code == FilterOperator.EQUAL)
13135        return "=";
13136      if (code == FilterOperator.ISA)
13137        return "is-a";
13138      if (code == FilterOperator.DESCENDENTOF)
13139        return "descendent-of";
13140      if (code == FilterOperator.ISNOTA)
13141        return "is-not-a";
13142      if (code == FilterOperator.REGEX)
13143        return "regex";
13144      if (code == FilterOperator.IN)
13145        return "in";
13146      if (code == FilterOperator.NOTIN)
13147        return "not-in";
13148      if (code == FilterOperator.GENERALIZES)
13149        return "generalizes";
13150      if (code == FilterOperator.CHILDOF)
13151        return "child-of";
13152      if (code == FilterOperator.DESCENDENTLEAF)
13153        return "descendent-leaf";
13154      if (code == FilterOperator.EXISTS)
13155        return "exists";
13156      return "?";
13157   }
13158    public String toSystem(FilterOperator code) {
13159      return code.getSystem();
13160      }
13161    }
13162
13163    public enum FinancialResourceStatusCodes {
13164        /**
13165         * The instance is currently in-force.
13166         */
13167        ACTIVE, 
13168        /**
13169         * The instance is withdrawn, rescinded or reversed.
13170         */
13171        CANCELLED, 
13172        /**
13173         * A new instance the contents of which is not complete.
13174         */
13175        DRAFT, 
13176        /**
13177         * The instance was entered in error.
13178         */
13179        ENTEREDINERROR, 
13180        /**
13181         * added to help the parsers
13182         */
13183        NULL;
13184        public static FinancialResourceStatusCodes fromCode(String codeString) throws FHIRException {
13185            if (codeString == null || "".equals(codeString))
13186                return null;
13187        if ("active".equals(codeString))
13188          return ACTIVE;
13189        if ("cancelled".equals(codeString))
13190          return CANCELLED;
13191        if ("draft".equals(codeString))
13192          return DRAFT;
13193        if ("entered-in-error".equals(codeString))
13194          return ENTEREDINERROR;
13195        throw new FHIRException("Unknown FinancialResourceStatusCodes code '"+codeString+"'");
13196        }
13197        public static boolean isValidCode(String codeString) {
13198            if (codeString == null || "".equals(codeString))
13199                return false;
13200          return Utilities.existsInList(codeString, "active", "cancelled", "draft", "entered-in-error");
13201        }
13202        public String toCode() {
13203          switch (this) {
13204            case ACTIVE: return "active";
13205            case CANCELLED: return "cancelled";
13206            case DRAFT: return "draft";
13207            case ENTEREDINERROR: return "entered-in-error";
13208            case NULL: return null;
13209            default: return "?";
13210          }
13211        }
13212        public String getSystem() {
13213          switch (this) {
13214            case ACTIVE: return "http://hl7.org/fhir/fm-status";
13215            case CANCELLED: return "http://hl7.org/fhir/fm-status";
13216            case DRAFT: return "http://hl7.org/fhir/fm-status";
13217            case ENTEREDINERROR: return "http://hl7.org/fhir/fm-status";
13218            case NULL: return null;
13219            default: return "?";
13220          }
13221        }
13222        public String getDefinition() {
13223          switch (this) {
13224            case ACTIVE: return "The instance is currently in-force.";
13225            case CANCELLED: return "The instance is withdrawn, rescinded or reversed.";
13226            case DRAFT: return "A new instance the contents of which is not complete.";
13227            case ENTEREDINERROR: return "The instance was entered in error.";
13228            case NULL: return null;
13229            default: return "?";
13230          }
13231        }
13232        public String getDisplay() {
13233          switch (this) {
13234            case ACTIVE: return "Active";
13235            case CANCELLED: return "Cancelled";
13236            case DRAFT: return "Draft";
13237            case ENTEREDINERROR: return "Entered in Error";
13238            case NULL: return null;
13239            default: return "?";
13240          }
13241        }
13242    }
13243
13244  public static class FinancialResourceStatusCodesEnumFactory implements EnumFactory<FinancialResourceStatusCodes> {
13245    public FinancialResourceStatusCodes fromCode(String codeString) throws IllegalArgumentException {
13246      if (codeString == null || "".equals(codeString))
13247            if (codeString == null || "".equals(codeString))
13248                return null;
13249        if ("active".equals(codeString))
13250          return FinancialResourceStatusCodes.ACTIVE;
13251        if ("cancelled".equals(codeString))
13252          return FinancialResourceStatusCodes.CANCELLED;
13253        if ("draft".equals(codeString))
13254          return FinancialResourceStatusCodes.DRAFT;
13255        if ("entered-in-error".equals(codeString))
13256          return FinancialResourceStatusCodes.ENTEREDINERROR;
13257        throw new IllegalArgumentException("Unknown FinancialResourceStatusCodes code '"+codeString+"'");
13258        }
13259
13260        public Enumeration<FinancialResourceStatusCodes> fromType(PrimitiveType<?> code) throws FHIRException {
13261          if (code == null)
13262            return null;
13263          if (code.isEmpty())
13264            return new Enumeration<FinancialResourceStatusCodes>(this, FinancialResourceStatusCodes.NULL, code);
13265          String codeString = ((PrimitiveType) code).asStringValue();
13266          if (codeString == null || "".equals(codeString))
13267            return new Enumeration<FinancialResourceStatusCodes>(this, FinancialResourceStatusCodes.NULL, code);
13268        if ("active".equals(codeString))
13269          return new Enumeration<FinancialResourceStatusCodes>(this, FinancialResourceStatusCodes.ACTIVE, code);
13270        if ("cancelled".equals(codeString))
13271          return new Enumeration<FinancialResourceStatusCodes>(this, FinancialResourceStatusCodes.CANCELLED, code);
13272        if ("draft".equals(codeString))
13273          return new Enumeration<FinancialResourceStatusCodes>(this, FinancialResourceStatusCodes.DRAFT, code);
13274        if ("entered-in-error".equals(codeString))
13275          return new Enumeration<FinancialResourceStatusCodes>(this, FinancialResourceStatusCodes.ENTEREDINERROR, code);
13276        throw new FHIRException("Unknown FinancialResourceStatusCodes code '"+codeString+"'");
13277        }
13278    public String toCode(FinancialResourceStatusCodes code) {
13279       if (code == FinancialResourceStatusCodes.NULL)
13280           return null;
13281       if (code == FinancialResourceStatusCodes.ACTIVE)
13282        return "active";
13283      if (code == FinancialResourceStatusCodes.CANCELLED)
13284        return "cancelled";
13285      if (code == FinancialResourceStatusCodes.DRAFT)
13286        return "draft";
13287      if (code == FinancialResourceStatusCodes.ENTEREDINERROR)
13288        return "entered-in-error";
13289      return "?";
13290   }
13291    public String toSystem(FinancialResourceStatusCodes code) {
13292      return code.getSystem();
13293      }
13294    }
13295
13296    public enum ListMode {
13297        /**
13298         * This list is the master list, maintained in an ongoing fashion with regular updates as the real-world list it is tracking changes.
13299         */
13300        WORKING, 
13301        /**
13302         * This list was prepared as a snapshot. It should not be assumed to be current.
13303         */
13304        SNAPSHOT, 
13305        /**
13306         * A point-in-time list that shows what changes have been made or recommended.  E.g. a discharge medication list showing what was added and removed during an encounter.
13307         */
13308        CHANGES, 
13309        /**
13310         * added to help the parsers
13311         */
13312        NULL;
13313        public static ListMode fromCode(String codeString) throws FHIRException {
13314            if (codeString == null || "".equals(codeString))
13315                return null;
13316        if ("working".equals(codeString))
13317          return WORKING;
13318        if ("snapshot".equals(codeString))
13319          return SNAPSHOT;
13320        if ("changes".equals(codeString))
13321          return CHANGES;
13322        throw new FHIRException("Unknown ListMode code '"+codeString+"'");
13323        }
13324        public static boolean isValidCode(String codeString) {
13325            if (codeString == null || "".equals(codeString))
13326                return false;
13327          return Utilities.existsInList(codeString, "working", "snapshot", "changes");
13328        }
13329        public String toCode() {
13330          switch (this) {
13331            case WORKING: return "working";
13332            case SNAPSHOT: return "snapshot";
13333            case CHANGES: return "changes";
13334            case NULL: return null;
13335            default: return "?";
13336          }
13337        }
13338        public String getSystem() {
13339          switch (this) {
13340            case WORKING: return "http://hl7.org/fhir/list-mode";
13341            case SNAPSHOT: return "http://hl7.org/fhir/list-mode";
13342            case CHANGES: return "http://hl7.org/fhir/list-mode";
13343            case NULL: return null;
13344            default: return "?";
13345          }
13346        }
13347        public String getDefinition() {
13348          switch (this) {
13349            case WORKING: return "This list is the master list, maintained in an ongoing fashion with regular updates as the real-world list it is tracking changes.";
13350            case SNAPSHOT: return "This list was prepared as a snapshot. It should not be assumed to be current.";
13351            case CHANGES: return "A point-in-time list that shows what changes have been made or recommended.  E.g. a discharge medication list showing what was added and removed during an encounter.";
13352            case NULL: return null;
13353            default: return "?";
13354          }
13355        }
13356        public String getDisplay() {
13357          switch (this) {
13358            case WORKING: return "Working List";
13359            case SNAPSHOT: return "Snapshot List";
13360            case CHANGES: return "Change List";
13361            case NULL: return null;
13362            default: return "?";
13363          }
13364        }
13365    }
13366
13367  public static class ListModeEnumFactory implements EnumFactory<ListMode> {
13368    public ListMode fromCode(String codeString) throws IllegalArgumentException {
13369      if (codeString == null || "".equals(codeString))
13370            if (codeString == null || "".equals(codeString))
13371                return null;
13372        if ("working".equals(codeString))
13373          return ListMode.WORKING;
13374        if ("snapshot".equals(codeString))
13375          return ListMode.SNAPSHOT;
13376        if ("changes".equals(codeString))
13377          return ListMode.CHANGES;
13378        throw new IllegalArgumentException("Unknown ListMode code '"+codeString+"'");
13379        }
13380
13381        public Enumeration<ListMode> fromType(PrimitiveType<?> code) throws FHIRException {
13382          if (code == null)
13383            return null;
13384          if (code.isEmpty())
13385            return new Enumeration<ListMode>(this, ListMode.NULL, code);
13386          String codeString = ((PrimitiveType) code).asStringValue();
13387          if (codeString == null || "".equals(codeString))
13388            return new Enumeration<ListMode>(this, ListMode.NULL, code);
13389        if ("working".equals(codeString))
13390          return new Enumeration<ListMode>(this, ListMode.WORKING, code);
13391        if ("snapshot".equals(codeString))
13392          return new Enumeration<ListMode>(this, ListMode.SNAPSHOT, code);
13393        if ("changes".equals(codeString))
13394          return new Enumeration<ListMode>(this, ListMode.CHANGES, code);
13395        throw new FHIRException("Unknown ListMode code '"+codeString+"'");
13396        }
13397    public String toCode(ListMode code) {
13398       if (code == ListMode.NULL)
13399           return null;
13400       if (code == ListMode.WORKING)
13401        return "working";
13402      if (code == ListMode.SNAPSHOT)
13403        return "snapshot";
13404      if (code == ListMode.CHANGES)
13405        return "changes";
13406      return "?";
13407   }
13408    public String toSystem(ListMode code) {
13409      return code.getSystem();
13410      }
13411    }
13412
13413    public enum MeasureImprovementNotation {
13414        /**
13415         * null
13416         */
13417        INCREASE, 
13418        /**
13419         * null
13420         */
13421        DECREASE, 
13422        /**
13423         * added to help the parsers
13424         */
13425        NULL;
13426        public static MeasureImprovementNotation fromCode(String codeString) throws FHIRException {
13427            if (codeString == null || "".equals(codeString))
13428                return null;
13429        if ("increase".equals(codeString))
13430          return INCREASE;
13431        if ("decrease".equals(codeString))
13432          return DECREASE;
13433        throw new FHIRException("Unknown MeasureImprovementNotation code '"+codeString+"'");
13434        }
13435        public static boolean isValidCode(String codeString) {
13436            if (codeString == null || "".equals(codeString))
13437                return false;
13438          return Utilities.existsInList(codeString, "increase", "decrease");
13439        }
13440        public String toCode() {
13441          switch (this) {
13442            case INCREASE: return "increase";
13443            case DECREASE: return "decrease";
13444            case NULL: return null;
13445            default: return "?";
13446          }
13447        }
13448        public String getSystem() {
13449          switch (this) {
13450            case INCREASE: return "http://terminology.hl7.org/CodeSystem/measure-improvement-notation";
13451            case DECREASE: return "http://terminology.hl7.org/CodeSystem/measure-improvement-notation";
13452            case NULL: return null;
13453            default: return "?";
13454          }
13455        }
13456        public String getDefinition() {
13457          switch (this) {
13458            case INCREASE: return "";
13459            case DECREASE: return "";
13460            case NULL: return null;
13461            default: return "?";
13462          }
13463        }
13464        public String getDisplay() {
13465          switch (this) {
13466            case INCREASE: return "Increased score indicates improvement";
13467            case DECREASE: return "Decreased score indicates improvement";
13468            case NULL: return null;
13469            default: return "?";
13470          }
13471        }
13472    }
13473
13474  public static class MeasureImprovementNotationEnumFactory implements EnumFactory<MeasureImprovementNotation> {
13475    public MeasureImprovementNotation fromCode(String codeString) throws IllegalArgumentException {
13476      if (codeString == null || "".equals(codeString))
13477            if (codeString == null || "".equals(codeString))
13478                return null;
13479        if ("increase".equals(codeString))
13480          return MeasureImprovementNotation.INCREASE;
13481        if ("decrease".equals(codeString))
13482          return MeasureImprovementNotation.DECREASE;
13483        throw new IllegalArgumentException("Unknown MeasureImprovementNotation code '"+codeString+"'");
13484        }
13485
13486        public Enumeration<MeasureImprovementNotation> fromType(PrimitiveType<?> code) throws FHIRException {
13487          if (code == null)
13488            return null;
13489          if (code.isEmpty())
13490            return new Enumeration<MeasureImprovementNotation>(this, MeasureImprovementNotation.NULL, code);
13491          String codeString = ((PrimitiveType) code).asStringValue();
13492          if (codeString == null || "".equals(codeString))
13493            return new Enumeration<MeasureImprovementNotation>(this, MeasureImprovementNotation.NULL, code);
13494        if ("increase".equals(codeString))
13495          return new Enumeration<MeasureImprovementNotation>(this, MeasureImprovementNotation.INCREASE, code);
13496        if ("decrease".equals(codeString))
13497          return new Enumeration<MeasureImprovementNotation>(this, MeasureImprovementNotation.DECREASE, code);
13498        throw new FHIRException("Unknown MeasureImprovementNotation code '"+codeString+"'");
13499        }
13500    public String toCode(MeasureImprovementNotation code) {
13501       if (code == MeasureImprovementNotation.NULL)
13502           return null;
13503       if (code == MeasureImprovementNotation.INCREASE)
13504        return "increase";
13505      if (code == MeasureImprovementNotation.DECREASE)
13506        return "decrease";
13507      return "?";
13508   }
13509    public String toSystem(MeasureImprovementNotation code) {
13510      return code.getSystem();
13511      }
13512    }
13513
13514    public enum MimeTypes {
13515        /**
13516         * added to help the parsers
13517         */
13518        NULL;
13519        public static MimeTypes fromCode(String codeString) throws FHIRException {
13520            if (codeString == null || "".equals(codeString))
13521                return null;
13522        throw new FHIRException("Unknown MimeTypes code '"+codeString+"'");
13523        }
13524        public static boolean isValidCode(String codeString) {
13525            if (codeString == null || "".equals(codeString))
13526                return false;
13527          return Utilities.existsInList(codeString);
13528        }
13529        public String toCode() {
13530          switch (this) {
13531            case NULL: return null;
13532            default: return "?";
13533          }
13534        }
13535        public String getSystem() {
13536          switch (this) {
13537            case NULL: return null;
13538            default: return "?";
13539          }
13540        }
13541        public String getDefinition() {
13542          switch (this) {
13543            case NULL: return null;
13544            default: return "?";
13545          }
13546        }
13547        public String getDisplay() {
13548          switch (this) {
13549            case NULL: return null;
13550            default: return "?";
13551          }
13552        }
13553    }
13554
13555  public static class MimeTypesEnumFactory implements EnumFactory<MimeTypes> {
13556    public MimeTypes fromCode(String codeString) throws IllegalArgumentException {
13557      if (codeString == null || "".equals(codeString))
13558            if (codeString == null || "".equals(codeString))
13559                return null;
13560        throw new IllegalArgumentException("Unknown MimeTypes code '"+codeString+"'");
13561        }
13562
13563        public Enumeration<MimeTypes> fromType(PrimitiveType<?> code) throws FHIRException {
13564          if (code == null)
13565            return null;
13566          if (code.isEmpty())
13567            return new Enumeration<MimeTypes>(this, MimeTypes.NULL, code);
13568          String codeString = ((PrimitiveType) code).asStringValue();
13569          if (codeString == null || "".equals(codeString))
13570            return new Enumeration<MimeTypes>(this, MimeTypes.NULL, code);
13571        throw new FHIRException("Unknown MimeTypes code '"+codeString+"'");
13572        }
13573    public String toCode(MimeTypes code) {
13574       if (code == MimeTypes.NULL)
13575           return null;
13576       return "?";
13577   }
13578    public String toSystem(MimeTypes code) {
13579      return code.getSystem();
13580      }
13581    }
13582
13583    public enum ObservationStatus {
13584        /**
13585         * The existence of the observation is registered, but there is no result yet available.
13586         */
13587        REGISTERED, 
13588        /**
13589         * This is an initial or interim observation: data may be incomplete or unverified.
13590         */
13591        PRELIMINARY, 
13592        /**
13593         * The observation is complete and there are no further actions needed. Additional information such "released", "signed", etc. would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied.
13594         */
13595        FINAL, 
13596        /**
13597         * Subsequent to being Final, the observation has been modified subsequent.  This includes updates/new information and corrections.
13598         */
13599        AMENDED, 
13600        /**
13601         * Subsequent to being Final, the observation has been modified to correct an error in the test result.
13602         */
13603        CORRECTED, 
13604        /**
13605         * The observation is unavailable because the measurement was not started or not completed (also sometimes called "aborted").
13606         */
13607        CANCELLED, 
13608        /**
13609         * The observation has been withdrawn following previous final release.  This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be "cancelled" rather than "entered-in-error".).
13610         */
13611        ENTEREDINERROR, 
13612        /**
13613         * The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which.
13614         */
13615        UNKNOWN, 
13616        /**
13617         * added to help the parsers
13618         */
13619        NULL;
13620        public static ObservationStatus fromCode(String codeString) throws FHIRException {
13621            if (codeString == null || "".equals(codeString))
13622                return null;
13623        if ("registered".equals(codeString))
13624          return REGISTERED;
13625        if ("preliminary".equals(codeString))
13626          return PRELIMINARY;
13627        if ("final".equals(codeString))
13628          return FINAL;
13629        if ("amended".equals(codeString))
13630          return AMENDED;
13631        if ("corrected".equals(codeString))
13632          return CORRECTED;
13633        if ("cancelled".equals(codeString))
13634          return CANCELLED;
13635        if ("entered-in-error".equals(codeString))
13636          return ENTEREDINERROR;
13637        if ("unknown".equals(codeString))
13638          return UNKNOWN;
13639        throw new FHIRException("Unknown ObservationStatus code '"+codeString+"'");
13640        }
13641        public static boolean isValidCode(String codeString) {
13642            if (codeString == null || "".equals(codeString))
13643                return false;
13644          return Utilities.existsInList(codeString, "registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown");
13645        }
13646        public String toCode() {
13647          switch (this) {
13648            case REGISTERED: return "registered";
13649            case PRELIMINARY: return "preliminary";
13650            case FINAL: return "final";
13651            case AMENDED: return "amended";
13652            case CORRECTED: return "corrected";
13653            case CANCELLED: return "cancelled";
13654            case ENTEREDINERROR: return "entered-in-error";
13655            case UNKNOWN: return "unknown";
13656            case NULL: return null;
13657            default: return "?";
13658          }
13659        }
13660        public String getSystem() {
13661          switch (this) {
13662            case REGISTERED: return "http://hl7.org/fhir/observation-status";
13663            case PRELIMINARY: return "http://hl7.org/fhir/observation-status";
13664            case FINAL: return "http://hl7.org/fhir/observation-status";
13665            case AMENDED: return "http://hl7.org/fhir/observation-status";
13666            case CORRECTED: return "http://hl7.org/fhir/observation-status";
13667            case CANCELLED: return "http://hl7.org/fhir/observation-status";
13668            case ENTEREDINERROR: return "http://hl7.org/fhir/observation-status";
13669            case UNKNOWN: return "http://hl7.org/fhir/observation-status";
13670            case NULL: return null;
13671            default: return "?";
13672          }
13673        }
13674        public String getDefinition() {
13675          switch (this) {
13676            case REGISTERED: return "The existence of the observation is registered, but there is no result yet available.";
13677            case PRELIMINARY: return "This is an initial or interim observation: data may be incomplete or unverified.";
13678            case FINAL: return "The observation is complete and there are no further actions needed. Additional information such \"released\", \"signed\", etc. would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied.";
13679            case AMENDED: return "Subsequent to being Final, the observation has been modified subsequent.  This includes updates/new information and corrections.";
13680            case CORRECTED: return "Subsequent to being Final, the observation has been modified to correct an error in the test result.";
13681            case CANCELLED: return "The observation is unavailable because the measurement was not started or not completed (also sometimes called \"aborted\").";
13682            case ENTEREDINERROR: return "The observation has been withdrawn following previous final release.  This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".).";
13683            case UNKNOWN: return "The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which.";
13684            case NULL: return null;
13685            default: return "?";
13686          }
13687        }
13688        public String getDisplay() {
13689          switch (this) {
13690            case REGISTERED: return "Registered";
13691            case PRELIMINARY: return "Preliminary";
13692            case FINAL: return "Final";
13693            case AMENDED: return "Amended";
13694            case CORRECTED: return "Corrected";
13695            case CANCELLED: return "Cancelled";
13696            case ENTEREDINERROR: return "Entered in Error";
13697            case UNKNOWN: return "Unknown";
13698            case NULL: return null;
13699            default: return "?";
13700          }
13701        }
13702    }
13703
13704  public static class ObservationStatusEnumFactory implements EnumFactory<ObservationStatus> {
13705    public ObservationStatus fromCode(String codeString) throws IllegalArgumentException {
13706      if (codeString == null || "".equals(codeString))
13707            if (codeString == null || "".equals(codeString))
13708                return null;
13709        if ("registered".equals(codeString))
13710          return ObservationStatus.REGISTERED;
13711        if ("preliminary".equals(codeString))
13712          return ObservationStatus.PRELIMINARY;
13713        if ("final".equals(codeString))
13714          return ObservationStatus.FINAL;
13715        if ("amended".equals(codeString))
13716          return ObservationStatus.AMENDED;
13717        if ("corrected".equals(codeString))
13718          return ObservationStatus.CORRECTED;
13719        if ("cancelled".equals(codeString))
13720          return ObservationStatus.CANCELLED;
13721        if ("entered-in-error".equals(codeString))
13722          return ObservationStatus.ENTEREDINERROR;
13723        if ("unknown".equals(codeString))
13724          return ObservationStatus.UNKNOWN;
13725        throw new IllegalArgumentException("Unknown ObservationStatus code '"+codeString+"'");
13726        }
13727
13728        public Enumeration<ObservationStatus> fromType(PrimitiveType<?> code) throws FHIRException {
13729          if (code == null)
13730            return null;
13731          if (code.isEmpty())
13732            return new Enumeration<ObservationStatus>(this, ObservationStatus.NULL, code);
13733          String codeString = ((PrimitiveType) code).asStringValue();
13734          if (codeString == null || "".equals(codeString))
13735            return new Enumeration<ObservationStatus>(this, ObservationStatus.NULL, code);
13736        if ("registered".equals(codeString))
13737          return new Enumeration<ObservationStatus>(this, ObservationStatus.REGISTERED, code);
13738        if ("preliminary".equals(codeString))
13739          return new Enumeration<ObservationStatus>(this, ObservationStatus.PRELIMINARY, code);
13740        if ("final".equals(codeString))
13741          return new Enumeration<ObservationStatus>(this, ObservationStatus.FINAL, code);
13742        if ("amended".equals(codeString))
13743          return new Enumeration<ObservationStatus>(this, ObservationStatus.AMENDED, code);
13744        if ("corrected".equals(codeString))
13745          return new Enumeration<ObservationStatus>(this, ObservationStatus.CORRECTED, code);
13746        if ("cancelled".equals(codeString))
13747          return new Enumeration<ObservationStatus>(this, ObservationStatus.CANCELLED, code);
13748        if ("entered-in-error".equals(codeString))
13749          return new Enumeration<ObservationStatus>(this, ObservationStatus.ENTEREDINERROR, code);
13750        if ("unknown".equals(codeString))
13751          return new Enumeration<ObservationStatus>(this, ObservationStatus.UNKNOWN, code);
13752        throw new FHIRException("Unknown ObservationStatus code '"+codeString+"'");
13753        }
13754    public String toCode(ObservationStatus code) {
13755       if (code == ObservationStatus.NULL)
13756           return null;
13757       if (code == ObservationStatus.REGISTERED)
13758        return "registered";
13759      if (code == ObservationStatus.PRELIMINARY)
13760        return "preliminary";
13761      if (code == ObservationStatus.FINAL)
13762        return "final";
13763      if (code == ObservationStatus.AMENDED)
13764        return "amended";
13765      if (code == ObservationStatus.CORRECTED)
13766        return "corrected";
13767      if (code == ObservationStatus.CANCELLED)
13768        return "cancelled";
13769      if (code == ObservationStatus.ENTEREDINERROR)
13770        return "entered-in-error";
13771      if (code == ObservationStatus.UNKNOWN)
13772        return "unknown";
13773      return "?";
13774   }
13775    public String toSystem(ObservationStatus code) {
13776      return code.getSystem();
13777      }
13778    }
13779
13780    public enum OperationParameterUse {
13781        /**
13782         * This is an input parameter.
13783         */
13784        IN, 
13785        /**
13786         * This is an output parameter.
13787         */
13788        OUT, 
13789        /**
13790         * added to help the parsers
13791         */
13792        NULL;
13793        public static OperationParameterUse fromCode(String codeString) throws FHIRException {
13794            if (codeString == null || "".equals(codeString))
13795                return null;
13796        if ("in".equals(codeString))
13797          return IN;
13798        if ("out".equals(codeString))
13799          return OUT;
13800        throw new FHIRException("Unknown OperationParameterUse code '"+codeString+"'");
13801        }
13802        public static boolean isValidCode(String codeString) {
13803            if (codeString == null || "".equals(codeString))
13804                return false;
13805          return Utilities.existsInList(codeString, "in", "out");
13806        }
13807        public String toCode() {
13808          switch (this) {
13809            case IN: return "in";
13810            case OUT: return "out";
13811            case NULL: return null;
13812            default: return "?";
13813          }
13814        }
13815        public String getSystem() {
13816          switch (this) {
13817            case IN: return "http://hl7.org/fhir/operation-parameter-use";
13818            case OUT: return "http://hl7.org/fhir/operation-parameter-use";
13819            case NULL: return null;
13820            default: return "?";
13821          }
13822        }
13823        public String getDefinition() {
13824          switch (this) {
13825            case IN: return "This is an input parameter.";
13826            case OUT: return "This is an output parameter.";
13827            case NULL: return null;
13828            default: return "?";
13829          }
13830        }
13831        public String getDisplay() {
13832          switch (this) {
13833            case IN: return "In";
13834            case OUT: return "Out";
13835            case NULL: return null;
13836            default: return "?";
13837          }
13838        }
13839    }
13840
13841  public static class OperationParameterUseEnumFactory implements EnumFactory<OperationParameterUse> {
13842    public OperationParameterUse fromCode(String codeString) throws IllegalArgumentException {
13843      if (codeString == null || "".equals(codeString))
13844            if (codeString == null || "".equals(codeString))
13845                return null;
13846        if ("in".equals(codeString))
13847          return OperationParameterUse.IN;
13848        if ("out".equals(codeString))
13849          return OperationParameterUse.OUT;
13850        throw new IllegalArgumentException("Unknown OperationParameterUse code '"+codeString+"'");
13851        }
13852
13853        public Enumeration<OperationParameterUse> fromType(PrimitiveType<?> code) throws FHIRException {
13854          if (code == null)
13855            return null;
13856          if (code.isEmpty())
13857            return new Enumeration<OperationParameterUse>(this, OperationParameterUse.NULL, code);
13858          String codeString = ((PrimitiveType) code).asStringValue();
13859          if (codeString == null || "".equals(codeString))
13860            return new Enumeration<OperationParameterUse>(this, OperationParameterUse.NULL, code);
13861        if ("in".equals(codeString))
13862          return new Enumeration<OperationParameterUse>(this, OperationParameterUse.IN, code);
13863        if ("out".equals(codeString))
13864          return new Enumeration<OperationParameterUse>(this, OperationParameterUse.OUT, code);
13865        throw new FHIRException("Unknown OperationParameterUse code '"+codeString+"'");
13866        }
13867    public String toCode(OperationParameterUse code) {
13868       if (code == OperationParameterUse.NULL)
13869           return null;
13870       if (code == OperationParameterUse.IN)
13871        return "in";
13872      if (code == OperationParameterUse.OUT)
13873        return "out";
13874      return "?";
13875   }
13876    public String toSystem(OperationParameterUse code) {
13877      return code.getSystem();
13878      }
13879    }
13880
13881    public enum PublicationStatus {
13882        /**
13883         * This resource is still under development and is not yet considered to be ready for normal use.
13884         */
13885        DRAFT, 
13886        /**
13887         * This resource is ready for normal use.
13888         */
13889        ACTIVE, 
13890        /**
13891         * This resource has been withdrawn or superseded and should no longer be used.
13892         */
13893        RETIRED, 
13894        /**
13895         * 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.
13896         */
13897        UNKNOWN, 
13898        /**
13899         * added to help the parsers
13900         */
13901        NULL;
13902        public static PublicationStatus fromCode(String codeString) throws FHIRException {
13903            if (codeString == null || "".equals(codeString))
13904                return null;
13905        if ("draft".equals(codeString))
13906          return DRAFT;
13907        if ("active".equals(codeString))
13908          return ACTIVE;
13909        if ("retired".equals(codeString))
13910          return RETIRED;
13911        if ("unknown".equals(codeString))
13912          return UNKNOWN;
13913        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
13914        }
13915        public static boolean isValidCode(String codeString) {
13916            if (codeString == null || "".equals(codeString))
13917                return false;
13918          return Utilities.existsInList(codeString, "draft", "active", "retired", "unknown");
13919        }
13920        public String toCode() {
13921          switch (this) {
13922            case DRAFT: return "draft";
13923            case ACTIVE: return "active";
13924            case RETIRED: return "retired";
13925            case UNKNOWN: return "unknown";
13926            case NULL: return null;
13927            default: return "?";
13928          }
13929        }
13930        public String getSystem() {
13931          switch (this) {
13932            case DRAFT: return "http://hl7.org/fhir/publication-status";
13933            case ACTIVE: return "http://hl7.org/fhir/publication-status";
13934            case RETIRED: return "http://hl7.org/fhir/publication-status";
13935            case UNKNOWN: return "http://hl7.org/fhir/publication-status";
13936            case NULL: return null;
13937            default: return "?";
13938          }
13939        }
13940        public String getDefinition() {
13941          switch (this) {
13942            case DRAFT: return "This resource is still under development and is not yet considered to be ready for normal use.";
13943            case ACTIVE: return "This resource is ready for normal use.";
13944            case RETIRED: return "This resource has been withdrawn or superseded and should no longer be used.";
13945            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.";
13946            case NULL: return null;
13947            default: return "?";
13948          }
13949        }
13950        public String getDisplay() {
13951          switch (this) {
13952            case DRAFT: return "Draft";
13953            case ACTIVE: return "Active";
13954            case RETIRED: return "Retired";
13955            case UNKNOWN: return "Unknown";
13956            case NULL: return null;
13957            default: return "?";
13958          }
13959        }
13960    }
13961
13962  public static class PublicationStatusEnumFactory implements EnumFactory<PublicationStatus> {
13963    public PublicationStatus fromCode(String codeString) throws IllegalArgumentException {
13964      if (codeString == null || "".equals(codeString))
13965            if (codeString == null || "".equals(codeString))
13966                return null;
13967        if ("draft".equals(codeString))
13968          return PublicationStatus.DRAFT;
13969        if ("active".equals(codeString))
13970          return PublicationStatus.ACTIVE;
13971        if ("retired".equals(codeString))
13972          return PublicationStatus.RETIRED;
13973        if ("unknown".equals(codeString))
13974          return PublicationStatus.UNKNOWN;
13975        throw new IllegalArgumentException("Unknown PublicationStatus code '"+codeString+"'");
13976        }
13977
13978        public Enumeration<PublicationStatus> fromType(PrimitiveType<?> code) throws FHIRException {
13979          if (code == null)
13980            return null;
13981          if (code.isEmpty())
13982            return new Enumeration<PublicationStatus>(this, PublicationStatus.NULL, code);
13983          String codeString = ((PrimitiveType) code).asStringValue();
13984          if (codeString == null || "".equals(codeString))
13985            return new Enumeration<PublicationStatus>(this, PublicationStatus.NULL, code);
13986        if ("draft".equals(codeString))
13987          return new Enumeration<PublicationStatus>(this, PublicationStatus.DRAFT, code);
13988        if ("active".equals(codeString))
13989          return new Enumeration<PublicationStatus>(this, PublicationStatus.ACTIVE, code);
13990        if ("retired".equals(codeString))
13991          return new Enumeration<PublicationStatus>(this, PublicationStatus.RETIRED, code);
13992        if ("unknown".equals(codeString))
13993          return new Enumeration<PublicationStatus>(this, PublicationStatus.UNKNOWN, code);
13994        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
13995        }
13996    public String toCode(PublicationStatus code) {
13997       if (code == PublicationStatus.NULL)
13998           return null;
13999       if (code == PublicationStatus.DRAFT)
14000        return "draft";
14001      if (code == PublicationStatus.ACTIVE)
14002        return "active";
14003      if (code == PublicationStatus.RETIRED)
14004        return "retired";
14005      if (code == PublicationStatus.UNKNOWN)
14006        return "unknown";
14007      return "?";
14008   }
14009    public String toSystem(PublicationStatus code) {
14010      return code.getSystem();
14011      }
14012    }
14013
14014    public enum QuantityComparator {
14015        /**
14016         * The actual value is less than the given value.
14017         */
14018        LESS_THAN, 
14019        /**
14020         * The actual value is less than or equal to the given value.
14021         */
14022        LESS_OR_EQUAL, 
14023        /**
14024         * The actual value is greater than or equal to the given value.
14025         */
14026        GREATER_OR_EQUAL, 
14027        /**
14028         * The actual value is greater than the given value.
14029         */
14030        GREATER_THAN, 
14031        /**
14032         * The actual value is sufficient for the total quantity to equal the given value.
14033         */
14034        AD, 
14035        /**
14036         * added to help the parsers
14037         */
14038        NULL;
14039        public static QuantityComparator fromCode(String codeString) throws FHIRException {
14040            if (codeString == null || "".equals(codeString))
14041                return null;
14042        if ("<".equals(codeString))
14043          return LESS_THAN;
14044        if ("<=".equals(codeString))
14045          return LESS_OR_EQUAL;
14046        if (">=".equals(codeString))
14047          return GREATER_OR_EQUAL;
14048        if (">".equals(codeString))
14049          return GREATER_THAN;
14050        if ("ad".equals(codeString))
14051          return AD;
14052        throw new FHIRException("Unknown QuantityComparator code '"+codeString+"'");
14053        }
14054        public static boolean isValidCode(String codeString) {
14055            if (codeString == null || "".equals(codeString))
14056                return false;
14057          return Utilities.existsInList(codeString, "<", "<=", ">=", ">", "ad");
14058        }
14059        public String toCode() {
14060          switch (this) {
14061            case LESS_THAN: return "<";
14062            case LESS_OR_EQUAL: return "<=";
14063            case GREATER_OR_EQUAL: return ">=";
14064            case GREATER_THAN: return ">";
14065            case AD: return "ad";
14066            case NULL: return null;
14067            default: return "?";
14068          }
14069        }
14070        public String getSystem() {
14071          switch (this) {
14072            case LESS_THAN: return "http://hl7.org/fhir/quantity-comparator";
14073            case LESS_OR_EQUAL: return "http://hl7.org/fhir/quantity-comparator";
14074            case GREATER_OR_EQUAL: return "http://hl7.org/fhir/quantity-comparator";
14075            case GREATER_THAN: return "http://hl7.org/fhir/quantity-comparator";
14076            case AD: return "http://hl7.org/fhir/quantity-comparator";
14077            case NULL: return null;
14078            default: return "?";
14079          }
14080        }
14081        public String getDefinition() {
14082          switch (this) {
14083            case LESS_THAN: return "The actual value is less than the given value.";
14084            case LESS_OR_EQUAL: return "The actual value is less than or equal to the given value.";
14085            case GREATER_OR_EQUAL: return "The actual value is greater than or equal to the given value.";
14086            case GREATER_THAN: return "The actual value is greater than the given value.";
14087            case AD: return "The actual value is sufficient for the total quantity to equal the given value.";
14088            case NULL: return null;
14089            default: return "?";
14090          }
14091        }
14092        public String getDisplay() {
14093          switch (this) {
14094            case LESS_THAN: return "Less than";
14095            case LESS_OR_EQUAL: return "Less or Equal to";
14096            case GREATER_OR_EQUAL: return "Greater or Equal to";
14097            case GREATER_THAN: return "Greater than";
14098            case AD: return "Sufficient to achieve this total quantity";
14099            case NULL: return null;
14100            default: return "?";
14101          }
14102        }
14103    }
14104
14105  public static class QuantityComparatorEnumFactory implements EnumFactory<QuantityComparator> {
14106    public QuantityComparator fromCode(String codeString) throws IllegalArgumentException {
14107      if (codeString == null || "".equals(codeString))
14108            if (codeString == null || "".equals(codeString))
14109                return null;
14110        if ("<".equals(codeString))
14111          return QuantityComparator.LESS_THAN;
14112        if ("<=".equals(codeString))
14113          return QuantityComparator.LESS_OR_EQUAL;
14114        if (">=".equals(codeString))
14115          return QuantityComparator.GREATER_OR_EQUAL;
14116        if (">".equals(codeString))
14117          return QuantityComparator.GREATER_THAN;
14118        if ("ad".equals(codeString))
14119          return QuantityComparator.AD;
14120        throw new IllegalArgumentException("Unknown QuantityComparator code '"+codeString+"'");
14121        }
14122
14123        public Enumeration<QuantityComparator> fromType(PrimitiveType<?> code) throws FHIRException {
14124          if (code == null)
14125            return null;
14126          if (code.isEmpty())
14127            return new Enumeration<QuantityComparator>(this, QuantityComparator.NULL, code);
14128          String codeString = ((PrimitiveType) code).asStringValue();
14129          if (codeString == null || "".equals(codeString))
14130            return new Enumeration<QuantityComparator>(this, QuantityComparator.NULL, code);
14131        if ("<".equals(codeString))
14132          return new Enumeration<QuantityComparator>(this, QuantityComparator.LESS_THAN, code);
14133        if ("<=".equals(codeString))
14134          return new Enumeration<QuantityComparator>(this, QuantityComparator.LESS_OR_EQUAL, code);
14135        if (">=".equals(codeString))
14136          return new Enumeration<QuantityComparator>(this, QuantityComparator.GREATER_OR_EQUAL, code);
14137        if (">".equals(codeString))
14138          return new Enumeration<QuantityComparator>(this, QuantityComparator.GREATER_THAN, code);
14139        if ("ad".equals(codeString))
14140          return new Enumeration<QuantityComparator>(this, QuantityComparator.AD, code);
14141        throw new FHIRException("Unknown QuantityComparator code '"+codeString+"'");
14142        }
14143    public String toCode(QuantityComparator code) {
14144       if (code == QuantityComparator.NULL)
14145           return null;
14146       if (code == QuantityComparator.LESS_THAN)
14147        return "<";
14148      if (code == QuantityComparator.LESS_OR_EQUAL)
14149        return "<=";
14150      if (code == QuantityComparator.GREATER_OR_EQUAL)
14151        return ">=";
14152      if (code == QuantityComparator.GREATER_THAN)
14153        return ">";
14154      if (code == QuantityComparator.AD)
14155        return "ad";
14156      return "?";
14157   }
14158    public String toSystem(QuantityComparator code) {
14159      return code.getSystem();
14160      }
14161    }
14162
14163    public enum RequestIntent {
14164        /**
14165         * The request is a suggestion made by someone/something that does not have an intention to ensure it occurs and without providing an authorization to act.
14166         */
14167        PROPOSAL, 
14168        /**
14169         * The request represents an intention to ensure something occurs without providing an authorization for others to act.
14170         */
14171        PLAN, 
14172        /**
14173         * The request represents a legally binding instruction authored by a Patient or RelatedPerson.
14174         */
14175        DIRECTIVE, 
14176        /**
14177         * The request represents a request/demand and authorization for action by the requestor.
14178         */
14179        ORDER, 
14180        /**
14181         * The request represents an original authorization for action.
14182         */
14183        ORIGINALORDER, 
14184        /**
14185         * The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization.
14186         */
14187        REFLEXORDER, 
14188        /**
14189         * The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order.
14190         */
14191        FILLERORDER, 
14192        /**
14193         * An order created in fulfillment of a broader order that represents the authorization for a single activity occurrence.  E.g. The administration of a single dose of a drug.
14194         */
14195        INSTANCEORDER, 
14196        /**
14197         * The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests.  Refer to [[[RequestOrchestration]]] for additional information on how this status is used.
14198         */
14199        OPTION, 
14200        /**
14201         * added to help the parsers
14202         */
14203        NULL;
14204        public static RequestIntent fromCode(String codeString) throws FHIRException {
14205            if (codeString == null || "".equals(codeString))
14206                return null;
14207        if ("proposal".equals(codeString))
14208          return PROPOSAL;
14209        if ("plan".equals(codeString))
14210          return PLAN;
14211        if ("directive".equals(codeString))
14212          return DIRECTIVE;
14213        if ("order".equals(codeString))
14214          return ORDER;
14215        if ("original-order".equals(codeString))
14216          return ORIGINALORDER;
14217        if ("reflex-order".equals(codeString))
14218          return REFLEXORDER;
14219        if ("filler-order".equals(codeString))
14220          return FILLERORDER;
14221        if ("instance-order".equals(codeString))
14222          return INSTANCEORDER;
14223        if ("option".equals(codeString))
14224          return OPTION;
14225        throw new FHIRException("Unknown RequestIntent code '"+codeString+"'");
14226        }
14227        public static boolean isValidCode(String codeString) {
14228            if (codeString == null || "".equals(codeString))
14229                return false;
14230          return Utilities.existsInList(codeString, "proposal", "plan", "directive", "order", "original-order", "reflex-order", "filler-order", "instance-order", "option");
14231        }
14232        public String toCode() {
14233          switch (this) {
14234            case PROPOSAL: return "proposal";
14235            case PLAN: return "plan";
14236            case DIRECTIVE: return "directive";
14237            case ORDER: return "order";
14238            case ORIGINALORDER: return "original-order";
14239            case REFLEXORDER: return "reflex-order";
14240            case FILLERORDER: return "filler-order";
14241            case INSTANCEORDER: return "instance-order";
14242            case OPTION: return "option";
14243            case NULL: return null;
14244            default: return "?";
14245          }
14246        }
14247        public String getSystem() {
14248          switch (this) {
14249            case PROPOSAL: return "http://hl7.org/fhir/request-intent";
14250            case PLAN: return "http://hl7.org/fhir/request-intent";
14251            case DIRECTIVE: return "http://hl7.org/fhir/request-intent";
14252            case ORDER: return "http://hl7.org/fhir/request-intent";
14253            case ORIGINALORDER: return "http://hl7.org/fhir/request-intent";
14254            case REFLEXORDER: return "http://hl7.org/fhir/request-intent";
14255            case FILLERORDER: return "http://hl7.org/fhir/request-intent";
14256            case INSTANCEORDER: return "http://hl7.org/fhir/request-intent";
14257            case OPTION: return "http://hl7.org/fhir/request-intent";
14258            case NULL: return null;
14259            default: return "?";
14260          }
14261        }
14262        public String getDefinition() {
14263          switch (this) {
14264            case PROPOSAL: return "The request is a suggestion made by someone/something that does not have an intention to ensure it occurs and without providing an authorization to act.";
14265            case PLAN: return "The request represents an intention to ensure something occurs without providing an authorization for others to act.";
14266            case DIRECTIVE: return "The request represents a legally binding instruction authored by a Patient or RelatedPerson.";
14267            case ORDER: return "The request represents a request/demand and authorization for action by the requestor.";
14268            case ORIGINALORDER: return "The request represents an original authorization for action.";
14269            case REFLEXORDER: return "The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization.";
14270            case FILLERORDER: return "The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order.";
14271            case INSTANCEORDER: return "An order created in fulfillment of a broader order that represents the authorization for a single activity occurrence.  E.g. The administration of a single dose of a drug.";
14272            case OPTION: return "The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests.  Refer to [[[RequestOrchestration]]] for additional information on how this status is used.";
14273            case NULL: return null;
14274            default: return "?";
14275          }
14276        }
14277        public String getDisplay() {
14278          switch (this) {
14279            case PROPOSAL: return "Proposal";
14280            case PLAN: return "Plan";
14281            case DIRECTIVE: return "Directive";
14282            case ORDER: return "Order";
14283            case ORIGINALORDER: return "Original Order";
14284            case REFLEXORDER: return "Reflex Order";
14285            case FILLERORDER: return "Filler Order";
14286            case INSTANCEORDER: return "Instance Order";
14287            case OPTION: return "Option";
14288            case NULL: return null;
14289            default: return "?";
14290          }
14291        }
14292    }
14293
14294  public static class RequestIntentEnumFactory implements EnumFactory<RequestIntent> {
14295    public RequestIntent fromCode(String codeString) throws IllegalArgumentException {
14296      if (codeString == null || "".equals(codeString))
14297            if (codeString == null || "".equals(codeString))
14298                return null;
14299        if ("proposal".equals(codeString))
14300          return RequestIntent.PROPOSAL;
14301        if ("plan".equals(codeString))
14302          return RequestIntent.PLAN;
14303        if ("directive".equals(codeString))
14304          return RequestIntent.DIRECTIVE;
14305        if ("order".equals(codeString))
14306          return RequestIntent.ORDER;
14307        if ("original-order".equals(codeString))
14308          return RequestIntent.ORIGINALORDER;
14309        if ("reflex-order".equals(codeString))
14310          return RequestIntent.REFLEXORDER;
14311        if ("filler-order".equals(codeString))
14312          return RequestIntent.FILLERORDER;
14313        if ("instance-order".equals(codeString))
14314          return RequestIntent.INSTANCEORDER;
14315        if ("option".equals(codeString))
14316          return RequestIntent.OPTION;
14317        throw new IllegalArgumentException("Unknown RequestIntent code '"+codeString+"'");
14318        }
14319
14320        public Enumeration<RequestIntent> fromType(PrimitiveType<?> code) throws FHIRException {
14321          if (code == null)
14322            return null;
14323          if (code.isEmpty())
14324            return new Enumeration<RequestIntent>(this, RequestIntent.NULL, code);
14325          String codeString = ((PrimitiveType) code).asStringValue();
14326          if (codeString == null || "".equals(codeString))
14327            return new Enumeration<RequestIntent>(this, RequestIntent.NULL, code);
14328        if ("proposal".equals(codeString))
14329          return new Enumeration<RequestIntent>(this, RequestIntent.PROPOSAL, code);
14330        if ("plan".equals(codeString))
14331          return new Enumeration<RequestIntent>(this, RequestIntent.PLAN, code);
14332        if ("directive".equals(codeString))
14333          return new Enumeration<RequestIntent>(this, RequestIntent.DIRECTIVE, code);
14334        if ("order".equals(codeString))
14335          return new Enumeration<RequestIntent>(this, RequestIntent.ORDER, code);
14336        if ("original-order".equals(codeString))
14337          return new Enumeration<RequestIntent>(this, RequestIntent.ORIGINALORDER, code);
14338        if ("reflex-order".equals(codeString))
14339          return new Enumeration<RequestIntent>(this, RequestIntent.REFLEXORDER, code);
14340        if ("filler-order".equals(codeString))
14341          return new Enumeration<RequestIntent>(this, RequestIntent.FILLERORDER, code);
14342        if ("instance-order".equals(codeString))
14343          return new Enumeration<RequestIntent>(this, RequestIntent.INSTANCEORDER, code);
14344        if ("option".equals(codeString))
14345          return new Enumeration<RequestIntent>(this, RequestIntent.OPTION, code);
14346        throw new FHIRException("Unknown RequestIntent code '"+codeString+"'");
14347        }
14348    public String toCode(RequestIntent code) {
14349       if (code == RequestIntent.NULL)
14350           return null;
14351       if (code == RequestIntent.PROPOSAL)
14352        return "proposal";
14353      if (code == RequestIntent.PLAN)
14354        return "plan";
14355      if (code == RequestIntent.DIRECTIVE)
14356        return "directive";
14357      if (code == RequestIntent.ORDER)
14358        return "order";
14359      if (code == RequestIntent.ORIGINALORDER)
14360        return "original-order";
14361      if (code == RequestIntent.REFLEXORDER)
14362        return "reflex-order";
14363      if (code == RequestIntent.FILLERORDER)
14364        return "filler-order";
14365      if (code == RequestIntent.INSTANCEORDER)
14366        return "instance-order";
14367      if (code == RequestIntent.OPTION)
14368        return "option";
14369      return "?";
14370   }
14371    public String toSystem(RequestIntent code) {
14372      return code.getSystem();
14373      }
14374    }
14375
14376    public enum RequestPriority {
14377        /**
14378         * The request has normal priority.
14379         */
14380        ROUTINE, 
14381        /**
14382         * The request should be actioned promptly - higher priority than routine.
14383         */
14384        URGENT, 
14385        /**
14386         * The request should be actioned as soon as possible - higher priority than urgent.
14387         */
14388        ASAP, 
14389        /**
14390         * The request should be actioned immediately - highest possible priority.  E.g. an emergency.
14391         */
14392        STAT, 
14393        /**
14394         * added to help the parsers
14395         */
14396        NULL;
14397        public static RequestPriority fromCode(String codeString) throws FHIRException {
14398            if (codeString == null || "".equals(codeString))
14399                return null;
14400        if ("routine".equals(codeString))
14401          return ROUTINE;
14402        if ("urgent".equals(codeString))
14403          return URGENT;
14404        if ("asap".equals(codeString))
14405          return ASAP;
14406        if ("stat".equals(codeString))
14407          return STAT;
14408        throw new FHIRException("Unknown RequestPriority code '"+codeString+"'");
14409        }
14410        public static boolean isValidCode(String codeString) {
14411            if (codeString == null || "".equals(codeString))
14412                return false;
14413          return Utilities.existsInList(codeString, "routine", "urgent", "asap", "stat");
14414        }
14415        public String toCode() {
14416          switch (this) {
14417            case ROUTINE: return "routine";
14418            case URGENT: return "urgent";
14419            case ASAP: return "asap";
14420            case STAT: return "stat";
14421            case NULL: return null;
14422            default: return "?";
14423          }
14424        }
14425        public String getSystem() {
14426          switch (this) {
14427            case ROUTINE: return "http://hl7.org/fhir/request-priority";
14428            case URGENT: return "http://hl7.org/fhir/request-priority";
14429            case ASAP: return "http://hl7.org/fhir/request-priority";
14430            case STAT: return "http://hl7.org/fhir/request-priority";
14431            case NULL: return null;
14432            default: return "?";
14433          }
14434        }
14435        public String getDefinition() {
14436          switch (this) {
14437            case ROUTINE: return "The request has normal priority.";
14438            case URGENT: return "The request should be actioned promptly - higher priority than routine.";
14439            case ASAP: return "The request should be actioned as soon as possible - higher priority than urgent.";
14440            case STAT: return "The request should be actioned immediately - highest possible priority.  E.g. an emergency.";
14441            case NULL: return null;
14442            default: return "?";
14443          }
14444        }
14445        public String getDisplay() {
14446          switch (this) {
14447            case ROUTINE: return "Routine";
14448            case URGENT: return "Urgent";
14449            case ASAP: return "ASAP";
14450            case STAT: return "STAT";
14451            case NULL: return null;
14452            default: return "?";
14453          }
14454        }
14455    }
14456
14457  public static class RequestPriorityEnumFactory implements EnumFactory<RequestPriority> {
14458    public RequestPriority fromCode(String codeString) throws IllegalArgumentException {
14459      if (codeString == null || "".equals(codeString))
14460            if (codeString == null || "".equals(codeString))
14461                return null;
14462        if ("routine".equals(codeString))
14463          return RequestPriority.ROUTINE;
14464        if ("urgent".equals(codeString))
14465          return RequestPriority.URGENT;
14466        if ("asap".equals(codeString))
14467          return RequestPriority.ASAP;
14468        if ("stat".equals(codeString))
14469          return RequestPriority.STAT;
14470        throw new IllegalArgumentException("Unknown RequestPriority code '"+codeString+"'");
14471        }
14472
14473        public Enumeration<RequestPriority> fromType(PrimitiveType<?> code) throws FHIRException {
14474          if (code == null)
14475            return null;
14476          if (code.isEmpty())
14477            return new Enumeration<RequestPriority>(this, RequestPriority.NULL, code);
14478          String codeString = ((PrimitiveType) code).asStringValue();
14479          if (codeString == null || "".equals(codeString))
14480            return new Enumeration<RequestPriority>(this, RequestPriority.NULL, code);
14481        if ("routine".equals(codeString))
14482          return new Enumeration<RequestPriority>(this, RequestPriority.ROUTINE, code);
14483        if ("urgent".equals(codeString))
14484          return new Enumeration<RequestPriority>(this, RequestPriority.URGENT, code);
14485        if ("asap".equals(codeString))
14486          return new Enumeration<RequestPriority>(this, RequestPriority.ASAP, code);
14487        if ("stat".equals(codeString))
14488          return new Enumeration<RequestPriority>(this, RequestPriority.STAT, code);
14489        throw new FHIRException("Unknown RequestPriority code '"+codeString+"'");
14490        }
14491    public String toCode(RequestPriority code) {
14492       if (code == RequestPriority.NULL)
14493           return null;
14494       if (code == RequestPriority.ROUTINE)
14495        return "routine";
14496      if (code == RequestPriority.URGENT)
14497        return "urgent";
14498      if (code == RequestPriority.ASAP)
14499        return "asap";
14500      if (code == RequestPriority.STAT)
14501        return "stat";
14502      return "?";
14503   }
14504    public String toSystem(RequestPriority code) {
14505      return code.getSystem();
14506      }
14507    }
14508
14509    public enum RequestStatus {
14510        /**
14511         * The request has been created but is not yet complete or ready for action.
14512         */
14513        DRAFT, 
14514        /**
14515         * The request is in force and ready to be acted upon.
14516         */
14517        ACTIVE, 
14518        /**
14519         * The request (and any implicit authorization to act) has been temporarily withdrawn but is expected to resume in the future.
14520         */
14521        ONHOLD, 
14522        /**
14523         * The request (and any implicit authorization to act) has been terminated prior to the known full completion of the intended actions.  No further activity should occur.
14524         */
14525        REVOKED, 
14526        /**
14527         * The activity described by the request has been fully performed.  No further activity will occur.
14528         */
14529        COMPLETED, 
14530        /**
14531         * This request should never have existed and should be considered 'void'.  (It is possible that real-world decisions were based on it.  If real-world activity has occurred, the status should be "revoked" rather than "entered-in-error".).
14532         */
14533        ENTEREDINERROR, 
14534        /**
14535         * The authoring/source system does not know which of the status values currently applies for this request.  Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply,  but the authoring/source system does not know which.
14536         */
14537        UNKNOWN, 
14538        /**
14539         * added to help the parsers
14540         */
14541        NULL;
14542        public static RequestStatus fromCode(String codeString) throws FHIRException {
14543            if (codeString == null || "".equals(codeString))
14544                return null;
14545        if ("draft".equals(codeString))
14546          return DRAFT;
14547        if ("active".equals(codeString))
14548          return ACTIVE;
14549        if ("on-hold".equals(codeString))
14550          return ONHOLD;
14551        if ("revoked".equals(codeString))
14552          return REVOKED;
14553        if ("completed".equals(codeString))
14554          return COMPLETED;
14555        if ("entered-in-error".equals(codeString))
14556          return ENTEREDINERROR;
14557        if ("unknown".equals(codeString))
14558          return UNKNOWN;
14559        throw new FHIRException("Unknown RequestStatus code '"+codeString+"'");
14560        }
14561        public static boolean isValidCode(String codeString) {
14562            if (codeString == null || "".equals(codeString))
14563                return false;
14564          return Utilities.existsInList(codeString, "draft", "active", "on-hold", "revoked", "completed", "entered-in-error", "unknown");
14565        }
14566        public String toCode() {
14567          switch (this) {
14568            case DRAFT: return "draft";
14569            case ACTIVE: return "active";
14570            case ONHOLD: return "on-hold";
14571            case REVOKED: return "revoked";
14572            case COMPLETED: return "completed";
14573            case ENTEREDINERROR: return "entered-in-error";
14574            case UNKNOWN: return "unknown";
14575            case NULL: return null;
14576            default: return "?";
14577          }
14578        }
14579        public String getSystem() {
14580          switch (this) {
14581            case DRAFT: return "http://hl7.org/fhir/request-status";
14582            case ACTIVE: return "http://hl7.org/fhir/request-status";
14583            case ONHOLD: return "http://hl7.org/fhir/request-status";
14584            case REVOKED: return "http://hl7.org/fhir/request-status";
14585            case COMPLETED: return "http://hl7.org/fhir/request-status";
14586            case ENTEREDINERROR: return "http://hl7.org/fhir/request-status";
14587            case UNKNOWN: return "http://hl7.org/fhir/request-status";
14588            case NULL: return null;
14589            default: return "?";
14590          }
14591        }
14592        public String getDefinition() {
14593          switch (this) {
14594            case DRAFT: return "The request has been created but is not yet complete or ready for action.";
14595            case ACTIVE: return "The request is in force and ready to be acted upon.";
14596            case ONHOLD: return "The request (and any implicit authorization to act) has been temporarily withdrawn but is expected to resume in the future.";
14597            case REVOKED: return "The request (and any implicit authorization to act) has been terminated prior to the known full completion of the intended actions.  No further activity should occur.";
14598            case COMPLETED: return "The activity described by the request has been fully performed.  No further activity will occur.";
14599            case ENTEREDINERROR: return "This request should never have existed and should be considered 'void'.  (It is possible that real-world decisions were based on it.  If real-world activity has occurred, the status should be \"revoked\" rather than \"entered-in-error\".).";
14600            case UNKNOWN: return "The authoring/source system does not know which of the status values currently applies for this request.  Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply,  but the authoring/source system does not know which.";
14601            case NULL: return null;
14602            default: return "?";
14603          }
14604        }
14605        public String getDisplay() {
14606          switch (this) {
14607            case DRAFT: return "Draft";
14608            case ACTIVE: return "Active";
14609            case ONHOLD: return "On Hold";
14610            case REVOKED: return "Revoked";
14611            case COMPLETED: return "Completed";
14612            case ENTEREDINERROR: return "Entered in Error";
14613            case UNKNOWN: return "Unknown";
14614            case NULL: return null;
14615            default: return "?";
14616          }
14617        }
14618    }
14619
14620  public static class RequestStatusEnumFactory implements EnumFactory<RequestStatus> {
14621    public RequestStatus fromCode(String codeString) throws IllegalArgumentException {
14622      if (codeString == null || "".equals(codeString))
14623            if (codeString == null || "".equals(codeString))
14624                return null;
14625        if ("draft".equals(codeString))
14626          return RequestStatus.DRAFT;
14627        if ("active".equals(codeString))
14628          return RequestStatus.ACTIVE;
14629        if ("on-hold".equals(codeString))
14630          return RequestStatus.ONHOLD;
14631        if ("revoked".equals(codeString))
14632          return RequestStatus.REVOKED;
14633        if ("completed".equals(codeString))
14634          return RequestStatus.COMPLETED;
14635        if ("entered-in-error".equals(codeString))
14636          return RequestStatus.ENTEREDINERROR;
14637        if ("unknown".equals(codeString))
14638          return RequestStatus.UNKNOWN;
14639        throw new IllegalArgumentException("Unknown RequestStatus code '"+codeString+"'");
14640        }
14641
14642        public Enumeration<RequestStatus> fromType(PrimitiveType<?> code) throws FHIRException {
14643          if (code == null)
14644            return null;
14645          if (code.isEmpty())
14646            return new Enumeration<RequestStatus>(this, RequestStatus.NULL, code);
14647          String codeString = ((PrimitiveType) code).asStringValue();
14648          if (codeString == null || "".equals(codeString))
14649            return new Enumeration<RequestStatus>(this, RequestStatus.NULL, code);
14650        if ("draft".equals(codeString))
14651          return new Enumeration<RequestStatus>(this, RequestStatus.DRAFT, code);
14652        if ("active".equals(codeString))
14653          return new Enumeration<RequestStatus>(this, RequestStatus.ACTIVE, code);
14654        if ("on-hold".equals(codeString))
14655          return new Enumeration<RequestStatus>(this, RequestStatus.ONHOLD, code);
14656        if ("revoked".equals(codeString))
14657          return new Enumeration<RequestStatus>(this, RequestStatus.REVOKED, code);
14658        if ("completed".equals(codeString))
14659          return new Enumeration<RequestStatus>(this, RequestStatus.COMPLETED, code);
14660        if ("entered-in-error".equals(codeString))
14661          return new Enumeration<RequestStatus>(this, RequestStatus.ENTEREDINERROR, code);
14662        if ("unknown".equals(codeString))
14663          return new Enumeration<RequestStatus>(this, RequestStatus.UNKNOWN, code);
14664        throw new FHIRException("Unknown RequestStatus code '"+codeString+"'");
14665        }
14666    public String toCode(RequestStatus code) {
14667       if (code == RequestStatus.NULL)
14668           return null;
14669       if (code == RequestStatus.DRAFT)
14670        return "draft";
14671      if (code == RequestStatus.ACTIVE)
14672        return "active";
14673      if (code == RequestStatus.ONHOLD)
14674        return "on-hold";
14675      if (code == RequestStatus.REVOKED)
14676        return "revoked";
14677      if (code == RequestStatus.COMPLETED)
14678        return "completed";
14679      if (code == RequestStatus.ENTEREDINERROR)
14680        return "entered-in-error";
14681      if (code == RequestStatus.UNKNOWN)
14682        return "unknown";
14683      return "?";
14684   }
14685    public String toSystem(RequestStatus code) {
14686      return code.getSystem();
14687      }
14688    }
14689
14690    public enum ResourceTypeEnum {
14691        /**
14692         * 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.
14693         */
14694        ACCOUNT, 
14695        /**
14696         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
14697         */
14698        ACTIVITYDEFINITION, 
14699        /**
14700         * The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.
14701         */
14702        ACTORDEFINITION, 
14703        /**
14704         * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed).
14705         */
14706        ADMINISTRABLEPRODUCTDEFINITION, 
14707        /**
14708         * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research participant. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical  research trial management.  Adverse events can be reported by healthcare providers, patients, caregivers or by medical products manufacturers.  Given the differences between these two concepts, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints.
14709         */
14710        ADVERSEEVENT, 
14711        /**
14712         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
14713         */
14714        ALLERGYINTOLERANCE, 
14715        /**
14716         * 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).
14717         */
14718        APPOINTMENT, 
14719        /**
14720         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
14721         */
14722        APPOINTMENTRESPONSE, 
14723        /**
14724         * This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content.
14725         */
14726        ARTIFACTASSESSMENT, 
14727        /**
14728         * A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis.
14729         */
14730        AUDITEVENT, 
14731        /**
14732         * 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.
14733         */
14734        BASIC, 
14735        /**
14736         * 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.
14737         */
14738        BINARY, 
14739        /**
14740         * A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity.
14741         */
14742        BIOLOGICALLYDERIVEDPRODUCT, 
14743        /**
14744         * A record of dispensation of a biologically derived product.
14745         */
14746        BIOLOGICALLYDERIVEDPRODUCTDISPENSE, 
14747        /**
14748         * 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.
14749         */
14750        BODYSTRUCTURE, 
14751        /**
14752         * A container for a collection of resources.
14753         */
14754        BUNDLE, 
14755        /**
14756         * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client 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.
14757         */
14758        CAPABILITYSTATEMENT, 
14759        /**
14760         * 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.
14761         */
14762        CAREPLAN, 
14763        /**
14764         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care.
14765         */
14766        CARETEAM, 
14767        /**
14768         * 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.
14769         */
14770        CHARGEITEM, 
14771        /**
14772         * 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.
14773         */
14774        CHARGEITEMDEFINITION, 
14775        /**
14776         * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources.
14777         */
14778        CITATION, 
14779        /**
14780         * 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.
14781         */
14782        CLAIM, 
14783        /**
14784         * This resource provides the adjudication details from the processing of a Claim resource.
14785         */
14786        CLAIMRESPONSE, 
14787        /**
14788         * 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.
14789         */
14790        CLINICALIMPRESSION, 
14791        /**
14792         * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure.
14793         */
14794        CLINICALUSEDEFINITION, 
14795        /**
14796         * 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.
14797         */
14798        CODESYSTEM, 
14799        /**
14800         * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition.
14801         */
14802        COMMUNICATION, 
14803        /**
14804         * 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.
14805         */
14806        COMMUNICATIONREQUEST, 
14807        /**
14808         * A compartment definition that defines how resources are accessed on a server.
14809         */
14810        COMPARTMENTDEFINITION, 
14811        /**
14812         * 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.).
14813         */
14814        COMPOSITION, 
14815        /**
14816         * 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.
14817         */
14818        CONCEPTMAP, 
14819        /**
14820         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
14821         */
14822        CONDITION, 
14823        /**
14824         * A definition of a condition and information relevant to managing it.
14825         */
14826        CONDITIONDEFINITION, 
14827        /**
14828         * A record of a healthcare consumer?s  choices  or choices made on their behalf by a third party, 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.
14829         */
14830        CONSENT, 
14831        /**
14832         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
14833         */
14834        CONTRACT, 
14835        /**
14836         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
14837         */
14838        COVERAGE, 
14839        /**
14840         * 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.
14841         */
14842        COVERAGEELIGIBILITYREQUEST, 
14843        /**
14844         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
14845         */
14846        COVERAGEELIGIBILITYRESPONSE, 
14847        /**
14848         * 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, gaps in care, etc.
14849         */
14850        DETECTEDISSUE, 
14851        /**
14852         * This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc.), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element.
14853         */
14854        DEVICE, 
14855        /**
14856         * A record of association of a device.
14857         */
14858        DEVICEASSOCIATION, 
14859        /**
14860         * This is a specialized resource that defines the characteristics and capabilities of a device.
14861         */
14862        DEVICEDEFINITION, 
14863        /**
14864         * Indicates that a device is to be or has been dispensed for a named person/patient.  This includes a description of the product (supply) provided and the instructions for using the device.
14865         */
14866        DEVICEDISPENSE, 
14867        /**
14868         * Describes a measurement, calculation or setting capability of a device.  The DeviceMetric resource is derived from the ISO/IEEE 11073-10201 Domain Information Model standard, but is more widely applicable. 
14869         */
14870        DEVICEMETRIC, 
14871        /**
14872         * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used.
14873         */
14874        DEVICEREQUEST, 
14875        /**
14876         * A record of a device being used by a patient where the record is the result of a report from the patient or a clinician.
14877         */
14878        DEVICEUSAGE, 
14879        /**
14880         * The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances.
14881         */
14882        DIAGNOSTICREPORT, 
14883        /**
14884         * A reference to a document of any kind for any purpose. While the term ?document? implies a more narrow focus, for this resource this ?document? encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare.  The DocumentReference resource provides metadata about the document so that the document can be discovered and managed.  The actual content may be inline base64 encoded data or provided by direct reference.
14885         */
14886        DOCUMENTREFERENCE, 
14887        /**
14888         * An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s).
14889         */
14890        ENCOUNTER, 
14891        /**
14892         * A record of significant events/milestones key data throughout the history of an Encounter
14893         */
14894        ENCOUNTERHISTORY, 
14895        /**
14896         * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.
14897         */
14898        ENDPOINT, 
14899        /**
14900         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
14901         */
14902        ENROLLMENTREQUEST, 
14903        /**
14904         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
14905         */
14906        ENROLLMENTRESPONSE, 
14907        /**
14908         * 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.
14909         */
14910        EPISODEOFCARE, 
14911        /**
14912         * The EventDefinition resource provides a reusable description of when a particular event can occur.
14913         */
14914        EVENTDEFINITION, 
14915        /**
14916         * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence.
14917         */
14918        EVIDENCE, 
14919        /**
14920         * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts.
14921         */
14922        EVIDENCEREPORT, 
14923        /**
14924         * The EvidenceVariable resource describes an element that knowledge (Evidence) is about.
14925         */
14926        EVIDENCEVARIABLE, 
14927        /**
14928         * A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.
14929         */
14930        EXAMPLESCENARIO, 
14931        /**
14932         * 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.
14933         */
14934        EXPLANATIONOFBENEFIT, 
14935        /**
14936         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
14937         */
14938        FAMILYMEMBERHISTORY, 
14939        /**
14940         * Prospective warnings of potential issues when providing care to the patient.
14941         */
14942        FLAG, 
14943        /**
14944         * This resource describes a product or service that is available through a program and includes the conditions and constraints of availability.  All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself.
14945         */
14946        FORMULARYITEM, 
14947        /**
14948         * A set of analyses performed to analyze and generate genomic data.
14949         */
14950        GENOMICSTUDY, 
14951        /**
14952         * 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.
14953         */
14954        GOAL, 
14955        /**
14956         * 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.
14957         */
14958        GRAPHDEFINITION, 
14959        /**
14960         * 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.
14961         */
14962        GROUP, 
14963        /**
14964         * 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.
14965         */
14966        GUIDANCERESPONSE, 
14967        /**
14968         * The details of a healthcare service available at a location or in a catalog.  In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices.
14969         */
14970        HEALTHCARESERVICE, 
14971        /**
14972         * A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource.
14973         */
14974        IMAGINGSELECTION, 
14975        /**
14976         * 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.
14977         */
14978        IMAGINGSTUDY, 
14979        /**
14980         * 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.
14981         */
14982        IMMUNIZATION, 
14983        /**
14984         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
14985         */
14986        IMMUNIZATIONEVALUATION, 
14987        /**
14988         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
14989         */
14990        IMMUNIZATIONRECOMMENDATION, 
14991        /**
14992         * 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.
14993         */
14994        IMPLEMENTATIONGUIDE, 
14995        /**
14996         * An ingredient of a manufactured item or pharmaceutical product.
14997         */
14998        INGREDIENT, 
14999        /**
15000         * Details of a Health Insurance product/plan provided by an organization.
15001         */
15002        INSURANCEPLAN, 
15003        /**
15004         * functional description of an inventory item used in inventory and supply-related workflows.
15005         */
15006        INVENTORYITEM, 
15007        /**
15008         * A report of inventory or stock items.
15009         */
15010        INVENTORYREPORT, 
15011        /**
15012         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
15013         */
15014        INVOICE, 
15015        /**
15016         * 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.
15017         */
15018        LIBRARY, 
15019        /**
15020         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
15021         */
15022        LINKAGE, 
15023        /**
15024         * A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc.
15025         */
15026        LIST, 
15027        /**
15028         * Details and position information for a place where services are provided and resources and participants may be stored, found, contained, or accommodated.
15029         */
15030        LOCATION, 
15031        /**
15032         * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.
15033         */
15034        MANUFACTUREDITEMDEFINITION, 
15035        /**
15036         * The Measure resource provides the definition of a quality measure.
15037         */
15038        MEASURE, 
15039        /**
15040         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
15041         */
15042        MEASUREREPORT, 
15043        /**
15044         * This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.
15045         */
15046        MEDICATION, 
15047        /**
15048         * 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. This event can also be used to record waste using a status of not-done and the appropriate statusReason.
15049         */
15050        MEDICATIONADMINISTRATION, 
15051        /**
15052         * 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.
15053         */
15054        MEDICATIONDISPENSE, 
15055        /**
15056         * Information about a medication that is used to support knowledge.
15057         */
15058        MEDICATIONKNOWLEDGE, 
15059        /**
15060         * 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.
15061         */
15062        MEDICATIONREQUEST, 
15063        /**
15064         * 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. 
15065
15066The primary difference between a medicationstatement and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medicationstatement 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.
15067         */
15068        MEDICATIONSTATEMENT, 
15069        /**
15070         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.).
15071         */
15072        MEDICINALPRODUCTDEFINITION, 
15073        /**
15074         * 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.
15075         */
15076        MESSAGEDEFINITION, 
15077        /**
15078         * 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.
15079         */
15080        MESSAGEHEADER, 
15081        /**
15082         * Representation of a molecular sequence.
15083         */
15084        MOLECULARSEQUENCE, 
15085        /**
15086         * 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.
15087         */
15088        NAMINGSYSTEM, 
15089        /**
15090         * A record of food or fluid that is being consumed by a patient.  A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past.  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 or through an app that tracks food or fluids consumed.   The consumption information may come from sources such as the patient's memory, from a nutrition label,  or from a clinician documenting observed intake.
15091         */
15092        NUTRITIONINTAKE, 
15093        /**
15094         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
15095         */
15096        NUTRITIONORDER, 
15097        /**
15098         * A food or supplement that is consumed by patients.
15099         */
15100        NUTRITIONPRODUCT, 
15101        /**
15102         * Measurements and simple assertions made about a patient, device or other subject.
15103         */
15104        OBSERVATION, 
15105        /**
15106         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
15107         */
15108        OBSERVATIONDEFINITION, 
15109        /**
15110         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
15111         */
15112        OPERATIONDEFINITION, 
15113        /**
15114         * A collection of error, warning, or information messages that result from a system action.
15115         */
15116        OPERATIONOUTCOME, 
15117        /**
15118         * 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.
15119         */
15120        ORGANIZATION, 
15121        /**
15122         * Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship.
15123         */
15124        ORGANIZATIONAFFILIATION, 
15125        /**
15126         * A medically related item or items, in a container or package.
15127         */
15128        PACKAGEDPRODUCTDEFINITION, 
15129        /**
15130         * This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment).  It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource.
15131         */
15132        PARAMETERS, 
15133        /**
15134         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
15135         */
15136        PATIENT, 
15137        /**
15138         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
15139         */
15140        PAYMENTNOTICE, 
15141        /**
15142         * This resource provides the details including amount of a payment and allocates the payment items being paid.
15143         */
15144        PAYMENTRECONCILIATION, 
15145        /**
15146         * Permission resource holds access rules for a given data and context.
15147         */
15148        PERMISSION, 
15149        /**
15150         * Demographics and administrative information about a person independent of a specific health-related context.
15151         */
15152        PERSON, 
15153        /**
15154         * 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 and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.
15155         */
15156        PLANDEFINITION, 
15157        /**
15158         * A person who is directly or indirectly involved in the provisioning of healthcare or related services.
15159         */
15160        PRACTITIONER, 
15161        /**
15162         * A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time.
15163         */
15164        PRACTITIONERROLE, 
15165        /**
15166         * An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy.  This can be a quality or safety inspection for a location, organization, or device.  This can be an accreditation procedure on a practitioner for licensing.
15167         */
15168        PROCEDURE, 
15169        /**
15170         * 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.
15171         */
15172        PROVENANCE, 
15173        /**
15174         * 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.
15175         */
15176        QUESTIONNAIRE, 
15177        /**
15178         * 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.
15179         */
15180        QUESTIONNAIRERESPONSE, 
15181        /**
15182         * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product.
15183         */
15184        REGULATEDAUTHORIZATION, 
15185        /**
15186         * Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.
15187         */
15188        RELATEDPERSON, 
15189        /**
15190         * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one".
15191         */
15192        REQUESTORCHESTRATION, 
15193        /**
15194         * The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.
15195         */
15196        REQUIREMENTS, 
15197        /**
15198         * A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future.
15199         */
15200        RESEARCHSTUDY, 
15201        /**
15202         * A ResearchSubject is a participant or object which is the recipient of investigative activities in a research study.
15203         */
15204        RESEARCHSUBJECT, 
15205        /**
15206         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
15207         */
15208        RISKASSESSMENT, 
15209        /**
15210         * A container for slots of time that may be available for booking appointments.
15211         */
15212        SCHEDULE, 
15213        /**
15214         * A search parameter that defines a named search item that can be used to search/filter on a resource.
15215         */
15216        SEARCHPARAMETER, 
15217        /**
15218         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
15219         */
15220        SERVICEREQUEST, 
15221        /**
15222         * A slot of time on a schedule that may be available for booking appointments.
15223         */
15224        SLOT, 
15225        /**
15226         * A sample to be used for analysis.
15227         */
15228        SPECIMEN, 
15229        /**
15230         * A kind of specimen with associated set of requirements.
15231         */
15232        SPECIMENDEFINITION, 
15233        /**
15234         * 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.
15235         */
15236        STRUCTUREDEFINITION, 
15237        /**
15238         * A Map of relationships between 2 structures that can be used to transform data.
15239         */
15240        STRUCTUREMAP, 
15241        /**
15242         * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic.
15243         */
15244        SUBSCRIPTION, 
15245        /**
15246         * The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted.
15247         */
15248        SUBSCRIPTIONSTATUS, 
15249        /**
15250         * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic.
15251         */
15252        SUBSCRIPTIONTOPIC, 
15253        /**
15254         * A homogeneous material with a definite composition.
15255         */
15256        SUBSTANCE, 
15257        /**
15258         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
15259         */
15260        SUBSTANCEDEFINITION, 
15261        /**
15262         * 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.
15263         */
15264        SUBSTANCENUCLEICACID, 
15265        /**
15266         * Properties of a substance specific to it being a polymer.
15267         */
15268        SUBSTANCEPOLYMER, 
15269        /**
15270         * 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.
15271         */
15272        SUBSTANCEPROTEIN, 
15273        /**
15274         * Todo.
15275         */
15276        SUBSTANCEREFERENCEINFORMATION, 
15277        /**
15278         * 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.
15279         */
15280        SUBSTANCESOURCEMATERIAL, 
15281        /**
15282         * Record of delivery of what is supplied.
15283         */
15284        SUPPLYDELIVERY, 
15285        /**
15286         * A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.
15287         */
15288        SUPPLYREQUEST, 
15289        /**
15290         * A task to be performed.
15291         */
15292        TASK, 
15293        /**
15294         * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
15295         */
15296        TERMINOLOGYCAPABILITIES, 
15297        /**
15298         * A plan for executing testing on an artifact or specifications
15299         */
15300        TESTPLAN, 
15301        /**
15302         * A summary of information based on the results of executing a TestScript.
15303         */
15304        TESTREPORT, 
15305        /**
15306         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
15307         */
15308        TESTSCRIPT, 
15309        /**
15310         * Record of transport.
15311         */
15312        TRANSPORT, 
15313        /**
15314         * 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).
15315         */
15316        VALUESET, 
15317        /**
15318         * Describes validation requirements, source(s), status and dates for one or more elements.
15319         */
15320        VERIFICATIONRESULT, 
15321        /**
15322         * An authorization for the provision of glasses and/or contact lenses to a patient.
15323         */
15324        VISIONPRESCRIPTION, 
15325        /**
15326         * added to help the parsers
15327         */
15328        NULL;
15329        public static ResourceTypeEnum fromCode(String codeString) throws FHIRException {
15330            if (codeString == null || "".equals(codeString))
15331                return null;
15332        if ("Account".equals(codeString))
15333          return ACCOUNT;
15334        if ("ActivityDefinition".equals(codeString))
15335          return ACTIVITYDEFINITION;
15336        if ("ActorDefinition".equals(codeString))
15337          return ACTORDEFINITION;
15338        if ("AdministrableProductDefinition".equals(codeString))
15339          return ADMINISTRABLEPRODUCTDEFINITION;
15340        if ("AdverseEvent".equals(codeString))
15341          return ADVERSEEVENT;
15342        if ("AllergyIntolerance".equals(codeString))
15343          return ALLERGYINTOLERANCE;
15344        if ("Appointment".equals(codeString))
15345          return APPOINTMENT;
15346        if ("AppointmentResponse".equals(codeString))
15347          return APPOINTMENTRESPONSE;
15348        if ("ArtifactAssessment".equals(codeString))
15349          return ARTIFACTASSESSMENT;
15350        if ("AuditEvent".equals(codeString))
15351          return AUDITEVENT;
15352        if ("Basic".equals(codeString))
15353          return BASIC;
15354        if ("Binary".equals(codeString))
15355          return BINARY;
15356        if ("BiologicallyDerivedProduct".equals(codeString))
15357          return BIOLOGICALLYDERIVEDPRODUCT;
15358        if ("BiologicallyDerivedProductDispense".equals(codeString))
15359          return BIOLOGICALLYDERIVEDPRODUCTDISPENSE;
15360        if ("BodyStructure".equals(codeString))
15361          return BODYSTRUCTURE;
15362        if ("Bundle".equals(codeString))
15363          return BUNDLE;
15364        if ("CapabilityStatement".equals(codeString))
15365          return CAPABILITYSTATEMENT;
15366        if ("CarePlan".equals(codeString))
15367          return CAREPLAN;
15368        if ("CareTeam".equals(codeString))
15369          return CARETEAM;
15370        if ("ChargeItem".equals(codeString))
15371          return CHARGEITEM;
15372        if ("ChargeItemDefinition".equals(codeString))
15373          return CHARGEITEMDEFINITION;
15374        if ("Citation".equals(codeString))
15375          return CITATION;
15376        if ("Claim".equals(codeString))
15377          return CLAIM;
15378        if ("ClaimResponse".equals(codeString))
15379          return CLAIMRESPONSE;
15380        if ("ClinicalImpression".equals(codeString))
15381          return CLINICALIMPRESSION;
15382        if ("ClinicalUseDefinition".equals(codeString))
15383          return CLINICALUSEDEFINITION;
15384        if ("CodeSystem".equals(codeString))
15385          return CODESYSTEM;
15386        if ("Communication".equals(codeString))
15387          return COMMUNICATION;
15388        if ("CommunicationRequest".equals(codeString))
15389          return COMMUNICATIONREQUEST;
15390        if ("CompartmentDefinition".equals(codeString))
15391          return COMPARTMENTDEFINITION;
15392        if ("Composition".equals(codeString))
15393          return COMPOSITION;
15394        if ("ConceptMap".equals(codeString))
15395          return CONCEPTMAP;
15396        if ("Condition".equals(codeString))
15397          return CONDITION;
15398        if ("ConditionDefinition".equals(codeString))
15399          return CONDITIONDEFINITION;
15400        if ("Consent".equals(codeString))
15401          return CONSENT;
15402        if ("Contract".equals(codeString))
15403          return CONTRACT;
15404        if ("Coverage".equals(codeString))
15405          return COVERAGE;
15406        if ("CoverageEligibilityRequest".equals(codeString))
15407          return COVERAGEELIGIBILITYREQUEST;
15408        if ("CoverageEligibilityResponse".equals(codeString))
15409          return COVERAGEELIGIBILITYRESPONSE;
15410        if ("DetectedIssue".equals(codeString))
15411          return DETECTEDISSUE;
15412        if ("Device".equals(codeString))
15413          return DEVICE;
15414        if ("DeviceAssociation".equals(codeString))
15415          return DEVICEASSOCIATION;
15416        if ("DeviceDefinition".equals(codeString))
15417          return DEVICEDEFINITION;
15418        if ("DeviceDispense".equals(codeString))
15419          return DEVICEDISPENSE;
15420        if ("DeviceMetric".equals(codeString))
15421          return DEVICEMETRIC;
15422        if ("DeviceRequest".equals(codeString))
15423          return DEVICEREQUEST;
15424        if ("DeviceUsage".equals(codeString))
15425          return DEVICEUSAGE;
15426        if ("DiagnosticReport".equals(codeString))
15427          return DIAGNOSTICREPORT;
15428        if ("DocumentReference".equals(codeString))
15429          return DOCUMENTREFERENCE;
15430        if ("Encounter".equals(codeString))
15431          return ENCOUNTER;
15432        if ("EncounterHistory".equals(codeString))
15433          return ENCOUNTERHISTORY;
15434        if ("Endpoint".equals(codeString))
15435          return ENDPOINT;
15436        if ("EnrollmentRequest".equals(codeString))
15437          return ENROLLMENTREQUEST;
15438        if ("EnrollmentResponse".equals(codeString))
15439          return ENROLLMENTRESPONSE;
15440        if ("EpisodeOfCare".equals(codeString))
15441          return EPISODEOFCARE;
15442        if ("EventDefinition".equals(codeString))
15443          return EVENTDEFINITION;
15444        if ("Evidence".equals(codeString))
15445          return EVIDENCE;
15446        if ("EvidenceReport".equals(codeString))
15447          return EVIDENCEREPORT;
15448        if ("EvidenceVariable".equals(codeString))
15449          return EVIDENCEVARIABLE;
15450        if ("ExampleScenario".equals(codeString))
15451          return EXAMPLESCENARIO;
15452        if ("ExplanationOfBenefit".equals(codeString))
15453          return EXPLANATIONOFBENEFIT;
15454        if ("FamilyMemberHistory".equals(codeString))
15455          return FAMILYMEMBERHISTORY;
15456        if ("Flag".equals(codeString))
15457          return FLAG;
15458        if ("FormularyItem".equals(codeString))
15459          return FORMULARYITEM;
15460        if ("GenomicStudy".equals(codeString))
15461          return GENOMICSTUDY;
15462        if ("Goal".equals(codeString))
15463          return GOAL;
15464        if ("GraphDefinition".equals(codeString))
15465          return GRAPHDEFINITION;
15466        if ("Group".equals(codeString))
15467          return GROUP;
15468        if ("GuidanceResponse".equals(codeString))
15469          return GUIDANCERESPONSE;
15470        if ("HealthcareService".equals(codeString))
15471          return HEALTHCARESERVICE;
15472        if ("ImagingSelection".equals(codeString))
15473          return IMAGINGSELECTION;
15474        if ("ImagingStudy".equals(codeString))
15475          return IMAGINGSTUDY;
15476        if ("Immunization".equals(codeString))
15477          return IMMUNIZATION;
15478        if ("ImmunizationEvaluation".equals(codeString))
15479          return IMMUNIZATIONEVALUATION;
15480        if ("ImmunizationRecommendation".equals(codeString))
15481          return IMMUNIZATIONRECOMMENDATION;
15482        if ("ImplementationGuide".equals(codeString))
15483          return IMPLEMENTATIONGUIDE;
15484        if ("Ingredient".equals(codeString))
15485          return INGREDIENT;
15486        if ("InsurancePlan".equals(codeString))
15487          return INSURANCEPLAN;
15488        if ("InventoryItem".equals(codeString))
15489          return INVENTORYITEM;
15490        if ("InventoryReport".equals(codeString))
15491          return INVENTORYREPORT;
15492        if ("Invoice".equals(codeString))
15493          return INVOICE;
15494        if ("Library".equals(codeString))
15495          return LIBRARY;
15496        if ("Linkage".equals(codeString))
15497          return LINKAGE;
15498        if ("List".equals(codeString))
15499          return LIST;
15500        if ("Location".equals(codeString))
15501          return LOCATION;
15502        if ("ManufacturedItemDefinition".equals(codeString))
15503          return MANUFACTUREDITEMDEFINITION;
15504        if ("Measure".equals(codeString))
15505          return MEASURE;
15506        if ("MeasureReport".equals(codeString))
15507          return MEASUREREPORT;
15508        if ("Medication".equals(codeString))
15509          return MEDICATION;
15510        if ("MedicationAdministration".equals(codeString))
15511          return MEDICATIONADMINISTRATION;
15512        if ("MedicationDispense".equals(codeString))
15513          return MEDICATIONDISPENSE;
15514        if ("MedicationKnowledge".equals(codeString))
15515          return MEDICATIONKNOWLEDGE;
15516        if ("MedicationRequest".equals(codeString))
15517          return MEDICATIONREQUEST;
15518        if ("MedicationStatement".equals(codeString))
15519          return MEDICATIONSTATEMENT;
15520        if ("MedicinalProductDefinition".equals(codeString))
15521          return MEDICINALPRODUCTDEFINITION;
15522        if ("MessageDefinition".equals(codeString))
15523          return MESSAGEDEFINITION;
15524        if ("MessageHeader".equals(codeString))
15525          return MESSAGEHEADER;
15526        if ("MolecularSequence".equals(codeString))
15527          return MOLECULARSEQUENCE;
15528        if ("NamingSystem".equals(codeString))
15529          return NAMINGSYSTEM;
15530        if ("NutritionIntake".equals(codeString))
15531          return NUTRITIONINTAKE;
15532        if ("NutritionOrder".equals(codeString))
15533          return NUTRITIONORDER;
15534        if ("NutritionProduct".equals(codeString))
15535          return NUTRITIONPRODUCT;
15536        if ("Observation".equals(codeString))
15537          return OBSERVATION;
15538        if ("ObservationDefinition".equals(codeString))
15539          return OBSERVATIONDEFINITION;
15540        if ("OperationDefinition".equals(codeString))
15541          return OPERATIONDEFINITION;
15542        if ("OperationOutcome".equals(codeString))
15543          return OPERATIONOUTCOME;
15544        if ("Organization".equals(codeString))
15545          return ORGANIZATION;
15546        if ("OrganizationAffiliation".equals(codeString))
15547          return ORGANIZATIONAFFILIATION;
15548        if ("PackagedProductDefinition".equals(codeString))
15549          return PACKAGEDPRODUCTDEFINITION;
15550        if ("Parameters".equals(codeString))
15551          return PARAMETERS;
15552        if ("Patient".equals(codeString))
15553          return PATIENT;
15554        if ("PaymentNotice".equals(codeString))
15555          return PAYMENTNOTICE;
15556        if ("PaymentReconciliation".equals(codeString))
15557          return PAYMENTRECONCILIATION;
15558        if ("Permission".equals(codeString))
15559          return PERMISSION;
15560        if ("Person".equals(codeString))
15561          return PERSON;
15562        if ("PlanDefinition".equals(codeString))
15563          return PLANDEFINITION;
15564        if ("Practitioner".equals(codeString))
15565          return PRACTITIONER;
15566        if ("PractitionerRole".equals(codeString))
15567          return PRACTITIONERROLE;
15568        if ("Procedure".equals(codeString))
15569          return PROCEDURE;
15570        if ("Provenance".equals(codeString))
15571          return PROVENANCE;
15572        if ("Questionnaire".equals(codeString))
15573          return QUESTIONNAIRE;
15574        if ("QuestionnaireResponse".equals(codeString))
15575          return QUESTIONNAIRERESPONSE;
15576        if ("RegulatedAuthorization".equals(codeString))
15577          return REGULATEDAUTHORIZATION;
15578        if ("RelatedPerson".equals(codeString))
15579          return RELATEDPERSON;
15580        if ("RequestOrchestration".equals(codeString))
15581          return REQUESTORCHESTRATION;
15582        if ("Requirements".equals(codeString))
15583          return REQUIREMENTS;
15584        if ("ResearchStudy".equals(codeString))
15585          return RESEARCHSTUDY;
15586        if ("ResearchSubject".equals(codeString))
15587          return RESEARCHSUBJECT;
15588        if ("RiskAssessment".equals(codeString))
15589          return RISKASSESSMENT;
15590        if ("Schedule".equals(codeString))
15591          return SCHEDULE;
15592        if ("SearchParameter".equals(codeString))
15593          return SEARCHPARAMETER;
15594        if ("ServiceRequest".equals(codeString))
15595          return SERVICEREQUEST;
15596        if ("Slot".equals(codeString))
15597          return SLOT;
15598        if ("Specimen".equals(codeString))
15599          return SPECIMEN;
15600        if ("SpecimenDefinition".equals(codeString))
15601          return SPECIMENDEFINITION;
15602        if ("StructureDefinition".equals(codeString))
15603          return STRUCTUREDEFINITION;
15604        if ("StructureMap".equals(codeString))
15605          return STRUCTUREMAP;
15606        if ("Subscription".equals(codeString))
15607          return SUBSCRIPTION;
15608        if ("SubscriptionStatus".equals(codeString))
15609          return SUBSCRIPTIONSTATUS;
15610        if ("SubscriptionTopic".equals(codeString))
15611          return SUBSCRIPTIONTOPIC;
15612        if ("Substance".equals(codeString))
15613          return SUBSTANCE;
15614        if ("SubstanceDefinition".equals(codeString))
15615          return SUBSTANCEDEFINITION;
15616        if ("SubstanceNucleicAcid".equals(codeString))
15617          return SUBSTANCENUCLEICACID;
15618        if ("SubstancePolymer".equals(codeString))
15619          return SUBSTANCEPOLYMER;
15620        if ("SubstanceProtein".equals(codeString))
15621          return SUBSTANCEPROTEIN;
15622        if ("SubstanceReferenceInformation".equals(codeString))
15623          return SUBSTANCEREFERENCEINFORMATION;
15624        if ("SubstanceSourceMaterial".equals(codeString))
15625          return SUBSTANCESOURCEMATERIAL;
15626        if ("SupplyDelivery".equals(codeString))
15627          return SUPPLYDELIVERY;
15628        if ("SupplyRequest".equals(codeString))
15629          return SUPPLYREQUEST;
15630        if ("Task".equals(codeString))
15631          return TASK;
15632        if ("TerminologyCapabilities".equals(codeString))
15633          return TERMINOLOGYCAPABILITIES;
15634        if ("TestPlan".equals(codeString))
15635          return TESTPLAN;
15636        if ("TestReport".equals(codeString))
15637          return TESTREPORT;
15638        if ("TestScript".equals(codeString))
15639          return TESTSCRIPT;
15640        if ("Transport".equals(codeString))
15641          return TRANSPORT;
15642        if ("ValueSet".equals(codeString))
15643          return VALUESET;
15644        if ("VerificationResult".equals(codeString))
15645          return VERIFICATIONRESULT;
15646        if ("VisionPrescription".equals(codeString))
15647          return VISIONPRESCRIPTION;
15648        throw new FHIRException("Unknown ResourceTypeEnum code '"+codeString+"'");
15649        }
15650        public static boolean isValidCode(String codeString) {
15651            if (codeString == null || "".equals(codeString))
15652                return false;
15653          return Utilities.existsInList(codeString, "Account", "ActivityDefinition", "ActorDefinition", "AdministrableProductDefinition", "AdverseEvent", "AllergyIntolerance", "Appointment", "AppointmentResponse", "ArtifactAssessment", "AuditEvent", "Basic", "Binary", "BiologicallyDerivedProduct", "BiologicallyDerivedProductDispense", "BodyStructure", "Bundle", "CapabilityStatement", "CarePlan", "CareTeam", "ChargeItem", "ChargeItemDefinition", "Citation", "Claim", "ClaimResponse", "ClinicalImpression", "ClinicalUseDefinition", "CodeSystem", "Communication", "CommunicationRequest", "CompartmentDefinition", "Composition", "ConceptMap", "Condition", "ConditionDefinition", "Consent", "Contract", "Coverage", "CoverageEligibilityRequest", "CoverageEligibilityResponse", "DetectedIssue", "Device", "DeviceAssociation", "DeviceDefinition", "DeviceDispense", "DeviceMetric", "DeviceRequest", "DeviceUsage", "DiagnosticReport", "DocumentReference", "Encounter", "EncounterHistory", "Endpoint", "EnrollmentRequest", "EnrollmentResponse", "EpisodeOfCare", "EventDefinition", "Evidence", "EvidenceReport", "EvidenceVariable", "ExampleScenario", "ExplanationOfBenefit", "FamilyMemberHistory", "Flag", "FormularyItem", "GenomicStudy", "Goal", "GraphDefinition", "Group", "GuidanceResponse", "HealthcareService", "ImagingSelection", "ImagingStudy", "Immunization", "ImmunizationEvaluation", "ImmunizationRecommendation", "ImplementationGuide", "Ingredient", "InsurancePlan", "InventoryItem", "InventoryReport", "Invoice", "Library", "Linkage", "List", "Location", "ManufacturedItemDefinition", "Measure", "MeasureReport", "Medication", "MedicationAdministration", "MedicationDispense", "MedicationKnowledge", "MedicationRequest", "MedicationStatement", "MedicinalProductDefinition", "MessageDefinition", "MessageHeader", "MolecularSequence", "NamingSystem", "NutritionIntake", "NutritionOrder", "NutritionProduct", "Observation", "ObservationDefinition", "OperationDefinition", "OperationOutcome", "Organization", "OrganizationAffiliation", "PackagedProductDefinition", "Parameters", "Patient", "PaymentNotice", "PaymentReconciliation", "Permission", "Person", "PlanDefinition", "Practitioner", "PractitionerRole", "Procedure", "Provenance", "Questionnaire", "QuestionnaireResponse", "RegulatedAuthorization", "RelatedPerson", "RequestOrchestration", "Requirements", "ResearchStudy", "ResearchSubject", "RiskAssessment", "Schedule", "SearchParameter", "ServiceRequest", "Slot", "Specimen", "SpecimenDefinition", "StructureDefinition", "StructureMap", "Subscription", "SubscriptionStatus", "SubscriptionTopic", "Substance", "SubstanceDefinition", "SubstanceNucleicAcid", "SubstancePolymer", "SubstanceProtein", "SubstanceReferenceInformation", "SubstanceSourceMaterial", "SupplyDelivery", "SupplyRequest", "Task", "TerminologyCapabilities", "TestPlan", "TestReport", "TestScript", "Transport", "ValueSet", "VerificationResult", "VisionPrescription");
15654        }
15655        public String toCode() {
15656          switch (this) {
15657            case ACCOUNT: return "Account";
15658            case ACTIVITYDEFINITION: return "ActivityDefinition";
15659            case ACTORDEFINITION: return "ActorDefinition";
15660            case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition";
15661            case ADVERSEEVENT: return "AdverseEvent";
15662            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
15663            case APPOINTMENT: return "Appointment";
15664            case APPOINTMENTRESPONSE: return "AppointmentResponse";
15665            case ARTIFACTASSESSMENT: return "ArtifactAssessment";
15666            case AUDITEVENT: return "AuditEvent";
15667            case BASIC: return "Basic";
15668            case BINARY: return "Binary";
15669            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
15670            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "BiologicallyDerivedProductDispense";
15671            case BODYSTRUCTURE: return "BodyStructure";
15672            case BUNDLE: return "Bundle";
15673            case CAPABILITYSTATEMENT: return "CapabilityStatement";
15674            case CAREPLAN: return "CarePlan";
15675            case CARETEAM: return "CareTeam";
15676            case CHARGEITEM: return "ChargeItem";
15677            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
15678            case CITATION: return "Citation";
15679            case CLAIM: return "Claim";
15680            case CLAIMRESPONSE: return "ClaimResponse";
15681            case CLINICALIMPRESSION: return "ClinicalImpression";
15682            case CLINICALUSEDEFINITION: return "ClinicalUseDefinition";
15683            case CODESYSTEM: return "CodeSystem";
15684            case COMMUNICATION: return "Communication";
15685            case COMMUNICATIONREQUEST: return "CommunicationRequest";
15686            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
15687            case COMPOSITION: return "Composition";
15688            case CONCEPTMAP: return "ConceptMap";
15689            case CONDITION: return "Condition";
15690            case CONDITIONDEFINITION: return "ConditionDefinition";
15691            case CONSENT: return "Consent";
15692            case CONTRACT: return "Contract";
15693            case COVERAGE: return "Coverage";
15694            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
15695            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
15696            case DETECTEDISSUE: return "DetectedIssue";
15697            case DEVICE: return "Device";
15698            case DEVICEASSOCIATION: return "DeviceAssociation";
15699            case DEVICEDEFINITION: return "DeviceDefinition";
15700            case DEVICEDISPENSE: return "DeviceDispense";
15701            case DEVICEMETRIC: return "DeviceMetric";
15702            case DEVICEREQUEST: return "DeviceRequest";
15703            case DEVICEUSAGE: return "DeviceUsage";
15704            case DIAGNOSTICREPORT: return "DiagnosticReport";
15705            case DOCUMENTREFERENCE: return "DocumentReference";
15706            case ENCOUNTER: return "Encounter";
15707            case ENCOUNTERHISTORY: return "EncounterHistory";
15708            case ENDPOINT: return "Endpoint";
15709            case ENROLLMENTREQUEST: return "EnrollmentRequest";
15710            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
15711            case EPISODEOFCARE: return "EpisodeOfCare";
15712            case EVENTDEFINITION: return "EventDefinition";
15713            case EVIDENCE: return "Evidence";
15714            case EVIDENCEREPORT: return "EvidenceReport";
15715            case EVIDENCEVARIABLE: return "EvidenceVariable";
15716            case EXAMPLESCENARIO: return "ExampleScenario";
15717            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
15718            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
15719            case FLAG: return "Flag";
15720            case FORMULARYITEM: return "FormularyItem";
15721            case GENOMICSTUDY: return "GenomicStudy";
15722            case GOAL: return "Goal";
15723            case GRAPHDEFINITION: return "GraphDefinition";
15724            case GROUP: return "Group";
15725            case GUIDANCERESPONSE: return "GuidanceResponse";
15726            case HEALTHCARESERVICE: return "HealthcareService";
15727            case IMAGINGSELECTION: return "ImagingSelection";
15728            case IMAGINGSTUDY: return "ImagingStudy";
15729            case IMMUNIZATION: return "Immunization";
15730            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
15731            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
15732            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
15733            case INGREDIENT: return "Ingredient";
15734            case INSURANCEPLAN: return "InsurancePlan";
15735            case INVENTORYITEM: return "InventoryItem";
15736            case INVENTORYREPORT: return "InventoryReport";
15737            case INVOICE: return "Invoice";
15738            case LIBRARY: return "Library";
15739            case LINKAGE: return "Linkage";
15740            case LIST: return "List";
15741            case LOCATION: return "Location";
15742            case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition";
15743            case MEASURE: return "Measure";
15744            case MEASUREREPORT: return "MeasureReport";
15745            case MEDICATION: return "Medication";
15746            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
15747            case MEDICATIONDISPENSE: return "MedicationDispense";
15748            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
15749            case MEDICATIONREQUEST: return "MedicationRequest";
15750            case MEDICATIONSTATEMENT: return "MedicationStatement";
15751            case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition";
15752            case MESSAGEDEFINITION: return "MessageDefinition";
15753            case MESSAGEHEADER: return "MessageHeader";
15754            case MOLECULARSEQUENCE: return "MolecularSequence";
15755            case NAMINGSYSTEM: return "NamingSystem";
15756            case NUTRITIONINTAKE: return "NutritionIntake";
15757            case NUTRITIONORDER: return "NutritionOrder";
15758            case NUTRITIONPRODUCT: return "NutritionProduct";
15759            case OBSERVATION: return "Observation";
15760            case OBSERVATIONDEFINITION: return "ObservationDefinition";
15761            case OPERATIONDEFINITION: return "OperationDefinition";
15762            case OPERATIONOUTCOME: return "OperationOutcome";
15763            case ORGANIZATION: return "Organization";
15764            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
15765            case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition";
15766            case PARAMETERS: return "Parameters";
15767            case PATIENT: return "Patient";
15768            case PAYMENTNOTICE: return "PaymentNotice";
15769            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
15770            case PERMISSION: return "Permission";
15771            case PERSON: return "Person";
15772            case PLANDEFINITION: return "PlanDefinition";
15773            case PRACTITIONER: return "Practitioner";
15774            case PRACTITIONERROLE: return "PractitionerRole";
15775            case PROCEDURE: return "Procedure";
15776            case PROVENANCE: return "Provenance";
15777            case QUESTIONNAIRE: return "Questionnaire";
15778            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
15779            case REGULATEDAUTHORIZATION: return "RegulatedAuthorization";
15780            case RELATEDPERSON: return "RelatedPerson";
15781            case REQUESTORCHESTRATION: return "RequestOrchestration";
15782            case REQUIREMENTS: return "Requirements";
15783            case RESEARCHSTUDY: return "ResearchStudy";
15784            case RESEARCHSUBJECT: return "ResearchSubject";
15785            case RISKASSESSMENT: return "RiskAssessment";
15786            case SCHEDULE: return "Schedule";
15787            case SEARCHPARAMETER: return "SearchParameter";
15788            case SERVICEREQUEST: return "ServiceRequest";
15789            case SLOT: return "Slot";
15790            case SPECIMEN: return "Specimen";
15791            case SPECIMENDEFINITION: return "SpecimenDefinition";
15792            case STRUCTUREDEFINITION: return "StructureDefinition";
15793            case STRUCTUREMAP: return "StructureMap";
15794            case SUBSCRIPTION: return "Subscription";
15795            case SUBSCRIPTIONSTATUS: return "SubscriptionStatus";
15796            case SUBSCRIPTIONTOPIC: return "SubscriptionTopic";
15797            case SUBSTANCE: return "Substance";
15798            case SUBSTANCEDEFINITION: return "SubstanceDefinition";
15799            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
15800            case SUBSTANCEPOLYMER: return "SubstancePolymer";
15801            case SUBSTANCEPROTEIN: return "SubstanceProtein";
15802            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
15803            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
15804            case SUPPLYDELIVERY: return "SupplyDelivery";
15805            case SUPPLYREQUEST: return "SupplyRequest";
15806            case TASK: return "Task";
15807            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
15808            case TESTPLAN: return "TestPlan";
15809            case TESTREPORT: return "TestReport";
15810            case TESTSCRIPT: return "TestScript";
15811            case TRANSPORT: return "Transport";
15812            case VALUESET: return "ValueSet";
15813            case VERIFICATIONRESULT: return "VerificationResult";
15814            case VISIONPRESCRIPTION: return "VisionPrescription";
15815            case NULL: return null;
15816            default: return "?";
15817          }
15818        }
15819        public String getSystem() {
15820          switch (this) {
15821            case ACCOUNT: return "http://hl7.org/fhir/fhir-types";
15822            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/fhir-types";
15823            case ACTORDEFINITION: return "http://hl7.org/fhir/fhir-types";
15824            case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
15825            case ADVERSEEVENT: return "http://hl7.org/fhir/fhir-types";
15826            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/fhir-types";
15827            case APPOINTMENT: return "http://hl7.org/fhir/fhir-types";
15828            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/fhir-types";
15829            case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/fhir-types";
15830            case AUDITEVENT: return "http://hl7.org/fhir/fhir-types";
15831            case BASIC: return "http://hl7.org/fhir/fhir-types";
15832            case BINARY: return "http://hl7.org/fhir/fhir-types";
15833            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/fhir-types";
15834            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "http://hl7.org/fhir/fhir-types";
15835            case BODYSTRUCTURE: return "http://hl7.org/fhir/fhir-types";
15836            case BUNDLE: return "http://hl7.org/fhir/fhir-types";
15837            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/fhir-types";
15838            case CAREPLAN: return "http://hl7.org/fhir/fhir-types";
15839            case CARETEAM: return "http://hl7.org/fhir/fhir-types";
15840            case CHARGEITEM: return "http://hl7.org/fhir/fhir-types";
15841            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/fhir-types";
15842            case CITATION: return "http://hl7.org/fhir/fhir-types";
15843            case CLAIM: return "http://hl7.org/fhir/fhir-types";
15844            case CLAIMRESPONSE: return "http://hl7.org/fhir/fhir-types";
15845            case CLINICALIMPRESSION: return "http://hl7.org/fhir/fhir-types";
15846            case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/fhir-types";
15847            case CODESYSTEM: return "http://hl7.org/fhir/fhir-types";
15848            case COMMUNICATION: return "http://hl7.org/fhir/fhir-types";
15849            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types";
15850            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/fhir-types";
15851            case COMPOSITION: return "http://hl7.org/fhir/fhir-types";
15852            case CONCEPTMAP: return "http://hl7.org/fhir/fhir-types";
15853            case CONDITION: return "http://hl7.org/fhir/fhir-types";
15854            case CONDITIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
15855            case CONSENT: return "http://hl7.org/fhir/fhir-types";
15856            case CONTRACT: return "http://hl7.org/fhir/fhir-types";
15857            case COVERAGE: return "http://hl7.org/fhir/fhir-types";
15858            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-types";
15859            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/fhir-types";
15860            case DETECTEDISSUE: return "http://hl7.org/fhir/fhir-types";
15861            case DEVICE: return "http://hl7.org/fhir/fhir-types";
15862            case DEVICEASSOCIATION: return "http://hl7.org/fhir/fhir-types";
15863            case DEVICEDEFINITION: return "http://hl7.org/fhir/fhir-types";
15864            case DEVICEDISPENSE: return "http://hl7.org/fhir/fhir-types";
15865            case DEVICEMETRIC: return "http://hl7.org/fhir/fhir-types";
15866            case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types";
15867            case DEVICEUSAGE: return "http://hl7.org/fhir/fhir-types";
15868            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/fhir-types";
15869            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/fhir-types";
15870            case ENCOUNTER: return "http://hl7.org/fhir/fhir-types";
15871            case ENCOUNTERHISTORY: return "http://hl7.org/fhir/fhir-types";
15872            case ENDPOINT: return "http://hl7.org/fhir/fhir-types";
15873            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/fhir-types";
15874            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/fhir-types";
15875            case EPISODEOFCARE: return "http://hl7.org/fhir/fhir-types";
15876            case EVENTDEFINITION: return "http://hl7.org/fhir/fhir-types";
15877            case EVIDENCE: return "http://hl7.org/fhir/fhir-types";
15878            case EVIDENCEREPORT: return "http://hl7.org/fhir/fhir-types";
15879            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/fhir-types";
15880            case EXAMPLESCENARIO: return "http://hl7.org/fhir/fhir-types";
15881            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/fhir-types";
15882            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/fhir-types";
15883            case FLAG: return "http://hl7.org/fhir/fhir-types";
15884            case FORMULARYITEM: return "http://hl7.org/fhir/fhir-types";
15885            case GENOMICSTUDY: return "http://hl7.org/fhir/fhir-types";
15886            case GOAL: return "http://hl7.org/fhir/fhir-types";
15887            case GRAPHDEFINITION: return "http://hl7.org/fhir/fhir-types";
15888            case GROUP: return "http://hl7.org/fhir/fhir-types";
15889            case GUIDANCERESPONSE: return "http://hl7.org/fhir/fhir-types";
15890            case HEALTHCARESERVICE: return "http://hl7.org/fhir/fhir-types";
15891            case IMAGINGSELECTION: return "http://hl7.org/fhir/fhir-types";
15892            case IMAGINGSTUDY: return "http://hl7.org/fhir/fhir-types";
15893            case IMMUNIZATION: return "http://hl7.org/fhir/fhir-types";
15894            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/fhir-types";
15895            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/fhir-types";
15896            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/fhir-types";
15897            case INGREDIENT: return "http://hl7.org/fhir/fhir-types";
15898            case INSURANCEPLAN: return "http://hl7.org/fhir/fhir-types";
15899            case INVENTORYITEM: return "http://hl7.org/fhir/fhir-types";
15900            case INVENTORYREPORT: return "http://hl7.org/fhir/fhir-types";
15901            case INVOICE: return "http://hl7.org/fhir/fhir-types";
15902            case LIBRARY: return "http://hl7.org/fhir/fhir-types";
15903            case LINKAGE: return "http://hl7.org/fhir/fhir-types";
15904            case LIST: return "http://hl7.org/fhir/fhir-types";
15905            case LOCATION: return "http://hl7.org/fhir/fhir-types";
15906            case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/fhir-types";
15907            case MEASURE: return "http://hl7.org/fhir/fhir-types";
15908            case MEASUREREPORT: return "http://hl7.org/fhir/fhir-types";
15909            case MEDICATION: return "http://hl7.org/fhir/fhir-types";
15910            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/fhir-types";
15911            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/fhir-types";
15912            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/fhir-types";
15913            case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types";
15914            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/fhir-types";
15915            case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
15916            case MESSAGEDEFINITION: return "http://hl7.org/fhir/fhir-types";
15917            case MESSAGEHEADER: return "http://hl7.org/fhir/fhir-types";
15918            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/fhir-types";
15919            case NAMINGSYSTEM: return "http://hl7.org/fhir/fhir-types";
15920            case NUTRITIONINTAKE: return "http://hl7.org/fhir/fhir-types";
15921            case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types";
15922            case NUTRITIONPRODUCT: return "http://hl7.org/fhir/fhir-types";
15923            case OBSERVATION: return "http://hl7.org/fhir/fhir-types";
15924            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
15925            case OPERATIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
15926            case OPERATIONOUTCOME: return "http://hl7.org/fhir/fhir-types";
15927            case ORGANIZATION: return "http://hl7.org/fhir/fhir-types";
15928            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/fhir-types";
15929            case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
15930            case PARAMETERS: return "http://hl7.org/fhir/fhir-types";
15931            case PATIENT: return "http://hl7.org/fhir/fhir-types";
15932            case PAYMENTNOTICE: return "http://hl7.org/fhir/fhir-types";
15933            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/fhir-types";
15934            case PERMISSION: return "http://hl7.org/fhir/fhir-types";
15935            case PERSON: return "http://hl7.org/fhir/fhir-types";
15936            case PLANDEFINITION: return "http://hl7.org/fhir/fhir-types";
15937            case PRACTITIONER: return "http://hl7.org/fhir/fhir-types";
15938            case PRACTITIONERROLE: return "http://hl7.org/fhir/fhir-types";
15939            case PROCEDURE: return "http://hl7.org/fhir/fhir-types";
15940            case PROVENANCE: return "http://hl7.org/fhir/fhir-types";
15941            case QUESTIONNAIRE: return "http://hl7.org/fhir/fhir-types";
15942            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/fhir-types";
15943            case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/fhir-types";
15944            case RELATEDPERSON: return "http://hl7.org/fhir/fhir-types";
15945            case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types";
15946            case REQUIREMENTS: return "http://hl7.org/fhir/fhir-types";
15947            case RESEARCHSTUDY: return "http://hl7.org/fhir/fhir-types";
15948            case RESEARCHSUBJECT: return "http://hl7.org/fhir/fhir-types";
15949            case RISKASSESSMENT: return "http://hl7.org/fhir/fhir-types";
15950            case SCHEDULE: return "http://hl7.org/fhir/fhir-types";
15951            case SEARCHPARAMETER: return "http://hl7.org/fhir/fhir-types";
15952            case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types";
15953            case SLOT: return "http://hl7.org/fhir/fhir-types";
15954            case SPECIMEN: return "http://hl7.org/fhir/fhir-types";
15955            case SPECIMENDEFINITION: return "http://hl7.org/fhir/fhir-types";
15956            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/fhir-types";
15957            case STRUCTUREMAP: return "http://hl7.org/fhir/fhir-types";
15958            case SUBSCRIPTION: return "http://hl7.org/fhir/fhir-types";
15959            case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/fhir-types";
15960            case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/fhir-types";
15961            case SUBSTANCE: return "http://hl7.org/fhir/fhir-types";
15962            case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/fhir-types";
15963            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/fhir-types";
15964            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/fhir-types";
15965            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/fhir-types";
15966            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/fhir-types";
15967            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/fhir-types";
15968            case SUPPLYDELIVERY: return "http://hl7.org/fhir/fhir-types";
15969            case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types";
15970            case TASK: return "http://hl7.org/fhir/fhir-types";
15971            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/fhir-types";
15972            case TESTPLAN: return "http://hl7.org/fhir/fhir-types";
15973            case TESTREPORT: return "http://hl7.org/fhir/fhir-types";
15974            case TESTSCRIPT: return "http://hl7.org/fhir/fhir-types";
15975            case TRANSPORT: return "http://hl7.org/fhir/fhir-types";
15976            case VALUESET: return "http://hl7.org/fhir/fhir-types";
15977            case VERIFICATIONRESULT: return "http://hl7.org/fhir/fhir-types";
15978            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types";
15979            case NULL: return null;
15980            default: return "?";
15981          }
15982        }
15983        public String getDefinition() {
15984          switch (this) {
15985            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.";
15986            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.";
15987            case ACTORDEFINITION: return "The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.";
15988            case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed).";
15989            case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research participant. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical  research trial management.  Adverse events can be reported by healthcare providers, patients, caregivers or by medical products manufacturers.  Given the differences between these two concepts, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints.";
15990            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
15991            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).";
15992            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
15993            case ARTIFACTASSESSMENT: return "This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content.";
15994            case AUDITEVENT: return "A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis.";
15995            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.";
15996            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.";
15997            case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity.";
15998            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "A record of dispensation of a biologically derived product.";
15999            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.";
16000            case BUNDLE: return "A container for a collection of resources.";
16001            case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client 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.";
16002            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.";
16003            case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care.";
16004            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.";
16005            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.";
16006            case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources.";
16007            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.";
16008            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
16009            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.";
16010            case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure.";
16011            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.";
16012            case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition.";
16013            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.";
16014            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
16015            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.).";
16016            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.";
16017            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
16018            case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it.";
16019            case CONSENT: return "A record of a healthcare consumer?s  choices  or choices made on their behalf by a third party, 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.";
16020            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
16021            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.";
16022            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.";
16023            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
16024            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, gaps in care, etc.";
16025            case DEVICE: return "This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc.), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element.";
16026            case DEVICEASSOCIATION: return "A record of association of a device.";
16027            case DEVICEDEFINITION: return "This is a specialized resource that defines the characteristics and capabilities of a device.";
16028            case DEVICEDISPENSE: return "Indicates that a device is to be or has been dispensed for a named person/patient.  This includes a description of the product (supply) provided and the instructions for using the device.";
16029            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a device.  The DeviceMetric resource is derived from the ISO/IEEE 11073-10201 Domain Information Model standard, but is more widely applicable. ";
16030            case DEVICEREQUEST: return "Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used.";
16031            case DEVICEUSAGE: return "A record of a device being used by a patient where the record is the result of a report from the patient or a clinician.";
16032            case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances.";
16033            case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term ?document? implies a more narrow focus, for this resource this ?document? encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare.  The DocumentReference resource provides metadata about the document so that the document can be discovered and managed.  The actual content may be inline base64 encoded data or provided by direct reference.";
16034            case ENCOUNTER: return "An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s).";
16035            case ENCOUNTERHISTORY: return "A record of significant events/milestones key data throughout the history of an Encounter";
16036            case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.";
16037            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
16038            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
16039            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.";
16040            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
16041            case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence.";
16042            case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts.";
16043            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about.";
16044            case EXAMPLESCENARIO: return "A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.";
16045            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.";
16046            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
16047            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
16048            case FORMULARYITEM: return "This resource describes a product or service that is available through a program and includes the conditions and constraints of availability.  All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself.";
16049            case GENOMICSTUDY: return "A set of analyses performed to analyze and generate genomic data.";
16050            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.";
16051            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.";
16052            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.";
16053            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.";
16054            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location or in a catalog.  In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices.";
16055            case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource.";
16056            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.";
16057            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.";
16058            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.";
16059            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
16060            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.";
16061            case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
16062            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
16063            case INVENTORYITEM: return "functional description of an inventory item used in inventory and supply-related workflows.";
16064            case INVENTORYREPORT: return "A report of inventory or stock items.";
16065            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
16066            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.";
16067            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
16068            case LIST: return "A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc.";
16069            case LOCATION: return "Details and position information for a place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
16070            case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.";
16071            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
16072            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.";
16073            case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.";
16074            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. This event can also be used to record waste using a status of not-done and the appropriate statusReason.";
16075            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.";
16076            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
16077            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.";
16078            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 medicationstatement and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medicationstatement 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.";
16079            case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.).";
16080            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.";
16081            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.";
16082            case MOLECULARSEQUENCE: return "Representation of a molecular sequence.";
16083            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.";
16084            case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient.  A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past.  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 or through an app that tracks food or fluids consumed.   The consumption information may come from sources such as the patient's memory, from a nutrition label,  or from a clinician documenting observed intake.";
16085            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
16086            case NUTRITIONPRODUCT: return "A food or supplement that is consumed by patients.";
16087            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
16088            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
16089            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
16090            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
16091            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.";
16092            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship.";
16093            case PACKAGEDPRODUCTDEFINITION: return "A medically related item or items, in a container or package.";
16094            case PARAMETERS: return "This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment).  It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource.";
16095            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
16096            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
16097            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
16098            case PERMISSION: return "Permission resource holds access rules for a given data and context.";
16099            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
16100            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 and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.";
16101            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare or related services.";
16102            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time.";
16103            case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy.  This can be a quality or safety inspection for a location, organization, or device.  This can be an accreditation procedure on a practitioner for licensing.";
16104            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.";
16105            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.";
16106            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.";
16107            case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product.";
16108            case RELATEDPERSON: return "Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.";
16109            case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".";
16110            case REQUIREMENTS: return "The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.";
16111            case RESEARCHSTUDY: return "A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future.";
16112            case RESEARCHSUBJECT: return "A ResearchSubject is a participant or object which is the recipient of investigative activities in a research study.";
16113            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
16114            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
16115            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
16116            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
16117            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
16118            case SPECIMEN: return "A sample to be used for analysis.";
16119            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
16120            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.";
16121            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
16122            case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic.";
16123            case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted.";
16124            case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic.";
16125            case SUBSTANCE: return "A homogeneous material with a definite composition.";
16126            case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
16127            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.";
16128            case SUBSTANCEPOLYMER: return "Properties of a substance specific to it being a polymer.";
16129            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.";
16130            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
16131            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.";
16132            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
16133            case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.";
16134            case TASK: return "A task to be performed.";
16135            case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
16136            case TESTPLAN: return "A plan for executing testing on an artifact or specifications";
16137            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
16138            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
16139            case TRANSPORT: return "Record of transport.";
16140            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).";
16141            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
16142            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
16143            case NULL: return null;
16144            default: return "?";
16145          }
16146        }
16147        public String getDisplay() {
16148          switch (this) {
16149            case ACCOUNT: return "Account";
16150            case ACTIVITYDEFINITION: return "ActivityDefinition";
16151            case ACTORDEFINITION: return "ActorDefinition";
16152            case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition";
16153            case ADVERSEEVENT: return "AdverseEvent";
16154            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
16155            case APPOINTMENT: return "Appointment";
16156            case APPOINTMENTRESPONSE: return "AppointmentResponse";
16157            case ARTIFACTASSESSMENT: return "ArtifactAssessment";
16158            case AUDITEVENT: return "AuditEvent";
16159            case BASIC: return "Basic";
16160            case BINARY: return "Binary";
16161            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
16162            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "BiologicallyDerivedProductDispense";
16163            case BODYSTRUCTURE: return "BodyStructure";
16164            case BUNDLE: return "Bundle";
16165            case CAPABILITYSTATEMENT: return "CapabilityStatement";
16166            case CAREPLAN: return "CarePlan";
16167            case CARETEAM: return "CareTeam";
16168            case CHARGEITEM: return "ChargeItem";
16169            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
16170            case CITATION: return "Citation";
16171            case CLAIM: return "Claim";
16172            case CLAIMRESPONSE: return "ClaimResponse";
16173            case CLINICALIMPRESSION: return "ClinicalImpression";
16174            case CLINICALUSEDEFINITION: return "ClinicalUseDefinition";
16175            case CODESYSTEM: return "CodeSystem";
16176            case COMMUNICATION: return "Communication";
16177            case COMMUNICATIONREQUEST: return "CommunicationRequest";
16178            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
16179            case COMPOSITION: return "Composition";
16180            case CONCEPTMAP: return "ConceptMap";
16181            case CONDITION: return "Condition";
16182            case CONDITIONDEFINITION: return "ConditionDefinition";
16183            case CONSENT: return "Consent";
16184            case CONTRACT: return "Contract";
16185            case COVERAGE: return "Coverage";
16186            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
16187            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
16188            case DETECTEDISSUE: return "DetectedIssue";
16189            case DEVICE: return "Device";
16190            case DEVICEASSOCIATION: return "DeviceAssociation";
16191            case DEVICEDEFINITION: return "DeviceDefinition";
16192            case DEVICEDISPENSE: return "DeviceDispense";
16193            case DEVICEMETRIC: return "DeviceMetric";
16194            case DEVICEREQUEST: return "DeviceRequest";
16195            case DEVICEUSAGE: return "DeviceUsage";
16196            case DIAGNOSTICREPORT: return "DiagnosticReport";
16197            case DOCUMENTREFERENCE: return "DocumentReference";
16198            case ENCOUNTER: return "Encounter";
16199            case ENCOUNTERHISTORY: return "EncounterHistory";
16200            case ENDPOINT: return "Endpoint";
16201            case ENROLLMENTREQUEST: return "EnrollmentRequest";
16202            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
16203            case EPISODEOFCARE: return "EpisodeOfCare";
16204            case EVENTDEFINITION: return "EventDefinition";
16205            case EVIDENCE: return "Evidence";
16206            case EVIDENCEREPORT: return "EvidenceReport";
16207            case EVIDENCEVARIABLE: return "EvidenceVariable";
16208            case EXAMPLESCENARIO: return "ExampleScenario";
16209            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
16210            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
16211            case FLAG: return "Flag";
16212            case FORMULARYITEM: return "FormularyItem";
16213            case GENOMICSTUDY: return "GenomicStudy";
16214            case GOAL: return "Goal";
16215            case GRAPHDEFINITION: return "GraphDefinition";
16216            case GROUP: return "Group";
16217            case GUIDANCERESPONSE: return "GuidanceResponse";
16218            case HEALTHCARESERVICE: return "HealthcareService";
16219            case IMAGINGSELECTION: return "ImagingSelection";
16220            case IMAGINGSTUDY: return "ImagingStudy";
16221            case IMMUNIZATION: return "Immunization";
16222            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
16223            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
16224            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
16225            case INGREDIENT: return "Ingredient";
16226            case INSURANCEPLAN: return "InsurancePlan";
16227            case INVENTORYITEM: return "InventoryItem";
16228            case INVENTORYREPORT: return "InventoryReport";
16229            case INVOICE: return "Invoice";
16230            case LIBRARY: return "Library";
16231            case LINKAGE: return "Linkage";
16232            case LIST: return "List";
16233            case LOCATION: return "Location";
16234            case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition";
16235            case MEASURE: return "Measure";
16236            case MEASUREREPORT: return "MeasureReport";
16237            case MEDICATION: return "Medication";
16238            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
16239            case MEDICATIONDISPENSE: return "MedicationDispense";
16240            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
16241            case MEDICATIONREQUEST: return "MedicationRequest";
16242            case MEDICATIONSTATEMENT: return "MedicationStatement";
16243            case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition";
16244            case MESSAGEDEFINITION: return "MessageDefinition";
16245            case MESSAGEHEADER: return "MessageHeader";
16246            case MOLECULARSEQUENCE: return "MolecularSequence";
16247            case NAMINGSYSTEM: return "NamingSystem";
16248            case NUTRITIONINTAKE: return "NutritionIntake";
16249            case NUTRITIONORDER: return "NutritionOrder";
16250            case NUTRITIONPRODUCT: return "NutritionProduct";
16251            case OBSERVATION: return "Observation";
16252            case OBSERVATIONDEFINITION: return "ObservationDefinition";
16253            case OPERATIONDEFINITION: return "OperationDefinition";
16254            case OPERATIONOUTCOME: return "OperationOutcome";
16255            case ORGANIZATION: return "Organization";
16256            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
16257            case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition";
16258            case PARAMETERS: return "Parameters";
16259            case PATIENT: return "Patient";
16260            case PAYMENTNOTICE: return "PaymentNotice";
16261            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
16262            case PERMISSION: return "Permission";
16263            case PERSON: return "Person";
16264            case PLANDEFINITION: return "PlanDefinition";
16265            case PRACTITIONER: return "Practitioner";
16266            case PRACTITIONERROLE: return "PractitionerRole";
16267            case PROCEDURE: return "Procedure";
16268            case PROVENANCE: return "Provenance";
16269            case QUESTIONNAIRE: return "Questionnaire";
16270            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
16271            case REGULATEDAUTHORIZATION: return "RegulatedAuthorization";
16272            case RELATEDPERSON: return "RelatedPerson";
16273            case REQUESTORCHESTRATION: return "RequestOrchestration";
16274            case REQUIREMENTS: return "Requirements";
16275            case RESEARCHSTUDY: return "ResearchStudy";
16276            case RESEARCHSUBJECT: return "ResearchSubject";
16277            case RISKASSESSMENT: return "RiskAssessment";
16278            case SCHEDULE: return "Schedule";
16279            case SEARCHPARAMETER: return "SearchParameter";
16280            case SERVICEREQUEST: return "ServiceRequest";
16281            case SLOT: return "Slot";
16282            case SPECIMEN: return "Specimen";
16283            case SPECIMENDEFINITION: return "SpecimenDefinition";
16284            case STRUCTUREDEFINITION: return "StructureDefinition";
16285            case STRUCTUREMAP: return "StructureMap";
16286            case SUBSCRIPTION: return "Subscription";
16287            case SUBSCRIPTIONSTATUS: return "SubscriptionStatus";
16288            case SUBSCRIPTIONTOPIC: return "SubscriptionTopic";
16289            case SUBSTANCE: return "Substance";
16290            case SUBSTANCEDEFINITION: return "SubstanceDefinition";
16291            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
16292            case SUBSTANCEPOLYMER: return "SubstancePolymer";
16293            case SUBSTANCEPROTEIN: return "SubstanceProtein";
16294            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
16295            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
16296            case SUPPLYDELIVERY: return "SupplyDelivery";
16297            case SUPPLYREQUEST: return "SupplyRequest";
16298            case TASK: return "Task";
16299            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
16300            case TESTPLAN: return "TestPlan";
16301            case TESTREPORT: return "TestReport";
16302            case TESTSCRIPT: return "TestScript";
16303            case TRANSPORT: return "Transport";
16304            case VALUESET: return "ValueSet";
16305            case VERIFICATIONRESULT: return "VerificationResult";
16306            case VISIONPRESCRIPTION: return "VisionPrescription";
16307            case NULL: return null;
16308            default: return "?";
16309          }
16310        }
16311    }
16312
16313  public static class ResourceTypeEnumEnumFactory implements EnumFactory<ResourceTypeEnum> {
16314    public ResourceTypeEnum fromCode(String codeString) throws IllegalArgumentException {
16315      if (codeString == null || "".equals(codeString))
16316            if (codeString == null || "".equals(codeString))
16317                return null;
16318        if ("Account".equals(codeString))
16319          return ResourceTypeEnum.ACCOUNT;
16320        if ("ActivityDefinition".equals(codeString))
16321          return ResourceTypeEnum.ACTIVITYDEFINITION;
16322        if ("ActorDefinition".equals(codeString))
16323          return ResourceTypeEnum.ACTORDEFINITION;
16324        if ("AdministrableProductDefinition".equals(codeString))
16325          return ResourceTypeEnum.ADMINISTRABLEPRODUCTDEFINITION;
16326        if ("AdverseEvent".equals(codeString))
16327          return ResourceTypeEnum.ADVERSEEVENT;
16328        if ("AllergyIntolerance".equals(codeString))
16329          return ResourceTypeEnum.ALLERGYINTOLERANCE;
16330        if ("Appointment".equals(codeString))
16331          return ResourceTypeEnum.APPOINTMENT;
16332        if ("AppointmentResponse".equals(codeString))
16333          return ResourceTypeEnum.APPOINTMENTRESPONSE;
16334        if ("ArtifactAssessment".equals(codeString))
16335          return ResourceTypeEnum.ARTIFACTASSESSMENT;
16336        if ("AuditEvent".equals(codeString))
16337          return ResourceTypeEnum.AUDITEVENT;
16338        if ("Basic".equals(codeString))
16339          return ResourceTypeEnum.BASIC;
16340        if ("Binary".equals(codeString))
16341          return ResourceTypeEnum.BINARY;
16342        if ("BiologicallyDerivedProduct".equals(codeString))
16343          return ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCT;
16344        if ("BiologicallyDerivedProductDispense".equals(codeString))
16345          return ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCTDISPENSE;
16346        if ("BodyStructure".equals(codeString))
16347          return ResourceTypeEnum.BODYSTRUCTURE;
16348        if ("Bundle".equals(codeString))
16349          return ResourceTypeEnum.BUNDLE;
16350        if ("CapabilityStatement".equals(codeString))
16351          return ResourceTypeEnum.CAPABILITYSTATEMENT;
16352        if ("CarePlan".equals(codeString))
16353          return ResourceTypeEnum.CAREPLAN;
16354        if ("CareTeam".equals(codeString))
16355          return ResourceTypeEnum.CARETEAM;
16356        if ("ChargeItem".equals(codeString))
16357          return ResourceTypeEnum.CHARGEITEM;
16358        if ("ChargeItemDefinition".equals(codeString))
16359          return ResourceTypeEnum.CHARGEITEMDEFINITION;
16360        if ("Citation".equals(codeString))
16361          return ResourceTypeEnum.CITATION;
16362        if ("Claim".equals(codeString))
16363          return ResourceTypeEnum.CLAIM;
16364        if ("ClaimResponse".equals(codeString))
16365          return ResourceTypeEnum.CLAIMRESPONSE;
16366        if ("ClinicalImpression".equals(codeString))
16367          return ResourceTypeEnum.CLINICALIMPRESSION;
16368        if ("ClinicalUseDefinition".equals(codeString))
16369          return ResourceTypeEnum.CLINICALUSEDEFINITION;
16370        if ("CodeSystem".equals(codeString))
16371          return ResourceTypeEnum.CODESYSTEM;
16372        if ("Communication".equals(codeString))
16373          return ResourceTypeEnum.COMMUNICATION;
16374        if ("CommunicationRequest".equals(codeString))
16375          return ResourceTypeEnum.COMMUNICATIONREQUEST;
16376        if ("CompartmentDefinition".equals(codeString))
16377          return ResourceTypeEnum.COMPARTMENTDEFINITION;
16378        if ("Composition".equals(codeString))
16379          return ResourceTypeEnum.COMPOSITION;
16380        if ("ConceptMap".equals(codeString))
16381          return ResourceTypeEnum.CONCEPTMAP;
16382        if ("Condition".equals(codeString))
16383          return ResourceTypeEnum.CONDITION;
16384        if ("ConditionDefinition".equals(codeString))
16385          return ResourceTypeEnum.CONDITIONDEFINITION;
16386        if ("Consent".equals(codeString))
16387          return ResourceTypeEnum.CONSENT;
16388        if ("Contract".equals(codeString))
16389          return ResourceTypeEnum.CONTRACT;
16390        if ("Coverage".equals(codeString))
16391          return ResourceTypeEnum.COVERAGE;
16392        if ("CoverageEligibilityRequest".equals(codeString))
16393          return ResourceTypeEnum.COVERAGEELIGIBILITYREQUEST;
16394        if ("CoverageEligibilityResponse".equals(codeString))
16395          return ResourceTypeEnum.COVERAGEELIGIBILITYRESPONSE;
16396        if ("DetectedIssue".equals(codeString))
16397          return ResourceTypeEnum.DETECTEDISSUE;
16398        if ("Device".equals(codeString))
16399          return ResourceTypeEnum.DEVICE;
16400        if ("DeviceAssociation".equals(codeString))
16401          return ResourceTypeEnum.DEVICEASSOCIATION;
16402        if ("DeviceDefinition".equals(codeString))
16403          return ResourceTypeEnum.DEVICEDEFINITION;
16404        if ("DeviceDispense".equals(codeString))
16405          return ResourceTypeEnum.DEVICEDISPENSE;
16406        if ("DeviceMetric".equals(codeString))
16407          return ResourceTypeEnum.DEVICEMETRIC;
16408        if ("DeviceRequest".equals(codeString))
16409          return ResourceTypeEnum.DEVICEREQUEST;
16410        if ("DeviceUsage".equals(codeString))
16411          return ResourceTypeEnum.DEVICEUSAGE;
16412        if ("DiagnosticReport".equals(codeString))
16413          return ResourceTypeEnum.DIAGNOSTICREPORT;
16414        if ("DocumentReference".equals(codeString))
16415          return ResourceTypeEnum.DOCUMENTREFERENCE;
16416        if ("Encounter".equals(codeString))
16417          return ResourceTypeEnum.ENCOUNTER;
16418        if ("EncounterHistory".equals(codeString))
16419          return ResourceTypeEnum.ENCOUNTERHISTORY;
16420        if ("Endpoint".equals(codeString))
16421          return ResourceTypeEnum.ENDPOINT;
16422        if ("EnrollmentRequest".equals(codeString))
16423          return ResourceTypeEnum.ENROLLMENTREQUEST;
16424        if ("EnrollmentResponse".equals(codeString))
16425          return ResourceTypeEnum.ENROLLMENTRESPONSE;
16426        if ("EpisodeOfCare".equals(codeString))
16427          return ResourceTypeEnum.EPISODEOFCARE;
16428        if ("EventDefinition".equals(codeString))
16429          return ResourceTypeEnum.EVENTDEFINITION;
16430        if ("Evidence".equals(codeString))
16431          return ResourceTypeEnum.EVIDENCE;
16432        if ("EvidenceReport".equals(codeString))
16433          return ResourceTypeEnum.EVIDENCEREPORT;
16434        if ("EvidenceVariable".equals(codeString))
16435          return ResourceTypeEnum.EVIDENCEVARIABLE;
16436        if ("ExampleScenario".equals(codeString))
16437          return ResourceTypeEnum.EXAMPLESCENARIO;
16438        if ("ExplanationOfBenefit".equals(codeString))
16439          return ResourceTypeEnum.EXPLANATIONOFBENEFIT;
16440        if ("FamilyMemberHistory".equals(codeString))
16441          return ResourceTypeEnum.FAMILYMEMBERHISTORY;
16442        if ("Flag".equals(codeString))
16443          return ResourceTypeEnum.FLAG;
16444        if ("FormularyItem".equals(codeString))
16445          return ResourceTypeEnum.FORMULARYITEM;
16446        if ("GenomicStudy".equals(codeString))
16447          return ResourceTypeEnum.GENOMICSTUDY;
16448        if ("Goal".equals(codeString))
16449          return ResourceTypeEnum.GOAL;
16450        if ("GraphDefinition".equals(codeString))
16451          return ResourceTypeEnum.GRAPHDEFINITION;
16452        if ("Group".equals(codeString))
16453          return ResourceTypeEnum.GROUP;
16454        if ("GuidanceResponse".equals(codeString))
16455          return ResourceTypeEnum.GUIDANCERESPONSE;
16456        if ("HealthcareService".equals(codeString))
16457          return ResourceTypeEnum.HEALTHCARESERVICE;
16458        if ("ImagingSelection".equals(codeString))
16459          return ResourceTypeEnum.IMAGINGSELECTION;
16460        if ("ImagingStudy".equals(codeString))
16461          return ResourceTypeEnum.IMAGINGSTUDY;
16462        if ("Immunization".equals(codeString))
16463          return ResourceTypeEnum.IMMUNIZATION;
16464        if ("ImmunizationEvaluation".equals(codeString))
16465          return ResourceTypeEnum.IMMUNIZATIONEVALUATION;
16466        if ("ImmunizationRecommendation".equals(codeString))
16467          return ResourceTypeEnum.IMMUNIZATIONRECOMMENDATION;
16468        if ("ImplementationGuide".equals(codeString))
16469          return ResourceTypeEnum.IMPLEMENTATIONGUIDE;
16470        if ("Ingredient".equals(codeString))
16471          return ResourceTypeEnum.INGREDIENT;
16472        if ("InsurancePlan".equals(codeString))
16473          return ResourceTypeEnum.INSURANCEPLAN;
16474        if ("InventoryItem".equals(codeString))
16475          return ResourceTypeEnum.INVENTORYITEM;
16476        if ("InventoryReport".equals(codeString))
16477          return ResourceTypeEnum.INVENTORYREPORT;
16478        if ("Invoice".equals(codeString))
16479          return ResourceTypeEnum.INVOICE;
16480        if ("Library".equals(codeString))
16481          return ResourceTypeEnum.LIBRARY;
16482        if ("Linkage".equals(codeString))
16483          return ResourceTypeEnum.LINKAGE;
16484        if ("List".equals(codeString))
16485          return ResourceTypeEnum.LIST;
16486        if ("Location".equals(codeString))
16487          return ResourceTypeEnum.LOCATION;
16488        if ("ManufacturedItemDefinition".equals(codeString))
16489          return ResourceTypeEnum.MANUFACTUREDITEMDEFINITION;
16490        if ("Measure".equals(codeString))
16491          return ResourceTypeEnum.MEASURE;
16492        if ("MeasureReport".equals(codeString))
16493          return ResourceTypeEnum.MEASUREREPORT;
16494        if ("Medication".equals(codeString))
16495          return ResourceTypeEnum.MEDICATION;
16496        if ("MedicationAdministration".equals(codeString))
16497          return ResourceTypeEnum.MEDICATIONADMINISTRATION;
16498        if ("MedicationDispense".equals(codeString))
16499          return ResourceTypeEnum.MEDICATIONDISPENSE;
16500        if ("MedicationKnowledge".equals(codeString))
16501          return ResourceTypeEnum.MEDICATIONKNOWLEDGE;
16502        if ("MedicationRequest".equals(codeString))
16503          return ResourceTypeEnum.MEDICATIONREQUEST;
16504        if ("MedicationStatement".equals(codeString))
16505          return ResourceTypeEnum.MEDICATIONSTATEMENT;
16506        if ("MedicinalProductDefinition".equals(codeString))
16507          return ResourceTypeEnum.MEDICINALPRODUCTDEFINITION;
16508        if ("MessageDefinition".equals(codeString))
16509          return ResourceTypeEnum.MESSAGEDEFINITION;
16510        if ("MessageHeader".equals(codeString))
16511          return ResourceTypeEnum.MESSAGEHEADER;
16512        if ("MolecularSequence".equals(codeString))
16513          return ResourceTypeEnum.MOLECULARSEQUENCE;
16514        if ("NamingSystem".equals(codeString))
16515          return ResourceTypeEnum.NAMINGSYSTEM;
16516        if ("NutritionIntake".equals(codeString))
16517          return ResourceTypeEnum.NUTRITIONINTAKE;
16518        if ("NutritionOrder".equals(codeString))
16519          return ResourceTypeEnum.NUTRITIONORDER;
16520        if ("NutritionProduct".equals(codeString))
16521          return ResourceTypeEnum.NUTRITIONPRODUCT;
16522        if ("Observation".equals(codeString))
16523          return ResourceTypeEnum.OBSERVATION;
16524        if ("ObservationDefinition".equals(codeString))
16525          return ResourceTypeEnum.OBSERVATIONDEFINITION;
16526        if ("OperationDefinition".equals(codeString))
16527          return ResourceTypeEnum.OPERATIONDEFINITION;
16528        if ("OperationOutcome".equals(codeString))
16529          return ResourceTypeEnum.OPERATIONOUTCOME;
16530        if ("Organization".equals(codeString))
16531          return ResourceTypeEnum.ORGANIZATION;
16532        if ("OrganizationAffiliation".equals(codeString))
16533          return ResourceTypeEnum.ORGANIZATIONAFFILIATION;
16534        if ("PackagedProductDefinition".equals(codeString))
16535          return ResourceTypeEnum.PACKAGEDPRODUCTDEFINITION;
16536        if ("Parameters".equals(codeString))
16537          return ResourceTypeEnum.PARAMETERS;
16538        if ("Patient".equals(codeString))
16539          return ResourceTypeEnum.PATIENT;
16540        if ("PaymentNotice".equals(codeString))
16541          return ResourceTypeEnum.PAYMENTNOTICE;
16542        if ("PaymentReconciliation".equals(codeString))
16543          return ResourceTypeEnum.PAYMENTRECONCILIATION;
16544        if ("Permission".equals(codeString))
16545          return ResourceTypeEnum.PERMISSION;
16546        if ("Person".equals(codeString))
16547          return ResourceTypeEnum.PERSON;
16548        if ("PlanDefinition".equals(codeString))
16549          return ResourceTypeEnum.PLANDEFINITION;
16550        if ("Practitioner".equals(codeString))
16551          return ResourceTypeEnum.PRACTITIONER;
16552        if ("PractitionerRole".equals(codeString))
16553          return ResourceTypeEnum.PRACTITIONERROLE;
16554        if ("Procedure".equals(codeString))
16555          return ResourceTypeEnum.PROCEDURE;
16556        if ("Provenance".equals(codeString))
16557          return ResourceTypeEnum.PROVENANCE;
16558        if ("Questionnaire".equals(codeString))
16559          return ResourceTypeEnum.QUESTIONNAIRE;
16560        if ("QuestionnaireResponse".equals(codeString))
16561          return ResourceTypeEnum.QUESTIONNAIRERESPONSE;
16562        if ("RegulatedAuthorization".equals(codeString))
16563          return ResourceTypeEnum.REGULATEDAUTHORIZATION;
16564        if ("RelatedPerson".equals(codeString))
16565          return ResourceTypeEnum.RELATEDPERSON;
16566        if ("RequestOrchestration".equals(codeString))
16567          return ResourceTypeEnum.REQUESTORCHESTRATION;
16568        if ("Requirements".equals(codeString))
16569          return ResourceTypeEnum.REQUIREMENTS;
16570        if ("ResearchStudy".equals(codeString))
16571          return ResourceTypeEnum.RESEARCHSTUDY;
16572        if ("ResearchSubject".equals(codeString))
16573          return ResourceTypeEnum.RESEARCHSUBJECT;
16574        if ("RiskAssessment".equals(codeString))
16575          return ResourceTypeEnum.RISKASSESSMENT;
16576        if ("Schedule".equals(codeString))
16577          return ResourceTypeEnum.SCHEDULE;
16578        if ("SearchParameter".equals(codeString))
16579          return ResourceTypeEnum.SEARCHPARAMETER;
16580        if ("ServiceRequest".equals(codeString))
16581          return ResourceTypeEnum.SERVICEREQUEST;
16582        if ("Slot".equals(codeString))
16583          return ResourceTypeEnum.SLOT;
16584        if ("Specimen".equals(codeString))
16585          return ResourceTypeEnum.SPECIMEN;
16586        if ("SpecimenDefinition".equals(codeString))
16587          return ResourceTypeEnum.SPECIMENDEFINITION;
16588        if ("StructureDefinition".equals(codeString))
16589          return ResourceTypeEnum.STRUCTUREDEFINITION;
16590        if ("StructureMap".equals(codeString))
16591          return ResourceTypeEnum.STRUCTUREMAP;
16592        if ("Subscription".equals(codeString))
16593          return ResourceTypeEnum.SUBSCRIPTION;
16594        if ("SubscriptionStatus".equals(codeString))
16595          return ResourceTypeEnum.SUBSCRIPTIONSTATUS;
16596        if ("SubscriptionTopic".equals(codeString))
16597          return ResourceTypeEnum.SUBSCRIPTIONTOPIC;
16598        if ("Substance".equals(codeString))
16599          return ResourceTypeEnum.SUBSTANCE;
16600        if ("SubstanceDefinition".equals(codeString))
16601          return ResourceTypeEnum.SUBSTANCEDEFINITION;
16602        if ("SubstanceNucleicAcid".equals(codeString))
16603          return ResourceTypeEnum.SUBSTANCENUCLEICACID;
16604        if ("SubstancePolymer".equals(codeString))
16605          return ResourceTypeEnum.SUBSTANCEPOLYMER;
16606        if ("SubstanceProtein".equals(codeString))
16607          return ResourceTypeEnum.SUBSTANCEPROTEIN;
16608        if ("SubstanceReferenceInformation".equals(codeString))
16609          return ResourceTypeEnum.SUBSTANCEREFERENCEINFORMATION;
16610        if ("SubstanceSourceMaterial".equals(codeString))
16611          return ResourceTypeEnum.SUBSTANCESOURCEMATERIAL;
16612        if ("SupplyDelivery".equals(codeString))
16613          return ResourceTypeEnum.SUPPLYDELIVERY;
16614        if ("SupplyRequest".equals(codeString))
16615          return ResourceTypeEnum.SUPPLYREQUEST;
16616        if ("Task".equals(codeString))
16617          return ResourceTypeEnum.TASK;
16618        if ("TerminologyCapabilities".equals(codeString))
16619          return ResourceTypeEnum.TERMINOLOGYCAPABILITIES;
16620        if ("TestPlan".equals(codeString))
16621          return ResourceTypeEnum.TESTPLAN;
16622        if ("TestReport".equals(codeString))
16623          return ResourceTypeEnum.TESTREPORT;
16624        if ("TestScript".equals(codeString))
16625          return ResourceTypeEnum.TESTSCRIPT;
16626        if ("Transport".equals(codeString))
16627          return ResourceTypeEnum.TRANSPORT;
16628        if ("ValueSet".equals(codeString))
16629          return ResourceTypeEnum.VALUESET;
16630        if ("VerificationResult".equals(codeString))
16631          return ResourceTypeEnum.VERIFICATIONRESULT;
16632        if ("VisionPrescription".equals(codeString))
16633          return ResourceTypeEnum.VISIONPRESCRIPTION;
16634        throw new IllegalArgumentException("Unknown ResourceTypeEnum code '"+codeString+"'");
16635        }
16636
16637        public Enumeration<ResourceTypeEnum> fromType(PrimitiveType<?> code) throws FHIRException {
16638          if (code == null)
16639            return null;
16640          if (code.isEmpty())
16641            return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.NULL, code);
16642          String codeString = ((PrimitiveType) code).asStringValue();
16643          if (codeString == null || "".equals(codeString))
16644            return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.NULL, code);
16645        if ("Account".equals(codeString))
16646          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ACCOUNT, code);
16647        if ("ActivityDefinition".equals(codeString))
16648          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ACTIVITYDEFINITION, code);
16649        if ("ActorDefinition".equals(codeString))
16650          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ACTORDEFINITION, code);
16651        if ("AdministrableProductDefinition".equals(codeString))
16652          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ADMINISTRABLEPRODUCTDEFINITION, code);
16653        if ("AdverseEvent".equals(codeString))
16654          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ADVERSEEVENT, code);
16655        if ("AllergyIntolerance".equals(codeString))
16656          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ALLERGYINTOLERANCE, code);
16657        if ("Appointment".equals(codeString))
16658          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.APPOINTMENT, code);
16659        if ("AppointmentResponse".equals(codeString))
16660          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.APPOINTMENTRESPONSE, code);
16661        if ("ArtifactAssessment".equals(codeString))
16662          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ARTIFACTASSESSMENT, code);
16663        if ("AuditEvent".equals(codeString))
16664          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.AUDITEVENT, code);
16665        if ("Basic".equals(codeString))
16666          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.BASIC, code);
16667        if ("Binary".equals(codeString))
16668          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.BINARY, code);
16669        if ("BiologicallyDerivedProduct".equals(codeString))
16670          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCT, code);
16671        if ("BiologicallyDerivedProductDispense".equals(codeString))
16672          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCTDISPENSE, code);
16673        if ("BodyStructure".equals(codeString))
16674          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.BODYSTRUCTURE, code);
16675        if ("Bundle".equals(codeString))
16676          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.BUNDLE, code);
16677        if ("CapabilityStatement".equals(codeString))
16678          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CAPABILITYSTATEMENT, code);
16679        if ("CarePlan".equals(codeString))
16680          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CAREPLAN, code);
16681        if ("CareTeam".equals(codeString))
16682          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CARETEAM, code);
16683        if ("ChargeItem".equals(codeString))
16684          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CHARGEITEM, code);
16685        if ("ChargeItemDefinition".equals(codeString))
16686          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CHARGEITEMDEFINITION, code);
16687        if ("Citation".equals(codeString))
16688          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CITATION, code);
16689        if ("Claim".equals(codeString))
16690          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CLAIM, code);
16691        if ("ClaimResponse".equals(codeString))
16692          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CLAIMRESPONSE, code);
16693        if ("ClinicalImpression".equals(codeString))
16694          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CLINICALIMPRESSION, code);
16695        if ("ClinicalUseDefinition".equals(codeString))
16696          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CLINICALUSEDEFINITION, code);
16697        if ("CodeSystem".equals(codeString))
16698          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CODESYSTEM, code);
16699        if ("Communication".equals(codeString))
16700          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.COMMUNICATION, code);
16701        if ("CommunicationRequest".equals(codeString))
16702          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.COMMUNICATIONREQUEST, code);
16703        if ("CompartmentDefinition".equals(codeString))
16704          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.COMPARTMENTDEFINITION, code);
16705        if ("Composition".equals(codeString))
16706          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.COMPOSITION, code);
16707        if ("ConceptMap".equals(codeString))
16708          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CONCEPTMAP, code);
16709        if ("Condition".equals(codeString))
16710          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CONDITION, code);
16711        if ("ConditionDefinition".equals(codeString))
16712          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CONDITIONDEFINITION, code);
16713        if ("Consent".equals(codeString))
16714          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CONSENT, code);
16715        if ("Contract".equals(codeString))
16716          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.CONTRACT, code);
16717        if ("Coverage".equals(codeString))
16718          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.COVERAGE, code);
16719        if ("CoverageEligibilityRequest".equals(codeString))
16720          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.COVERAGEELIGIBILITYREQUEST, code);
16721        if ("CoverageEligibilityResponse".equals(codeString))
16722          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.COVERAGEELIGIBILITYRESPONSE, code);
16723        if ("DetectedIssue".equals(codeString))
16724          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DETECTEDISSUE, code);
16725        if ("Device".equals(codeString))
16726          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DEVICE, code);
16727        if ("DeviceAssociation".equals(codeString))
16728          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DEVICEASSOCIATION, code);
16729        if ("DeviceDefinition".equals(codeString))
16730          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DEVICEDEFINITION, code);
16731        if ("DeviceDispense".equals(codeString))
16732          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DEVICEDISPENSE, code);
16733        if ("DeviceMetric".equals(codeString))
16734          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DEVICEMETRIC, code);
16735        if ("DeviceRequest".equals(codeString))
16736          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DEVICEREQUEST, code);
16737        if ("DeviceUsage".equals(codeString))
16738          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DEVICEUSAGE, code);
16739        if ("DiagnosticReport".equals(codeString))
16740          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DIAGNOSTICREPORT, code);
16741        if ("DocumentReference".equals(codeString))
16742          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.DOCUMENTREFERENCE, code);
16743        if ("Encounter".equals(codeString))
16744          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ENCOUNTER, code);
16745        if ("EncounterHistory".equals(codeString))
16746          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ENCOUNTERHISTORY, code);
16747        if ("Endpoint".equals(codeString))
16748          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ENDPOINT, code);
16749        if ("EnrollmentRequest".equals(codeString))
16750          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ENROLLMENTREQUEST, code);
16751        if ("EnrollmentResponse".equals(codeString))
16752          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ENROLLMENTRESPONSE, code);
16753        if ("EpisodeOfCare".equals(codeString))
16754          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.EPISODEOFCARE, code);
16755        if ("EventDefinition".equals(codeString))
16756          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.EVENTDEFINITION, code);
16757        if ("Evidence".equals(codeString))
16758          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.EVIDENCE, code);
16759        if ("EvidenceReport".equals(codeString))
16760          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.EVIDENCEREPORT, code);
16761        if ("EvidenceVariable".equals(codeString))
16762          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.EVIDENCEVARIABLE, code);
16763        if ("ExampleScenario".equals(codeString))
16764          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.EXAMPLESCENARIO, code);
16765        if ("ExplanationOfBenefit".equals(codeString))
16766          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.EXPLANATIONOFBENEFIT, code);
16767        if ("FamilyMemberHistory".equals(codeString))
16768          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.FAMILYMEMBERHISTORY, code);
16769        if ("Flag".equals(codeString))
16770          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.FLAG, code);
16771        if ("FormularyItem".equals(codeString))
16772          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.FORMULARYITEM, code);
16773        if ("GenomicStudy".equals(codeString))
16774          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.GENOMICSTUDY, code);
16775        if ("Goal".equals(codeString))
16776          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.GOAL, code);
16777        if ("GraphDefinition".equals(codeString))
16778          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.GRAPHDEFINITION, code);
16779        if ("Group".equals(codeString))
16780          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.GROUP, code);
16781        if ("GuidanceResponse".equals(codeString))
16782          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.GUIDANCERESPONSE, code);
16783        if ("HealthcareService".equals(codeString))
16784          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.HEALTHCARESERVICE, code);
16785        if ("ImagingSelection".equals(codeString))
16786          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.IMAGINGSELECTION, code);
16787        if ("ImagingStudy".equals(codeString))
16788          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.IMAGINGSTUDY, code);
16789        if ("Immunization".equals(codeString))
16790          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.IMMUNIZATION, code);
16791        if ("ImmunizationEvaluation".equals(codeString))
16792          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.IMMUNIZATIONEVALUATION, code);
16793        if ("ImmunizationRecommendation".equals(codeString))
16794          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.IMMUNIZATIONRECOMMENDATION, code);
16795        if ("ImplementationGuide".equals(codeString))
16796          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.IMPLEMENTATIONGUIDE, code);
16797        if ("Ingredient".equals(codeString))
16798          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.INGREDIENT, code);
16799        if ("InsurancePlan".equals(codeString))
16800          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.INSURANCEPLAN, code);
16801        if ("InventoryItem".equals(codeString))
16802          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.INVENTORYITEM, code);
16803        if ("InventoryReport".equals(codeString))
16804          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.INVENTORYREPORT, code);
16805        if ("Invoice".equals(codeString))
16806          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.INVOICE, code);
16807        if ("Library".equals(codeString))
16808          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.LIBRARY, code);
16809        if ("Linkage".equals(codeString))
16810          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.LINKAGE, code);
16811        if ("List".equals(codeString))
16812          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.LIST, code);
16813        if ("Location".equals(codeString))
16814          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.LOCATION, code);
16815        if ("ManufacturedItemDefinition".equals(codeString))
16816          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MANUFACTUREDITEMDEFINITION, code);
16817        if ("Measure".equals(codeString))
16818          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEASURE, code);
16819        if ("MeasureReport".equals(codeString))
16820          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEASUREREPORT, code);
16821        if ("Medication".equals(codeString))
16822          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEDICATION, code);
16823        if ("MedicationAdministration".equals(codeString))
16824          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEDICATIONADMINISTRATION, code);
16825        if ("MedicationDispense".equals(codeString))
16826          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEDICATIONDISPENSE, code);
16827        if ("MedicationKnowledge".equals(codeString))
16828          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEDICATIONKNOWLEDGE, code);
16829        if ("MedicationRequest".equals(codeString))
16830          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEDICATIONREQUEST, code);
16831        if ("MedicationStatement".equals(codeString))
16832          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEDICATIONSTATEMENT, code);
16833        if ("MedicinalProductDefinition".equals(codeString))
16834          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MEDICINALPRODUCTDEFINITION, code);
16835        if ("MessageDefinition".equals(codeString))
16836          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MESSAGEDEFINITION, code);
16837        if ("MessageHeader".equals(codeString))
16838          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MESSAGEHEADER, code);
16839        if ("MolecularSequence".equals(codeString))
16840          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.MOLECULARSEQUENCE, code);
16841        if ("NamingSystem".equals(codeString))
16842          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.NAMINGSYSTEM, code);
16843        if ("NutritionIntake".equals(codeString))
16844          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.NUTRITIONINTAKE, code);
16845        if ("NutritionOrder".equals(codeString))
16846          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.NUTRITIONORDER, code);
16847        if ("NutritionProduct".equals(codeString))
16848          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.NUTRITIONPRODUCT, code);
16849        if ("Observation".equals(codeString))
16850          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.OBSERVATION, code);
16851        if ("ObservationDefinition".equals(codeString))
16852          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.OBSERVATIONDEFINITION, code);
16853        if ("OperationDefinition".equals(codeString))
16854          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.OPERATIONDEFINITION, code);
16855        if ("OperationOutcome".equals(codeString))
16856          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.OPERATIONOUTCOME, code);
16857        if ("Organization".equals(codeString))
16858          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ORGANIZATION, code);
16859        if ("OrganizationAffiliation".equals(codeString))
16860          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.ORGANIZATIONAFFILIATION, code);
16861        if ("PackagedProductDefinition".equals(codeString))
16862          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PACKAGEDPRODUCTDEFINITION, code);
16863        if ("Parameters".equals(codeString))
16864          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PARAMETERS, code);
16865        if ("Patient".equals(codeString))
16866          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PATIENT, code);
16867        if ("PaymentNotice".equals(codeString))
16868          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PAYMENTNOTICE, code);
16869        if ("PaymentReconciliation".equals(codeString))
16870          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PAYMENTRECONCILIATION, code);
16871        if ("Permission".equals(codeString))
16872          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PERMISSION, code);
16873        if ("Person".equals(codeString))
16874          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PERSON, code);
16875        if ("PlanDefinition".equals(codeString))
16876          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PLANDEFINITION, code);
16877        if ("Practitioner".equals(codeString))
16878          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PRACTITIONER, code);
16879        if ("PractitionerRole".equals(codeString))
16880          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PRACTITIONERROLE, code);
16881        if ("Procedure".equals(codeString))
16882          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PROCEDURE, code);
16883        if ("Provenance".equals(codeString))
16884          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.PROVENANCE, code);
16885        if ("Questionnaire".equals(codeString))
16886          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.QUESTIONNAIRE, code);
16887        if ("QuestionnaireResponse".equals(codeString))
16888          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.QUESTIONNAIRERESPONSE, code);
16889        if ("RegulatedAuthorization".equals(codeString))
16890          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.REGULATEDAUTHORIZATION, code);
16891        if ("RelatedPerson".equals(codeString))
16892          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.RELATEDPERSON, code);
16893        if ("RequestOrchestration".equals(codeString))
16894          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.REQUESTORCHESTRATION, code);
16895        if ("Requirements".equals(codeString))
16896          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.REQUIREMENTS, code);
16897        if ("ResearchStudy".equals(codeString))
16898          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.RESEARCHSTUDY, code);
16899        if ("ResearchSubject".equals(codeString))
16900          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.RESEARCHSUBJECT, code);
16901        if ("RiskAssessment".equals(codeString))
16902          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.RISKASSESSMENT, code);
16903        if ("Schedule".equals(codeString))
16904          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SCHEDULE, code);
16905        if ("SearchParameter".equals(codeString))
16906          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SEARCHPARAMETER, code);
16907        if ("ServiceRequest".equals(codeString))
16908          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SERVICEREQUEST, code);
16909        if ("Slot".equals(codeString))
16910          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SLOT, code);
16911        if ("Specimen".equals(codeString))
16912          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SPECIMEN, code);
16913        if ("SpecimenDefinition".equals(codeString))
16914          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SPECIMENDEFINITION, code);
16915        if ("StructureDefinition".equals(codeString))
16916          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.STRUCTUREDEFINITION, code);
16917        if ("StructureMap".equals(codeString))
16918          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.STRUCTUREMAP, code);
16919        if ("Subscription".equals(codeString))
16920          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSCRIPTION, code);
16921        if ("SubscriptionStatus".equals(codeString))
16922          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSCRIPTIONSTATUS, code);
16923        if ("SubscriptionTopic".equals(codeString))
16924          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSCRIPTIONTOPIC, code);
16925        if ("Substance".equals(codeString))
16926          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSTANCE, code);
16927        if ("SubstanceDefinition".equals(codeString))
16928          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSTANCEDEFINITION, code);
16929        if ("SubstanceNucleicAcid".equals(codeString))
16930          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSTANCENUCLEICACID, code);
16931        if ("SubstancePolymer".equals(codeString))
16932          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSTANCEPOLYMER, code);
16933        if ("SubstanceProtein".equals(codeString))
16934          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSTANCEPROTEIN, code);
16935        if ("SubstanceReferenceInformation".equals(codeString))
16936          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSTANCEREFERENCEINFORMATION, code);
16937        if ("SubstanceSourceMaterial".equals(codeString))
16938          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUBSTANCESOURCEMATERIAL, code);
16939        if ("SupplyDelivery".equals(codeString))
16940          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUPPLYDELIVERY, code);
16941        if ("SupplyRequest".equals(codeString))
16942          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.SUPPLYREQUEST, code);
16943        if ("Task".equals(codeString))
16944          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.TASK, code);
16945        if ("TerminologyCapabilities".equals(codeString))
16946          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.TERMINOLOGYCAPABILITIES, code);
16947        if ("TestPlan".equals(codeString))
16948          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.TESTPLAN, code);
16949        if ("TestReport".equals(codeString))
16950          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.TESTREPORT, code);
16951        if ("TestScript".equals(codeString))
16952          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.TESTSCRIPT, code);
16953        if ("Transport".equals(codeString))
16954          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.TRANSPORT, code);
16955        if ("ValueSet".equals(codeString))
16956          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.VALUESET, code);
16957        if ("VerificationResult".equals(codeString))
16958          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.VERIFICATIONRESULT, code);
16959        if ("VisionPrescription".equals(codeString))
16960          return new Enumeration<ResourceTypeEnum>(this, ResourceTypeEnum.VISIONPRESCRIPTION, code);
16961        throw new FHIRException("Unknown ResourceTypeEnum code '"+codeString+"'");
16962        }
16963    public String toCode(ResourceTypeEnum code) {
16964       if (code == ResourceTypeEnum.NULL)
16965           return null;
16966       if (code == ResourceTypeEnum.ACCOUNT)
16967        return "Account";
16968      if (code == ResourceTypeEnum.ACTIVITYDEFINITION)
16969        return "ActivityDefinition";
16970      if (code == ResourceTypeEnum.ACTORDEFINITION)
16971        return "ActorDefinition";
16972      if (code == ResourceTypeEnum.ADMINISTRABLEPRODUCTDEFINITION)
16973        return "AdministrableProductDefinition";
16974      if (code == ResourceTypeEnum.ADVERSEEVENT)
16975        return "AdverseEvent";
16976      if (code == ResourceTypeEnum.ALLERGYINTOLERANCE)
16977        return "AllergyIntolerance";
16978      if (code == ResourceTypeEnum.APPOINTMENT)
16979        return "Appointment";
16980      if (code == ResourceTypeEnum.APPOINTMENTRESPONSE)
16981        return "AppointmentResponse";
16982      if (code == ResourceTypeEnum.ARTIFACTASSESSMENT)
16983        return "ArtifactAssessment";
16984      if (code == ResourceTypeEnum.AUDITEVENT)
16985        return "AuditEvent";
16986      if (code == ResourceTypeEnum.BASIC)
16987        return "Basic";
16988      if (code == ResourceTypeEnum.BINARY)
16989        return "Binary";
16990      if (code == ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCT)
16991        return "BiologicallyDerivedProduct";
16992      if (code == ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCTDISPENSE)
16993        return "BiologicallyDerivedProductDispense";
16994      if (code == ResourceTypeEnum.BODYSTRUCTURE)
16995        return "BodyStructure";
16996      if (code == ResourceTypeEnum.BUNDLE)
16997        return "Bundle";
16998      if (code == ResourceTypeEnum.CAPABILITYSTATEMENT)
16999        return "CapabilityStatement";
17000      if (code == ResourceTypeEnum.CAREPLAN)
17001        return "CarePlan";
17002      if (code == ResourceTypeEnum.CARETEAM)
17003        return "CareTeam";
17004      if (code == ResourceTypeEnum.CHARGEITEM)
17005        return "ChargeItem";
17006      if (code == ResourceTypeEnum.CHARGEITEMDEFINITION)
17007        return "ChargeItemDefinition";
17008      if (code == ResourceTypeEnum.CITATION)
17009        return "Citation";
17010      if (code == ResourceTypeEnum.CLAIM)
17011        return "Claim";
17012      if (code == ResourceTypeEnum.CLAIMRESPONSE)
17013        return "ClaimResponse";
17014      if (code == ResourceTypeEnum.CLINICALIMPRESSION)
17015        return "ClinicalImpression";
17016      if (code == ResourceTypeEnum.CLINICALUSEDEFINITION)
17017        return "ClinicalUseDefinition";
17018      if (code == ResourceTypeEnum.CODESYSTEM)
17019        return "CodeSystem";
17020      if (code == ResourceTypeEnum.COMMUNICATION)
17021        return "Communication";
17022      if (code == ResourceTypeEnum.COMMUNICATIONREQUEST)
17023        return "CommunicationRequest";
17024      if (code == ResourceTypeEnum.COMPARTMENTDEFINITION)
17025        return "CompartmentDefinition";
17026      if (code == ResourceTypeEnum.COMPOSITION)
17027        return "Composition";
17028      if (code == ResourceTypeEnum.CONCEPTMAP)
17029        return "ConceptMap";
17030      if (code == ResourceTypeEnum.CONDITION)
17031        return "Condition";
17032      if (code == ResourceTypeEnum.CONDITIONDEFINITION)
17033        return "ConditionDefinition";
17034      if (code == ResourceTypeEnum.CONSENT)
17035        return "Consent";
17036      if (code == ResourceTypeEnum.CONTRACT)
17037        return "Contract";
17038      if (code == ResourceTypeEnum.COVERAGE)
17039        return "Coverage";
17040      if (code == ResourceTypeEnum.COVERAGEELIGIBILITYREQUEST)
17041        return "CoverageEligibilityRequest";
17042      if (code == ResourceTypeEnum.COVERAGEELIGIBILITYRESPONSE)
17043        return "CoverageEligibilityResponse";
17044      if (code == ResourceTypeEnum.DETECTEDISSUE)
17045        return "DetectedIssue";
17046      if (code == ResourceTypeEnum.DEVICE)
17047        return "Device";
17048      if (code == ResourceTypeEnum.DEVICEASSOCIATION)
17049        return "DeviceAssociation";
17050      if (code == ResourceTypeEnum.DEVICEDEFINITION)
17051        return "DeviceDefinition";
17052      if (code == ResourceTypeEnum.DEVICEDISPENSE)
17053        return "DeviceDispense";
17054      if (code == ResourceTypeEnum.DEVICEMETRIC)
17055        return "DeviceMetric";
17056      if (code == ResourceTypeEnum.DEVICEREQUEST)
17057        return "DeviceRequest";
17058      if (code == ResourceTypeEnum.DEVICEUSAGE)
17059        return "DeviceUsage";
17060      if (code == ResourceTypeEnum.DIAGNOSTICREPORT)
17061        return "DiagnosticReport";
17062      if (code == ResourceTypeEnum.DOCUMENTREFERENCE)
17063        return "DocumentReference";
17064      if (code == ResourceTypeEnum.ENCOUNTER)
17065        return "Encounter";
17066      if (code == ResourceTypeEnum.ENCOUNTERHISTORY)
17067        return "EncounterHistory";
17068      if (code == ResourceTypeEnum.ENDPOINT)
17069        return "Endpoint";
17070      if (code == ResourceTypeEnum.ENROLLMENTREQUEST)
17071        return "EnrollmentRequest";
17072      if (code == ResourceTypeEnum.ENROLLMENTRESPONSE)
17073        return "EnrollmentResponse";
17074      if (code == ResourceTypeEnum.EPISODEOFCARE)
17075        return "EpisodeOfCare";
17076      if (code == ResourceTypeEnum.EVENTDEFINITION)
17077        return "EventDefinition";
17078      if (code == ResourceTypeEnum.EVIDENCE)
17079        return "Evidence";
17080      if (code == ResourceTypeEnum.EVIDENCEREPORT)
17081        return "EvidenceReport";
17082      if (code == ResourceTypeEnum.EVIDENCEVARIABLE)
17083        return "EvidenceVariable";
17084      if (code == ResourceTypeEnum.EXAMPLESCENARIO)
17085        return "ExampleScenario";
17086      if (code == ResourceTypeEnum.EXPLANATIONOFBENEFIT)
17087        return "ExplanationOfBenefit";
17088      if (code == ResourceTypeEnum.FAMILYMEMBERHISTORY)
17089        return "FamilyMemberHistory";
17090      if (code == ResourceTypeEnum.FLAG)
17091        return "Flag";
17092      if (code == ResourceTypeEnum.FORMULARYITEM)
17093        return "FormularyItem";
17094      if (code == ResourceTypeEnum.GENOMICSTUDY)
17095        return "GenomicStudy";
17096      if (code == ResourceTypeEnum.GOAL)
17097        return "Goal";
17098      if (code == ResourceTypeEnum.GRAPHDEFINITION)
17099        return "GraphDefinition";
17100      if (code == ResourceTypeEnum.GROUP)
17101        return "Group";
17102      if (code == ResourceTypeEnum.GUIDANCERESPONSE)
17103        return "GuidanceResponse";
17104      if (code == ResourceTypeEnum.HEALTHCARESERVICE)
17105        return "HealthcareService";
17106      if (code == ResourceTypeEnum.IMAGINGSELECTION)
17107        return "ImagingSelection";
17108      if (code == ResourceTypeEnum.IMAGINGSTUDY)
17109        return "ImagingStudy";
17110      if (code == ResourceTypeEnum.IMMUNIZATION)
17111        return "Immunization";
17112      if (code == ResourceTypeEnum.IMMUNIZATIONEVALUATION)
17113        return "ImmunizationEvaluation";
17114      if (code == ResourceTypeEnum.IMMUNIZATIONRECOMMENDATION)
17115        return "ImmunizationRecommendation";
17116      if (code == ResourceTypeEnum.IMPLEMENTATIONGUIDE)
17117        return "ImplementationGuide";
17118      if (code == ResourceTypeEnum.INGREDIENT)
17119        return "Ingredient";
17120      if (code == ResourceTypeEnum.INSURANCEPLAN)
17121        return "InsurancePlan";
17122      if (code == ResourceTypeEnum.INVENTORYITEM)
17123        return "InventoryItem";
17124      if (code == ResourceTypeEnum.INVENTORYREPORT)
17125        return "InventoryReport";
17126      if (code == ResourceTypeEnum.INVOICE)
17127        return "Invoice";
17128      if (code == ResourceTypeEnum.LIBRARY)
17129        return "Library";
17130      if (code == ResourceTypeEnum.LINKAGE)
17131        return "Linkage";
17132      if (code == ResourceTypeEnum.LIST)
17133        return "List";
17134      if (code == ResourceTypeEnum.LOCATION)
17135        return "Location";
17136      if (code == ResourceTypeEnum.MANUFACTUREDITEMDEFINITION)
17137        return "ManufacturedItemDefinition";
17138      if (code == ResourceTypeEnum.MEASURE)
17139        return "Measure";
17140      if (code == ResourceTypeEnum.MEASUREREPORT)
17141        return "MeasureReport";
17142      if (code == ResourceTypeEnum.MEDICATION)
17143        return "Medication";
17144      if (code == ResourceTypeEnum.MEDICATIONADMINISTRATION)
17145        return "MedicationAdministration";
17146      if (code == ResourceTypeEnum.MEDICATIONDISPENSE)
17147        return "MedicationDispense";
17148      if (code == ResourceTypeEnum.MEDICATIONKNOWLEDGE)
17149        return "MedicationKnowledge";
17150      if (code == ResourceTypeEnum.MEDICATIONREQUEST)
17151        return "MedicationRequest";
17152      if (code == ResourceTypeEnum.MEDICATIONSTATEMENT)
17153        return "MedicationStatement";
17154      if (code == ResourceTypeEnum.MEDICINALPRODUCTDEFINITION)
17155        return "MedicinalProductDefinition";
17156      if (code == ResourceTypeEnum.MESSAGEDEFINITION)
17157        return "MessageDefinition";
17158      if (code == ResourceTypeEnum.MESSAGEHEADER)
17159        return "MessageHeader";
17160      if (code == ResourceTypeEnum.MOLECULARSEQUENCE)
17161        return "MolecularSequence";
17162      if (code == ResourceTypeEnum.NAMINGSYSTEM)
17163        return "NamingSystem";
17164      if (code == ResourceTypeEnum.NUTRITIONINTAKE)
17165        return "NutritionIntake";
17166      if (code == ResourceTypeEnum.NUTRITIONORDER)
17167        return "NutritionOrder";
17168      if (code == ResourceTypeEnum.NUTRITIONPRODUCT)
17169        return "NutritionProduct";
17170      if (code == ResourceTypeEnum.OBSERVATION)
17171        return "Observation";
17172      if (code == ResourceTypeEnum.OBSERVATIONDEFINITION)
17173        return "ObservationDefinition";
17174      if (code == ResourceTypeEnum.OPERATIONDEFINITION)
17175        return "OperationDefinition";
17176      if (code == ResourceTypeEnum.OPERATIONOUTCOME)
17177        return "OperationOutcome";
17178      if (code == ResourceTypeEnum.ORGANIZATION)
17179        return "Organization";
17180      if (code == ResourceTypeEnum.ORGANIZATIONAFFILIATION)
17181        return "OrganizationAffiliation";
17182      if (code == ResourceTypeEnum.PACKAGEDPRODUCTDEFINITION)
17183        return "PackagedProductDefinition";
17184      if (code == ResourceTypeEnum.PARAMETERS)
17185        return "Parameters";
17186      if (code == ResourceTypeEnum.PATIENT)
17187        return "Patient";
17188      if (code == ResourceTypeEnum.PAYMENTNOTICE)
17189        return "PaymentNotice";
17190      if (code == ResourceTypeEnum.PAYMENTRECONCILIATION)
17191        return "PaymentReconciliation";
17192      if (code == ResourceTypeEnum.PERMISSION)
17193        return "Permission";
17194      if (code == ResourceTypeEnum.PERSON)
17195        return "Person";
17196      if (code == ResourceTypeEnum.PLANDEFINITION)
17197        return "PlanDefinition";
17198      if (code == ResourceTypeEnum.PRACTITIONER)
17199        return "Practitioner";
17200      if (code == ResourceTypeEnum.PRACTITIONERROLE)
17201        return "PractitionerRole";
17202      if (code == ResourceTypeEnum.PROCEDURE)
17203        return "Procedure";
17204      if (code == ResourceTypeEnum.PROVENANCE)
17205        return "Provenance";
17206      if (code == ResourceTypeEnum.QUESTIONNAIRE)
17207        return "Questionnaire";
17208      if (code == ResourceTypeEnum.QUESTIONNAIRERESPONSE)
17209        return "QuestionnaireResponse";
17210      if (code == ResourceTypeEnum.REGULATEDAUTHORIZATION)
17211        return "RegulatedAuthorization";
17212      if (code == ResourceTypeEnum.RELATEDPERSON)
17213        return "RelatedPerson";
17214      if (code == ResourceTypeEnum.REQUESTORCHESTRATION)
17215        return "RequestOrchestration";
17216      if (code == ResourceTypeEnum.REQUIREMENTS)
17217        return "Requirements";
17218      if (code == ResourceTypeEnum.RESEARCHSTUDY)
17219        return "ResearchStudy";
17220      if (code == ResourceTypeEnum.RESEARCHSUBJECT)
17221        return "ResearchSubject";
17222      if (code == ResourceTypeEnum.RISKASSESSMENT)
17223        return "RiskAssessment";
17224      if (code == ResourceTypeEnum.SCHEDULE)
17225        return "Schedule";
17226      if (code == ResourceTypeEnum.SEARCHPARAMETER)
17227        return "SearchParameter";
17228      if (code == ResourceTypeEnum.SERVICEREQUEST)
17229        return "ServiceRequest";
17230      if (code == ResourceTypeEnum.SLOT)
17231        return "Slot";
17232      if (code == ResourceTypeEnum.SPECIMEN)
17233        return "Specimen";
17234      if (code == ResourceTypeEnum.SPECIMENDEFINITION)
17235        return "SpecimenDefinition";
17236      if (code == ResourceTypeEnum.STRUCTUREDEFINITION)
17237        return "StructureDefinition";
17238      if (code == ResourceTypeEnum.STRUCTUREMAP)
17239        return "StructureMap";
17240      if (code == ResourceTypeEnum.SUBSCRIPTION)
17241        return "Subscription";
17242      if (code == ResourceTypeEnum.SUBSCRIPTIONSTATUS)
17243        return "SubscriptionStatus";
17244      if (code == ResourceTypeEnum.SUBSCRIPTIONTOPIC)
17245        return "SubscriptionTopic";
17246      if (code == ResourceTypeEnum.SUBSTANCE)
17247        return "Substance";
17248      if (code == ResourceTypeEnum.SUBSTANCEDEFINITION)
17249        return "SubstanceDefinition";
17250      if (code == ResourceTypeEnum.SUBSTANCENUCLEICACID)
17251        return "SubstanceNucleicAcid";
17252      if (code == ResourceTypeEnum.SUBSTANCEPOLYMER)
17253        return "SubstancePolymer";
17254      if (code == ResourceTypeEnum.SUBSTANCEPROTEIN)
17255        return "SubstanceProtein";
17256      if (code == ResourceTypeEnum.SUBSTANCEREFERENCEINFORMATION)
17257        return "SubstanceReferenceInformation";
17258      if (code == ResourceTypeEnum.SUBSTANCESOURCEMATERIAL)
17259        return "SubstanceSourceMaterial";
17260      if (code == ResourceTypeEnum.SUPPLYDELIVERY)
17261        return "SupplyDelivery";
17262      if (code == ResourceTypeEnum.SUPPLYREQUEST)
17263        return "SupplyRequest";
17264      if (code == ResourceTypeEnum.TASK)
17265        return "Task";
17266      if (code == ResourceTypeEnum.TERMINOLOGYCAPABILITIES)
17267        return "TerminologyCapabilities";
17268      if (code == ResourceTypeEnum.TESTPLAN)
17269        return "TestPlan";
17270      if (code == ResourceTypeEnum.TESTREPORT)
17271        return "TestReport";
17272      if (code == ResourceTypeEnum.TESTSCRIPT)
17273        return "TestScript";
17274      if (code == ResourceTypeEnum.TRANSPORT)
17275        return "Transport";
17276      if (code == ResourceTypeEnum.VALUESET)
17277        return "ValueSet";
17278      if (code == ResourceTypeEnum.VERIFICATIONRESULT)
17279        return "VerificationResult";
17280      if (code == ResourceTypeEnum.VISIONPRESCRIPTION)
17281        return "VisionPrescription";
17282      return "?";
17283   }
17284    public String toSystem(ResourceTypeEnum code) {
17285      return code.getSystem();
17286      }
17287    }
17288
17289    public enum SearchComparator {
17290        /**
17291         * the value for the parameter in the resource is equal to the provided value.
17292         */
17293        EQ, 
17294        /**
17295         * the value for the parameter in the resource is not equal to the provided value.
17296         */
17297        NE, 
17298        /**
17299         * the value for the parameter in the resource is greater than the provided value.
17300         */
17301        GT, 
17302        /**
17303         * the value for the parameter in the resource is less than the provided value.
17304         */
17305        LT, 
17306        /**
17307         * the value for the parameter in the resource is greater or equal to the provided value.
17308         */
17309        GE, 
17310        /**
17311         * the value for the parameter in the resource is less or equal to the provided value.
17312         */
17313        LE, 
17314        /**
17315         * the value for the parameter in the resource starts after the provided value.
17316         */
17317        SA, 
17318        /**
17319         * the value for the parameter in the resource ends before the provided value.
17320         */
17321        EB, 
17322        /**
17323         * the value for the parameter in the resource is approximately the same to the provided value.
17324         */
17325        AP, 
17326        /**
17327         * added to help the parsers
17328         */
17329        NULL;
17330        public static SearchComparator fromCode(String codeString) throws FHIRException {
17331            if (codeString == null || "".equals(codeString))
17332                return null;
17333        if ("eq".equals(codeString))
17334          return EQ;
17335        if ("ne".equals(codeString))
17336          return NE;
17337        if ("gt".equals(codeString))
17338          return GT;
17339        if ("lt".equals(codeString))
17340          return LT;
17341        if ("ge".equals(codeString))
17342          return GE;
17343        if ("le".equals(codeString))
17344          return LE;
17345        if ("sa".equals(codeString))
17346          return SA;
17347        if ("eb".equals(codeString))
17348          return EB;
17349        if ("ap".equals(codeString))
17350          return AP;
17351        throw new FHIRException("Unknown SearchComparator code '"+codeString+"'");
17352        }
17353        public static boolean isValidCode(String codeString) {
17354            if (codeString == null || "".equals(codeString))
17355                return false;
17356          return Utilities.existsInList(codeString, "eq", "ne", "gt", "lt", "ge", "le", "sa", "eb", "ap");
17357        }
17358        public String toCode() {
17359          switch (this) {
17360            case EQ: return "eq";
17361            case NE: return "ne";
17362            case GT: return "gt";
17363            case LT: return "lt";
17364            case GE: return "ge";
17365            case LE: return "le";
17366            case SA: return "sa";
17367            case EB: return "eb";
17368            case AP: return "ap";
17369            case NULL: return null;
17370            default: return "?";
17371          }
17372        }
17373        public String getSystem() {
17374          switch (this) {
17375            case EQ: return "http://hl7.org/fhir/search-comparator";
17376            case NE: return "http://hl7.org/fhir/search-comparator";
17377            case GT: return "http://hl7.org/fhir/search-comparator";
17378            case LT: return "http://hl7.org/fhir/search-comparator";
17379            case GE: return "http://hl7.org/fhir/search-comparator";
17380            case LE: return "http://hl7.org/fhir/search-comparator";
17381            case SA: return "http://hl7.org/fhir/search-comparator";
17382            case EB: return "http://hl7.org/fhir/search-comparator";
17383            case AP: return "http://hl7.org/fhir/search-comparator";
17384            case NULL: return null;
17385            default: return "?";
17386          }
17387        }
17388        public String getDefinition() {
17389          switch (this) {
17390            case EQ: return "the value for the parameter in the resource is equal to the provided value.";
17391            case NE: return "the value for the parameter in the resource is not equal to the provided value.";
17392            case GT: return "the value for the parameter in the resource is greater than the provided value.";
17393            case LT: return "the value for the parameter in the resource is less than the provided value.";
17394            case GE: return "the value for the parameter in the resource is greater or equal to the provided value.";
17395            case LE: return "the value for the parameter in the resource is less or equal to the provided value.";
17396            case SA: return "the value for the parameter in the resource starts after the provided value.";
17397            case EB: return "the value for the parameter in the resource ends before the provided value.";
17398            case AP: return "the value for the parameter in the resource is approximately the same to the provided value.";
17399            case NULL: return null;
17400            default: return "?";
17401          }
17402        }
17403        public String getDisplay() {
17404          switch (this) {
17405            case EQ: return "Equals";
17406            case NE: return "Not Equals";
17407            case GT: return "Greater Than";
17408            case LT: return "Less Than";
17409            case GE: return "Greater or Equals";
17410            case LE: return "Less of Equal";
17411            case SA: return "Starts After";
17412            case EB: return "Ends Before";
17413            case AP: return "Approximately";
17414            case NULL: return null;
17415            default: return "?";
17416          }
17417        }
17418    }
17419
17420  public static class SearchComparatorEnumFactory implements EnumFactory<SearchComparator> {
17421    public SearchComparator fromCode(String codeString) throws IllegalArgumentException {
17422      if (codeString == null || "".equals(codeString))
17423            if (codeString == null || "".equals(codeString))
17424                return null;
17425        if ("eq".equals(codeString))
17426          return SearchComparator.EQ;
17427        if ("ne".equals(codeString))
17428          return SearchComparator.NE;
17429        if ("gt".equals(codeString))
17430          return SearchComparator.GT;
17431        if ("lt".equals(codeString))
17432          return SearchComparator.LT;
17433        if ("ge".equals(codeString))
17434          return SearchComparator.GE;
17435        if ("le".equals(codeString))
17436          return SearchComparator.LE;
17437        if ("sa".equals(codeString))
17438          return SearchComparator.SA;
17439        if ("eb".equals(codeString))
17440          return SearchComparator.EB;
17441        if ("ap".equals(codeString))
17442          return SearchComparator.AP;
17443        throw new IllegalArgumentException("Unknown SearchComparator code '"+codeString+"'");
17444        }
17445
17446        public Enumeration<SearchComparator> fromType(PrimitiveType<?> code) throws FHIRException {
17447          if (code == null)
17448            return null;
17449          if (code.isEmpty())
17450            return new Enumeration<SearchComparator>(this, SearchComparator.NULL, code);
17451          String codeString = ((PrimitiveType) code).asStringValue();
17452          if (codeString == null || "".equals(codeString))
17453            return new Enumeration<SearchComparator>(this, SearchComparator.NULL, code);
17454        if ("eq".equals(codeString))
17455          return new Enumeration<SearchComparator>(this, SearchComparator.EQ, code);
17456        if ("ne".equals(codeString))
17457          return new Enumeration<SearchComparator>(this, SearchComparator.NE, code);
17458        if ("gt".equals(codeString))
17459          return new Enumeration<SearchComparator>(this, SearchComparator.GT, code);
17460        if ("lt".equals(codeString))
17461          return new Enumeration<SearchComparator>(this, SearchComparator.LT, code);
17462        if ("ge".equals(codeString))
17463          return new Enumeration<SearchComparator>(this, SearchComparator.GE, code);
17464        if ("le".equals(codeString))
17465          return new Enumeration<SearchComparator>(this, SearchComparator.LE, code);
17466        if ("sa".equals(codeString))
17467          return new Enumeration<SearchComparator>(this, SearchComparator.SA, code);
17468        if ("eb".equals(codeString))
17469          return new Enumeration<SearchComparator>(this, SearchComparator.EB, code);
17470        if ("ap".equals(codeString))
17471          return new Enumeration<SearchComparator>(this, SearchComparator.AP, code);
17472        throw new FHIRException("Unknown SearchComparator code '"+codeString+"'");
17473        }
17474    public String toCode(SearchComparator code) {
17475       if (code == SearchComparator.NULL)
17476           return null;
17477       if (code == SearchComparator.EQ)
17478        return "eq";
17479      if (code == SearchComparator.NE)
17480        return "ne";
17481      if (code == SearchComparator.GT)
17482        return "gt";
17483      if (code == SearchComparator.LT)
17484        return "lt";
17485      if (code == SearchComparator.GE)
17486        return "ge";
17487      if (code == SearchComparator.LE)
17488        return "le";
17489      if (code == SearchComparator.SA)
17490        return "sa";
17491      if (code == SearchComparator.EB)
17492        return "eb";
17493      if (code == SearchComparator.AP)
17494        return "ap";
17495      return "?";
17496   }
17497    public String toSystem(SearchComparator code) {
17498      return code.getSystem();
17499      }
17500    }
17501
17502    public enum SearchModifierCode {
17503        /**
17504         * The search parameter returns resources that have a value or not.
17505         */
17506        MISSING, 
17507        /**
17508         * The search parameter returns resources that have a value that exactly matches the supplied parameter (the whole string, including casing and accents).
17509         */
17510        EXACT, 
17511        /**
17512         * The search parameter returns resources that include the supplied parameter value anywhere within the field being searched.
17513         */
17514        CONTAINS, 
17515        /**
17516         * The search parameter returns resources that do not contain a match.
17517         */
17518        NOT, 
17519        /**
17520         * The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, Identifier.type.text, or Reference.display.
17521         */
17522        TEXT, 
17523        /**
17524         * The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is in the specified value set.
17525         */
17526        IN, 
17527        /**
17528         * The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is not in the specified value set.
17529         */
17530        NOTIN, 
17531        /**
17532         * The search parameter tests whether the value in a resource is subsumed by the specified value (is-a, or hierarchical relationships).
17533         */
17534        BELOW, 
17535        /**
17536         * The search parameter tests whether the value in a resource subsumes the specified value (is-a, or hierarchical relationships).
17537         */
17538        ABOVE, 
17539        /**
17540         * The search parameter only applies to the Resource Type specified as a modifier (e.g. the modifier is not actually :type, but :Patient etc.).
17541         */
17542        TYPE, 
17543        /**
17544         * The search parameter applies to the identifier on the resource, not the reference.
17545         */
17546        IDENTIFIER, 
17547        /**
17548         * The search parameter has the format system|code|value, where the system and code refer to an Identifier.type.coding.system and .code, and match if any of the type codes match. All 3 parts must be present.
17549         */
17550        OFTYPE, 
17551        /**
17552         * Tests whether the textual display value in a resource (e.g., CodeableConcept.text, Coding.display, or Reference.display) matches the supplied parameter value.
17553         */
17554        CODETEXT, 
17555        /**
17556         * Tests whether the value in a resource matches the supplied parameter value using advanced text handling that searches text associated with the code/value - e.g., CodeableConcept.text, Coding.display, or Identifier.type.text.
17557         */
17558        TEXTADVANCED, 
17559        /**
17560         * The search parameter indicates an inclusion directive (_include, _revinclude) that is applied to an included resource instead of the matching resource.
17561         */
17562        ITERATE, 
17563        /**
17564         * added to help the parsers
17565         */
17566        NULL;
17567        public static SearchModifierCode fromCode(String codeString) throws FHIRException {
17568            if (codeString == null || "".equals(codeString))
17569                return null;
17570        if ("missing".equals(codeString))
17571          return MISSING;
17572        if ("exact".equals(codeString))
17573          return EXACT;
17574        if ("contains".equals(codeString))
17575          return CONTAINS;
17576        if ("not".equals(codeString))
17577          return NOT;
17578        if ("text".equals(codeString))
17579          return TEXT;
17580        if ("in".equals(codeString))
17581          return IN;
17582        if ("not-in".equals(codeString))
17583          return NOTIN;
17584        if ("below".equals(codeString))
17585          return BELOW;
17586        if ("above".equals(codeString))
17587          return ABOVE;
17588        if ("type".equals(codeString))
17589          return TYPE;
17590        if ("identifier".equals(codeString))
17591          return IDENTIFIER;
17592        if ("of-type".equals(codeString))
17593          return OFTYPE;
17594        if ("code-text".equals(codeString))
17595          return CODETEXT;
17596        if ("text-advanced".equals(codeString))
17597          return TEXTADVANCED;
17598        if ("iterate".equals(codeString))
17599          return ITERATE;
17600        throw new FHIRException("Unknown SearchModifierCode code '"+codeString+"'");
17601        }
17602        public static boolean isValidCode(String codeString) {
17603            if (codeString == null || "".equals(codeString))
17604                return false;
17605          return Utilities.existsInList(codeString, "missing", "exact", "contains", "not", "text", "in", "not-in", "below", "above", "type", "identifier", "of-type", "code-text", "text-advanced", "iterate");
17606        }
17607        public String toCode() {
17608          switch (this) {
17609            case MISSING: return "missing";
17610            case EXACT: return "exact";
17611            case CONTAINS: return "contains";
17612            case NOT: return "not";
17613            case TEXT: return "text";
17614            case IN: return "in";
17615            case NOTIN: return "not-in";
17616            case BELOW: return "below";
17617            case ABOVE: return "above";
17618            case TYPE: return "type";
17619            case IDENTIFIER: return "identifier";
17620            case OFTYPE: return "of-type";
17621            case CODETEXT: return "code-text";
17622            case TEXTADVANCED: return "text-advanced";
17623            case ITERATE: return "iterate";
17624            case NULL: return null;
17625            default: return "?";
17626          }
17627        }
17628        public String getSystem() {
17629          switch (this) {
17630            case MISSING: return "http://hl7.org/fhir/search-modifier-code";
17631            case EXACT: return "http://hl7.org/fhir/search-modifier-code";
17632            case CONTAINS: return "http://hl7.org/fhir/search-modifier-code";
17633            case NOT: return "http://hl7.org/fhir/search-modifier-code";
17634            case TEXT: return "http://hl7.org/fhir/search-modifier-code";
17635            case IN: return "http://hl7.org/fhir/search-modifier-code";
17636            case NOTIN: return "http://hl7.org/fhir/search-modifier-code";
17637            case BELOW: return "http://hl7.org/fhir/search-modifier-code";
17638            case ABOVE: return "http://hl7.org/fhir/search-modifier-code";
17639            case TYPE: return "http://hl7.org/fhir/search-modifier-code";
17640            case IDENTIFIER: return "http://hl7.org/fhir/search-modifier-code";
17641            case OFTYPE: return "http://hl7.org/fhir/search-modifier-code";
17642            case CODETEXT: return "http://hl7.org/fhir/search-modifier-code";
17643            case TEXTADVANCED: return "http://hl7.org/fhir/search-modifier-code";
17644            case ITERATE: return "http://hl7.org/fhir/search-modifier-code";
17645            case NULL: return null;
17646            default: return "?";
17647          }
17648        }
17649        public String getDefinition() {
17650          switch (this) {
17651            case MISSING: return "The search parameter returns resources that have a value or not.";
17652            case EXACT: return "The search parameter returns resources that have a value that exactly matches the supplied parameter (the whole string, including casing and accents).";
17653            case CONTAINS: return "The search parameter returns resources that include the supplied parameter value anywhere within the field being searched.";
17654            case NOT: return "The search parameter returns resources that do not contain a match.";
17655            case TEXT: return "The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, Identifier.type.text, or Reference.display.";
17656            case IN: return "The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is in the specified value set.";
17657            case NOTIN: return "The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is not in the specified value set.";
17658            case BELOW: return "The search parameter tests whether the value in a resource is subsumed by the specified value (is-a, or hierarchical relationships).";
17659            case ABOVE: return "The search parameter tests whether the value in a resource subsumes the specified value (is-a, or hierarchical relationships).";
17660            case TYPE: return "The search parameter only applies to the Resource Type specified as a modifier (e.g. the modifier is not actually :type, but :Patient etc.).";
17661            case IDENTIFIER: return "The search parameter applies to the identifier on the resource, not the reference.";
17662            case OFTYPE: return "The search parameter has the format system|code|value, where the system and code refer to an Identifier.type.coding.system and .code, and match if any of the type codes match. All 3 parts must be present.";
17663            case CODETEXT: return "Tests whether the textual display value in a resource (e.g., CodeableConcept.text, Coding.display, or Reference.display) matches the supplied parameter value.";
17664            case TEXTADVANCED: return "Tests whether the value in a resource matches the supplied parameter value using advanced text handling that searches text associated with the code/value - e.g., CodeableConcept.text, Coding.display, or Identifier.type.text.";
17665            case ITERATE: return "The search parameter indicates an inclusion directive (_include, _revinclude) that is applied to an included resource instead of the matching resource.";
17666            case NULL: return null;
17667            default: return "?";
17668          }
17669        }
17670        public String getDisplay() {
17671          switch (this) {
17672            case MISSING: return "Missing";
17673            case EXACT: return "Exact";
17674            case CONTAINS: return "Contains";
17675            case NOT: return "Not";
17676            case TEXT: return "Text";
17677            case IN: return "In";
17678            case NOTIN: return "Not In";
17679            case BELOW: return "Below";
17680            case ABOVE: return "Above";
17681            case TYPE: return "Type";
17682            case IDENTIFIER: return "Identifier";
17683            case OFTYPE: return "Of Type";
17684            case CODETEXT: return "Code Text";
17685            case TEXTADVANCED: return "Text Advanced";
17686            case ITERATE: return "Iterate";
17687            case NULL: return null;
17688            default: return "?";
17689          }
17690        }
17691    }
17692
17693  public static class SearchModifierCodeEnumFactory implements EnumFactory<SearchModifierCode> {
17694    public SearchModifierCode fromCode(String codeString) throws IllegalArgumentException {
17695      if (codeString == null || "".equals(codeString))
17696            if (codeString == null || "".equals(codeString))
17697                return null;
17698        if ("missing".equals(codeString))
17699          return SearchModifierCode.MISSING;
17700        if ("exact".equals(codeString))
17701          return SearchModifierCode.EXACT;
17702        if ("contains".equals(codeString))
17703          return SearchModifierCode.CONTAINS;
17704        if ("not".equals(codeString))
17705          return SearchModifierCode.NOT;
17706        if ("text".equals(codeString))
17707          return SearchModifierCode.TEXT;
17708        if ("in".equals(codeString))
17709          return SearchModifierCode.IN;
17710        if ("not-in".equals(codeString))
17711          return SearchModifierCode.NOTIN;
17712        if ("below".equals(codeString))
17713          return SearchModifierCode.BELOW;
17714        if ("above".equals(codeString))
17715          return SearchModifierCode.ABOVE;
17716        if ("type".equals(codeString))
17717          return SearchModifierCode.TYPE;
17718        if ("identifier".equals(codeString))
17719          return SearchModifierCode.IDENTIFIER;
17720        if ("of-type".equals(codeString))
17721          return SearchModifierCode.OFTYPE;
17722        if ("code-text".equals(codeString))
17723          return SearchModifierCode.CODETEXT;
17724        if ("text-advanced".equals(codeString))
17725          return SearchModifierCode.TEXTADVANCED;
17726        if ("iterate".equals(codeString))
17727          return SearchModifierCode.ITERATE;
17728        throw new IllegalArgumentException("Unknown SearchModifierCode code '"+codeString+"'");
17729        }
17730
17731        public Enumeration<SearchModifierCode> fromType(PrimitiveType<?> code) throws FHIRException {
17732          if (code == null)
17733            return null;
17734          if (code.isEmpty())
17735            return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NULL, code);
17736          String codeString = ((PrimitiveType) code).asStringValue();
17737          if (codeString == null || "".equals(codeString))
17738            return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NULL, code);
17739        if ("missing".equals(codeString))
17740          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.MISSING, code);
17741        if ("exact".equals(codeString))
17742          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.EXACT, code);
17743        if ("contains".equals(codeString))
17744          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.CONTAINS, code);
17745        if ("not".equals(codeString))
17746          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NOT, code);
17747        if ("text".equals(codeString))
17748          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.TEXT, code);
17749        if ("in".equals(codeString))
17750          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.IN, code);
17751        if ("not-in".equals(codeString))
17752          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NOTIN, code);
17753        if ("below".equals(codeString))
17754          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.BELOW, code);
17755        if ("above".equals(codeString))
17756          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.ABOVE, code);
17757        if ("type".equals(codeString))
17758          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.TYPE, code);
17759        if ("identifier".equals(codeString))
17760          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.IDENTIFIER, code);
17761        if ("of-type".equals(codeString))
17762          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.OFTYPE, code);
17763        if ("code-text".equals(codeString))
17764          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.CODETEXT, code);
17765        if ("text-advanced".equals(codeString))
17766          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.TEXTADVANCED, code);
17767        if ("iterate".equals(codeString))
17768          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.ITERATE, code);
17769        throw new FHIRException("Unknown SearchModifierCode code '"+codeString+"'");
17770        }
17771    public String toCode(SearchModifierCode code) {
17772       if (code == SearchModifierCode.NULL)
17773           return null;
17774       if (code == SearchModifierCode.MISSING)
17775        return "missing";
17776      if (code == SearchModifierCode.EXACT)
17777        return "exact";
17778      if (code == SearchModifierCode.CONTAINS)
17779        return "contains";
17780      if (code == SearchModifierCode.NOT)
17781        return "not";
17782      if (code == SearchModifierCode.TEXT)
17783        return "text";
17784      if (code == SearchModifierCode.IN)
17785        return "in";
17786      if (code == SearchModifierCode.NOTIN)
17787        return "not-in";
17788      if (code == SearchModifierCode.BELOW)
17789        return "below";
17790      if (code == SearchModifierCode.ABOVE)
17791        return "above";
17792      if (code == SearchModifierCode.TYPE)
17793        return "type";
17794      if (code == SearchModifierCode.IDENTIFIER)
17795        return "identifier";
17796      if (code == SearchModifierCode.OFTYPE)
17797        return "of-type";
17798      if (code == SearchModifierCode.CODETEXT)
17799        return "code-text";
17800      if (code == SearchModifierCode.TEXTADVANCED)
17801        return "text-advanced";
17802      if (code == SearchModifierCode.ITERATE)
17803        return "iterate";
17804      return "?";
17805   }
17806    public String toSystem(SearchModifierCode code) {
17807      return code.getSystem();
17808      }
17809    }
17810
17811    public enum SearchParamType {
17812        /**
17813         * Search parameter SHALL be a number (a whole number, or a decimal).
17814         */
17815        NUMBER, 
17816        /**
17817         * Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.
17818         */
17819        DATE, 
17820        /**
17821         * 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.
17822         */
17823        STRING, 
17824        /**
17825         * 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.
17826         */
17827        TOKEN, 
17828        /**
17829         * A reference to another resource (Reference or canonical).
17830         */
17831        REFERENCE, 
17832        /**
17833         * A composite search parameter that combines a search on two values together.
17834         */
17835        COMPOSITE, 
17836        /**
17837         * A search parameter that searches on a quantity.
17838         */
17839        QUANTITY, 
17840        /**
17841         * A search parameter that searches on a URI (RFC 3986).
17842         */
17843        URI, 
17844        /**
17845         * Special logic applies to this parameter per the description of the search parameter.
17846         */
17847        SPECIAL, 
17848        /**
17849         * added to help the parsers
17850         */
17851        NULL;
17852        public static SearchParamType fromCode(String codeString) throws FHIRException {
17853            if (codeString == null || "".equals(codeString))
17854                return null;
17855        if ("number".equals(codeString))
17856          return NUMBER;
17857        if ("date".equals(codeString))
17858          return DATE;
17859        if ("string".equals(codeString))
17860          return STRING;
17861        if ("token".equals(codeString))
17862          return TOKEN;
17863        if ("reference".equals(codeString))
17864          return REFERENCE;
17865        if ("composite".equals(codeString))
17866          return COMPOSITE;
17867        if ("quantity".equals(codeString))
17868          return QUANTITY;
17869        if ("uri".equals(codeString))
17870          return URI;
17871        if ("special".equals(codeString))
17872          return SPECIAL;
17873        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
17874        }
17875        public static boolean isValidCode(String codeString) {
17876            if (codeString == null || "".equals(codeString))
17877                return false;
17878          return Utilities.existsInList(codeString, "number", "date", "string", "token", "reference", "composite", "quantity", "uri", "special");
17879        }
17880        public String toCode() {
17881          switch (this) {
17882            case NUMBER: return "number";
17883            case DATE: return "date";
17884            case STRING: return "string";
17885            case TOKEN: return "token";
17886            case REFERENCE: return "reference";
17887            case COMPOSITE: return "composite";
17888            case QUANTITY: return "quantity";
17889            case URI: return "uri";
17890            case SPECIAL: return "special";
17891            case NULL: return null;
17892            default: return "?";
17893          }
17894        }
17895        public String getSystem() {
17896          switch (this) {
17897            case NUMBER: return "http://hl7.org/fhir/search-param-type";
17898            case DATE: return "http://hl7.org/fhir/search-param-type";
17899            case STRING: return "http://hl7.org/fhir/search-param-type";
17900            case TOKEN: return "http://hl7.org/fhir/search-param-type";
17901            case REFERENCE: return "http://hl7.org/fhir/search-param-type";
17902            case COMPOSITE: return "http://hl7.org/fhir/search-param-type";
17903            case QUANTITY: return "http://hl7.org/fhir/search-param-type";
17904            case URI: return "http://hl7.org/fhir/search-param-type";
17905            case SPECIAL: return "http://hl7.org/fhir/search-param-type";
17906            case NULL: return null;
17907            default: return "?";
17908          }
17909        }
17910        public String getDefinition() {
17911          switch (this) {
17912            case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal).";
17913            case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.";
17914            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.";
17915            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.";
17916            case REFERENCE: return "A reference to another resource (Reference or canonical).";
17917            case COMPOSITE: return "A composite search parameter that combines a search on two values together.";
17918            case QUANTITY: return "A search parameter that searches on a quantity.";
17919            case URI: return "A search parameter that searches on a URI (RFC 3986).";
17920            case SPECIAL: return "Special logic applies to this parameter per the description of the search parameter.";
17921            case NULL: return null;
17922            default: return "?";
17923          }
17924        }
17925        public String getDisplay() {
17926          switch (this) {
17927            case NUMBER: return "Number";
17928            case DATE: return "Date/DateTime";
17929            case STRING: return "String";
17930            case TOKEN: return "Token";
17931            case REFERENCE: return "Reference";
17932            case COMPOSITE: return "Composite";
17933            case QUANTITY: return "Quantity";
17934            case URI: return "URI";
17935            case SPECIAL: return "Special";
17936            case NULL: return null;
17937            default: return "?";
17938          }
17939        }
17940    }
17941
17942  public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> {
17943    public SearchParamType fromCode(String codeString) throws IllegalArgumentException {
17944      if (codeString == null || "".equals(codeString))
17945            if (codeString == null || "".equals(codeString))
17946                return null;
17947        if ("number".equals(codeString))
17948          return SearchParamType.NUMBER;
17949        if ("date".equals(codeString))
17950          return SearchParamType.DATE;
17951        if ("string".equals(codeString))
17952          return SearchParamType.STRING;
17953        if ("token".equals(codeString))
17954          return SearchParamType.TOKEN;
17955        if ("reference".equals(codeString))
17956          return SearchParamType.REFERENCE;
17957        if ("composite".equals(codeString))
17958          return SearchParamType.COMPOSITE;
17959        if ("quantity".equals(codeString))
17960          return SearchParamType.QUANTITY;
17961        if ("uri".equals(codeString))
17962          return SearchParamType.URI;
17963        if ("special".equals(codeString))
17964          return SearchParamType.SPECIAL;
17965        throw new IllegalArgumentException("Unknown SearchParamType code '"+codeString+"'");
17966        }
17967
17968        public Enumeration<SearchParamType> fromType(PrimitiveType<?> code) throws FHIRException {
17969          if (code == null)
17970            return null;
17971          if (code.isEmpty())
17972            return new Enumeration<SearchParamType>(this, SearchParamType.NULL, code);
17973          String codeString = ((PrimitiveType) code).asStringValue();
17974          if (codeString == null || "".equals(codeString))
17975            return new Enumeration<SearchParamType>(this, SearchParamType.NULL, code);
17976        if ("number".equals(codeString))
17977          return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER, code);
17978        if ("date".equals(codeString))
17979          return new Enumeration<SearchParamType>(this, SearchParamType.DATE, code);
17980        if ("string".equals(codeString))
17981          return new Enumeration<SearchParamType>(this, SearchParamType.STRING, code);
17982        if ("token".equals(codeString))
17983          return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN, code);
17984        if ("reference".equals(codeString))
17985          return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE, code);
17986        if ("composite".equals(codeString))
17987          return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE, code);
17988        if ("quantity".equals(codeString))
17989          return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY, code);
17990        if ("uri".equals(codeString))
17991          return new Enumeration<SearchParamType>(this, SearchParamType.URI, code);
17992        if ("special".equals(codeString))
17993          return new Enumeration<SearchParamType>(this, SearchParamType.SPECIAL, code);
17994        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
17995        }
17996    public String toCode(SearchParamType code) {
17997       if (code == SearchParamType.NULL)
17998           return null;
17999       if (code == SearchParamType.NUMBER)
18000        return "number";
18001      if (code == SearchParamType.DATE)
18002        return "date";
18003      if (code == SearchParamType.STRING)
18004        return "string";
18005      if (code == SearchParamType.TOKEN)
18006        return "token";
18007      if (code == SearchParamType.REFERENCE)
18008        return "reference";
18009      if (code == SearchParamType.COMPOSITE)
18010        return "composite";
18011      if (code == SearchParamType.QUANTITY)
18012        return "quantity";
18013      if (code == SearchParamType.URI)
18014        return "uri";
18015      if (code == SearchParamType.SPECIAL)
18016        return "special";
18017      return "?";
18018   }
18019    public String toSystem(SearchParamType code) {
18020      return code.getSystem();
18021      }
18022    }
18023
18024    public enum SubscriptionStatusCodes {
18025        /**
18026         * The client has requested the subscription, and the server has not yet set it up.
18027         */
18028        REQUESTED, 
18029        /**
18030         * The subscription is active.
18031         */
18032        ACTIVE, 
18033        /**
18034         * The server has an error executing the notification.
18035         */
18036        ERROR, 
18037        /**
18038         * Too many errors have occurred or the subscription has expired.
18039         */
18040        OFF, 
18041        /**
18042         * This subscription has been flagged as incorrect.
18043         */
18044        ENTEREDINERROR, 
18045        /**
18046         * added to help the parsers
18047         */
18048        NULL;
18049        public static SubscriptionStatusCodes fromCode(String codeString) throws FHIRException {
18050            if (codeString == null || "".equals(codeString))
18051                return null;
18052        if ("requested".equals(codeString))
18053          return REQUESTED;
18054        if ("active".equals(codeString))
18055          return ACTIVE;
18056        if ("error".equals(codeString))
18057          return ERROR;
18058        if ("off".equals(codeString))
18059          return OFF;
18060        if ("entered-in-error".equals(codeString))
18061          return ENTEREDINERROR;
18062        throw new FHIRException("Unknown SubscriptionStatusCodes code '"+codeString+"'");
18063        }
18064        public static boolean isValidCode(String codeString) {
18065            if (codeString == null || "".equals(codeString))
18066                return false;
18067          return Utilities.existsInList(codeString, "requested", "active", "error", "off", "entered-in-error");
18068        }
18069        public String toCode() {
18070          switch (this) {
18071            case REQUESTED: return "requested";
18072            case ACTIVE: return "active";
18073            case ERROR: return "error";
18074            case OFF: return "off";
18075            case ENTEREDINERROR: return "entered-in-error";
18076            case NULL: return null;
18077            default: return "?";
18078          }
18079        }
18080        public String getSystem() {
18081          switch (this) {
18082            case REQUESTED: return "http://hl7.org/fhir/subscription-status";
18083            case ACTIVE: return "http://hl7.org/fhir/subscription-status";
18084            case ERROR: return "http://hl7.org/fhir/subscription-status";
18085            case OFF: return "http://hl7.org/fhir/subscription-status";
18086            case ENTEREDINERROR: return "http://hl7.org/fhir/subscription-status";
18087            case NULL: return null;
18088            default: return "?";
18089          }
18090        }
18091        public String getDefinition() {
18092          switch (this) {
18093            case REQUESTED: return "The client has requested the subscription, and the server has not yet set it up.";
18094            case ACTIVE: return "The subscription is active.";
18095            case ERROR: return "The server has an error executing the notification.";
18096            case OFF: return "Too many errors have occurred or the subscription has expired.";
18097            case ENTEREDINERROR: return "This subscription has been flagged as incorrect.";
18098            case NULL: return null;
18099            default: return "?";
18100          }
18101        }
18102        public String getDisplay() {
18103          switch (this) {
18104            case REQUESTED: return "Requested";
18105            case ACTIVE: return "Active";
18106            case ERROR: return "Error";
18107            case OFF: return "Off";
18108            case ENTEREDINERROR: return "Entered in Error";
18109            case NULL: return null;
18110            default: return "?";
18111          }
18112        }
18113    }
18114
18115  public static class SubscriptionStatusCodesEnumFactory implements EnumFactory<SubscriptionStatusCodes> {
18116    public SubscriptionStatusCodes fromCode(String codeString) throws IllegalArgumentException {
18117      if (codeString == null || "".equals(codeString))
18118            if (codeString == null || "".equals(codeString))
18119                return null;
18120        if ("requested".equals(codeString))
18121          return SubscriptionStatusCodes.REQUESTED;
18122        if ("active".equals(codeString))
18123          return SubscriptionStatusCodes.ACTIVE;
18124        if ("error".equals(codeString))
18125          return SubscriptionStatusCodes.ERROR;
18126        if ("off".equals(codeString))
18127          return SubscriptionStatusCodes.OFF;
18128        if ("entered-in-error".equals(codeString))
18129          return SubscriptionStatusCodes.ENTEREDINERROR;
18130        throw new IllegalArgumentException("Unknown SubscriptionStatusCodes code '"+codeString+"'");
18131        }
18132
18133        public Enumeration<SubscriptionStatusCodes> fromType(PrimitiveType<?> code) throws FHIRException {
18134          if (code == null)
18135            return null;
18136          if (code.isEmpty())
18137            return new Enumeration<SubscriptionStatusCodes>(this, SubscriptionStatusCodes.NULL, code);
18138          String codeString = ((PrimitiveType) code).asStringValue();
18139          if (codeString == null || "".equals(codeString))
18140            return new Enumeration<SubscriptionStatusCodes>(this, SubscriptionStatusCodes.NULL, code);
18141        if ("requested".equals(codeString))
18142          return new Enumeration<SubscriptionStatusCodes>(this, SubscriptionStatusCodes.REQUESTED, code);
18143        if ("active".equals(codeString))
18144          return new Enumeration<SubscriptionStatusCodes>(this, SubscriptionStatusCodes.ACTIVE, code);
18145        if ("error".equals(codeString))
18146          return new Enumeration<SubscriptionStatusCodes>(this, SubscriptionStatusCodes.ERROR, code);
18147        if ("off".equals(codeString))
18148          return new Enumeration<SubscriptionStatusCodes>(this, SubscriptionStatusCodes.OFF, code);
18149        if ("entered-in-error".equals(codeString))
18150          return new Enumeration<SubscriptionStatusCodes>(this, SubscriptionStatusCodes.ENTEREDINERROR, code);
18151        throw new FHIRException("Unknown SubscriptionStatusCodes code '"+codeString+"'");
18152        }
18153    public String toCode(SubscriptionStatusCodes code) {
18154       if (code == SubscriptionStatusCodes.NULL)
18155           return null;
18156       if (code == SubscriptionStatusCodes.REQUESTED)
18157        return "requested";
18158      if (code == SubscriptionStatusCodes.ACTIVE)
18159        return "active";
18160      if (code == SubscriptionStatusCodes.ERROR)
18161        return "error";
18162      if (code == SubscriptionStatusCodes.OFF)
18163        return "off";
18164      if (code == SubscriptionStatusCodes.ENTEREDINERROR)
18165        return "entered-in-error";
18166      return "?";
18167   }
18168    public String toSystem(SubscriptionStatusCodes code) {
18169      return code.getSystem();
18170      }
18171    }
18172
18173    public enum Use {
18174        /**
18175         * The treatment is complete and this represents a Claim for the services.
18176         */
18177        CLAIM, 
18178        /**
18179         * The treatment is proposed and this represents a Pre-authorization for the services.
18180         */
18181        PREAUTHORIZATION, 
18182        /**
18183         * The treatment is proposed and this represents a Pre-determination for the services.
18184         */
18185        PREDETERMINATION, 
18186        /**
18187         * added to help the parsers
18188         */
18189        NULL;
18190        public static Use fromCode(String codeString) throws FHIRException {
18191            if (codeString == null || "".equals(codeString))
18192                return null;
18193        if ("claim".equals(codeString))
18194          return CLAIM;
18195        if ("preauthorization".equals(codeString))
18196          return PREAUTHORIZATION;
18197        if ("predetermination".equals(codeString))
18198          return PREDETERMINATION;
18199        throw new FHIRException("Unknown Use code '"+codeString+"'");
18200        }
18201        public static boolean isValidCode(String codeString) {
18202            if (codeString == null || "".equals(codeString))
18203                return false;
18204          return Utilities.existsInList(codeString, "claim", "preauthorization", "predetermination");
18205        }
18206        public String toCode() {
18207          switch (this) {
18208            case CLAIM: return "claim";
18209            case PREAUTHORIZATION: return "preauthorization";
18210            case PREDETERMINATION: return "predetermination";
18211            case NULL: return null;
18212            default: return "?";
18213          }
18214        }
18215        public String getSystem() {
18216          switch (this) {
18217            case CLAIM: return "http://hl7.org/fhir/claim-use";
18218            case PREAUTHORIZATION: return "http://hl7.org/fhir/claim-use";
18219            case PREDETERMINATION: return "http://hl7.org/fhir/claim-use";
18220            case NULL: return null;
18221            default: return "?";
18222          }
18223        }
18224        public String getDefinition() {
18225          switch (this) {
18226            case CLAIM: return "The treatment is complete and this represents a Claim for the services.";
18227            case PREAUTHORIZATION: return "The treatment is proposed and this represents a Pre-authorization for the services.";
18228            case PREDETERMINATION: return "The treatment is proposed and this represents a Pre-determination for the services.";
18229            case NULL: return null;
18230            default: return "?";
18231          }
18232        }
18233        public String getDisplay() {
18234          switch (this) {
18235            case CLAIM: return "Claim";
18236            case PREAUTHORIZATION: return "Preauthorization";
18237            case PREDETERMINATION: return "Predetermination";
18238            case NULL: return null;
18239            default: return "?";
18240          }
18241        }
18242    }
18243
18244  public static class UseEnumFactory implements EnumFactory<Use> {
18245    public Use fromCode(String codeString) throws IllegalArgumentException {
18246      if (codeString == null || "".equals(codeString))
18247            if (codeString == null || "".equals(codeString))
18248                return null;
18249        if ("claim".equals(codeString))
18250          return Use.CLAIM;
18251        if ("preauthorization".equals(codeString))
18252          return Use.PREAUTHORIZATION;
18253        if ("predetermination".equals(codeString))
18254          return Use.PREDETERMINATION;
18255        throw new IllegalArgumentException("Unknown Use code '"+codeString+"'");
18256        }
18257
18258        public Enumeration<Use> fromType(PrimitiveType<?> code) throws FHIRException {
18259          if (code == null)
18260            return null;
18261          if (code.isEmpty())
18262            return new Enumeration<Use>(this, Use.NULL, code);
18263          String codeString = ((PrimitiveType) code).asStringValue();
18264          if (codeString == null || "".equals(codeString))
18265            return new Enumeration<Use>(this, Use.NULL, code);
18266        if ("claim".equals(codeString))
18267          return new Enumeration<Use>(this, Use.CLAIM, code);
18268        if ("preauthorization".equals(codeString))
18269          return new Enumeration<Use>(this, Use.PREAUTHORIZATION, code);
18270        if ("predetermination".equals(codeString))
18271          return new Enumeration<Use>(this, Use.PREDETERMINATION, code);
18272        throw new FHIRException("Unknown Use code '"+codeString+"'");
18273        }
18274    public String toCode(Use code) {
18275       if (code == Use.NULL)
18276           return null;
18277       if (code == Use.CLAIM)
18278        return "claim";
18279      if (code == Use.PREAUTHORIZATION)
18280        return "preauthorization";
18281      if (code == Use.PREDETERMINATION)
18282        return "predetermination";
18283      return "?";
18284   }
18285    public String toSystem(Use code) {
18286      return code.getSystem();
18287      }
18288    }
18289
18290    public enum VersionIndependentResourceTypesAll {
18291        /**
18292         * 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.
18293         */
18294        ACCOUNT, 
18295        /**
18296         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
18297         */
18298        ACTIVITYDEFINITION, 
18299        /**
18300         * The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.
18301         */
18302        ACTORDEFINITION, 
18303        /**
18304         * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed).
18305         */
18306        ADMINISTRABLEPRODUCTDEFINITION, 
18307        /**
18308         * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research participant. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical  research trial management.  Adverse events can be reported by healthcare providers, patients, caregivers or by medical products manufacturers.  Given the differences between these two concepts, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints.
18309         */
18310        ADVERSEEVENT, 
18311        /**
18312         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
18313         */
18314        ALLERGYINTOLERANCE, 
18315        /**
18316         * 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).
18317         */
18318        APPOINTMENT, 
18319        /**
18320         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
18321         */
18322        APPOINTMENTRESPONSE, 
18323        /**
18324         * This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content.
18325         */
18326        ARTIFACTASSESSMENT, 
18327        /**
18328         * A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis.
18329         */
18330        AUDITEVENT, 
18331        /**
18332         * 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.
18333         */
18334        BASIC, 
18335        /**
18336         * 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.
18337         */
18338        BINARY, 
18339        /**
18340         * A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity.
18341         */
18342        BIOLOGICALLYDERIVEDPRODUCT, 
18343        /**
18344         * A record of dispensation of a biologically derived product.
18345         */
18346        BIOLOGICALLYDERIVEDPRODUCTDISPENSE, 
18347        /**
18348         * 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.
18349         */
18350        BODYSTRUCTURE, 
18351        /**
18352         * A container for a collection of resources.
18353         */
18354        BUNDLE, 
18355        /**
18356         * Common Interface declaration for conformance and knowledge artifact resources.
18357         */
18358        CANONICALRESOURCE, 
18359        /**
18360         * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client 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.
18361         */
18362        CAPABILITYSTATEMENT, 
18363        /**
18364         * 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.
18365         */
18366        CAREPLAN, 
18367        /**
18368         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care.
18369         */
18370        CARETEAM, 
18371        /**
18372         * 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.
18373         */
18374        CHARGEITEM, 
18375        /**
18376         * 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.
18377         */
18378        CHARGEITEMDEFINITION, 
18379        /**
18380         * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources.
18381         */
18382        CITATION, 
18383        /**
18384         * 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.
18385         */
18386        CLAIM, 
18387        /**
18388         * This resource provides the adjudication details from the processing of a Claim resource.
18389         */
18390        CLAIMRESPONSE, 
18391        /**
18392         * 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.
18393         */
18394        CLINICALIMPRESSION, 
18395        /**
18396         * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure.
18397         */
18398        CLINICALUSEDEFINITION, 
18399        /**
18400         * 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.
18401         */
18402        CODESYSTEM, 
18403        /**
18404         * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition.
18405         */
18406        COMMUNICATION, 
18407        /**
18408         * 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.
18409         */
18410        COMMUNICATIONREQUEST, 
18411        /**
18412         * A compartment definition that defines how resources are accessed on a server.
18413         */
18414        COMPARTMENTDEFINITION, 
18415        /**
18416         * 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.).
18417         */
18418        COMPOSITION, 
18419        /**
18420         * 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.
18421         */
18422        CONCEPTMAP, 
18423        /**
18424         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
18425         */
18426        CONDITION, 
18427        /**
18428         * A definition of a condition and information relevant to managing it.
18429         */
18430        CONDITIONDEFINITION, 
18431        /**
18432         * A record of a healthcare consumer?s  choices  or choices made on their behalf by a third party, 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.
18433         */
18434        CONSENT, 
18435        /**
18436         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
18437         */
18438        CONTRACT, 
18439        /**
18440         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
18441         */
18442        COVERAGE, 
18443        /**
18444         * 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.
18445         */
18446        COVERAGEELIGIBILITYREQUEST, 
18447        /**
18448         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
18449         */
18450        COVERAGEELIGIBILITYRESPONSE, 
18451        /**
18452         * 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, gaps in care, etc.
18453         */
18454        DETECTEDISSUE, 
18455        /**
18456         * This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc.), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element.
18457         */
18458        DEVICE, 
18459        /**
18460         * A record of association of a device.
18461         */
18462        DEVICEASSOCIATION, 
18463        /**
18464         * This is a specialized resource that defines the characteristics and capabilities of a device.
18465         */
18466        DEVICEDEFINITION, 
18467        /**
18468         * Indicates that a device is to be or has been dispensed for a named person/patient.  This includes a description of the product (supply) provided and the instructions for using the device.
18469         */
18470        DEVICEDISPENSE, 
18471        /**
18472         * Describes a measurement, calculation or setting capability of a device.  The DeviceMetric resource is derived from the ISO/IEEE 11073-10201 Domain Information Model standard, but is more widely applicable. 
18473         */
18474        DEVICEMETRIC, 
18475        /**
18476         * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used.
18477         */
18478        DEVICEREQUEST, 
18479        /**
18480         * A record of a device being used by a patient where the record is the result of a report from the patient or a clinician.
18481         */
18482        DEVICEUSAGE, 
18483        /**
18484         * The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances.
18485         */
18486        DIAGNOSTICREPORT, 
18487        /**
18488         * A reference to a document of any kind for any purpose. While the term ?document? implies a more narrow focus, for this resource this ?document? encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare.  The DocumentReference resource provides metadata about the document so that the document can be discovered and managed.  The actual content may be inline base64 encoded data or provided by direct reference.
18489         */
18490        DOCUMENTREFERENCE, 
18491        /**
18492         * A resource that includes narrative, extensions, and contained resources.
18493         */
18494        DOMAINRESOURCE, 
18495        /**
18496         * An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s).
18497         */
18498        ENCOUNTER, 
18499        /**
18500         * A record of significant events/milestones key data throughout the history of an Encounter
18501         */
18502        ENCOUNTERHISTORY, 
18503        /**
18504         * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.
18505         */
18506        ENDPOINT, 
18507        /**
18508         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
18509         */
18510        ENROLLMENTREQUEST, 
18511        /**
18512         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
18513         */
18514        ENROLLMENTRESPONSE, 
18515        /**
18516         * 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.
18517         */
18518        EPISODEOFCARE, 
18519        /**
18520         * The EventDefinition resource provides a reusable description of when a particular event can occur.
18521         */
18522        EVENTDEFINITION, 
18523        /**
18524         * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence.
18525         */
18526        EVIDENCE, 
18527        /**
18528         * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts.
18529         */
18530        EVIDENCEREPORT, 
18531        /**
18532         * The EvidenceVariable resource describes an element that knowledge (Evidence) is about.
18533         */
18534        EVIDENCEVARIABLE, 
18535        /**
18536         * A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.
18537         */
18538        EXAMPLESCENARIO, 
18539        /**
18540         * 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.
18541         */
18542        EXPLANATIONOFBENEFIT, 
18543        /**
18544         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
18545         */
18546        FAMILYMEMBERHISTORY, 
18547        /**
18548         * Prospective warnings of potential issues when providing care to the patient.
18549         */
18550        FLAG, 
18551        /**
18552         * This resource describes a product or service that is available through a program and includes the conditions and constraints of availability.  All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself.
18553         */
18554        FORMULARYITEM, 
18555        /**
18556         * A set of analyses performed to analyze and generate genomic data.
18557         */
18558        GENOMICSTUDY, 
18559        /**
18560         * 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.
18561         */
18562        GOAL, 
18563        /**
18564         * 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.
18565         */
18566        GRAPHDEFINITION, 
18567        /**
18568         * 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.
18569         */
18570        GROUP, 
18571        /**
18572         * 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.
18573         */
18574        GUIDANCERESPONSE, 
18575        /**
18576         * The details of a healthcare service available at a location or in a catalog.  In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices.
18577         */
18578        HEALTHCARESERVICE, 
18579        /**
18580         * A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource.
18581         */
18582        IMAGINGSELECTION, 
18583        /**
18584         * 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.
18585         */
18586        IMAGINGSTUDY, 
18587        /**
18588         * 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.
18589         */
18590        IMMUNIZATION, 
18591        /**
18592         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
18593         */
18594        IMMUNIZATIONEVALUATION, 
18595        /**
18596         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
18597         */
18598        IMMUNIZATIONRECOMMENDATION, 
18599        /**
18600         * 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.
18601         */
18602        IMPLEMENTATIONGUIDE, 
18603        /**
18604         * An ingredient of a manufactured item or pharmaceutical product.
18605         */
18606        INGREDIENT, 
18607        /**
18608         * Details of a Health Insurance product/plan provided by an organization.
18609         */
18610        INSURANCEPLAN, 
18611        /**
18612         * functional description of an inventory item used in inventory and supply-related workflows.
18613         */
18614        INVENTORYITEM, 
18615        /**
18616         * A report of inventory or stock items.
18617         */
18618        INVENTORYREPORT, 
18619        /**
18620         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
18621         */
18622        INVOICE, 
18623        /**
18624         * 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.
18625         */
18626        LIBRARY, 
18627        /**
18628         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
18629         */
18630        LINKAGE, 
18631        /**
18632         * A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc.
18633         */
18634        LIST, 
18635        /**
18636         * Details and position information for a place where services are provided and resources and participants may be stored, found, contained, or accommodated.
18637         */
18638        LOCATION, 
18639        /**
18640         * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.
18641         */
18642        MANUFACTUREDITEMDEFINITION, 
18643        /**
18644         * The Measure resource provides the definition of a quality measure.
18645         */
18646        MEASURE, 
18647        /**
18648         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
18649         */
18650        MEASUREREPORT, 
18651        /**
18652         * This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.
18653         */
18654        MEDICATION, 
18655        /**
18656         * 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. This event can also be used to record waste using a status of not-done and the appropriate statusReason.
18657         */
18658        MEDICATIONADMINISTRATION, 
18659        /**
18660         * 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.
18661         */
18662        MEDICATIONDISPENSE, 
18663        /**
18664         * Information about a medication that is used to support knowledge.
18665         */
18666        MEDICATIONKNOWLEDGE, 
18667        /**
18668         * 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.
18669         */
18670        MEDICATIONREQUEST, 
18671        /**
18672         * 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. 
18673
18674The primary difference between a medicationstatement and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medicationstatement 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.
18675         */
18676        MEDICATIONSTATEMENT, 
18677        /**
18678         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.).
18679         */
18680        MEDICINALPRODUCTDEFINITION, 
18681        /**
18682         * 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.
18683         */
18684        MESSAGEDEFINITION, 
18685        /**
18686         * 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.
18687         */
18688        MESSAGEHEADER, 
18689        /**
18690         * Common Interface declaration for conformance and knowledge artifact resources.
18691         */
18692        METADATARESOURCE, 
18693        /**
18694         * Representation of a molecular sequence.
18695         */
18696        MOLECULARSEQUENCE, 
18697        /**
18698         * 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.
18699         */
18700        NAMINGSYSTEM, 
18701        /**
18702         * A record of food or fluid that is being consumed by a patient.  A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past.  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 or through an app that tracks food or fluids consumed.   The consumption information may come from sources such as the patient's memory, from a nutrition label,  or from a clinician documenting observed intake.
18703         */
18704        NUTRITIONINTAKE, 
18705        /**
18706         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
18707         */
18708        NUTRITIONORDER, 
18709        /**
18710         * A food or supplement that is consumed by patients.
18711         */
18712        NUTRITIONPRODUCT, 
18713        /**
18714         * Measurements and simple assertions made about a patient, device or other subject.
18715         */
18716        OBSERVATION, 
18717        /**
18718         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
18719         */
18720        OBSERVATIONDEFINITION, 
18721        /**
18722         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
18723         */
18724        OPERATIONDEFINITION, 
18725        /**
18726         * A collection of error, warning, or information messages that result from a system action.
18727         */
18728        OPERATIONOUTCOME, 
18729        /**
18730         * 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.
18731         */
18732        ORGANIZATION, 
18733        /**
18734         * Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship.
18735         */
18736        ORGANIZATIONAFFILIATION, 
18737        /**
18738         * A medically related item or items, in a container or package.
18739         */
18740        PACKAGEDPRODUCTDEFINITION, 
18741        /**
18742         * This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment).  It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource.
18743         */
18744        PARAMETERS, 
18745        /**
18746         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
18747         */
18748        PATIENT, 
18749        /**
18750         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
18751         */
18752        PAYMENTNOTICE, 
18753        /**
18754         * This resource provides the details including amount of a payment and allocates the payment items being paid.
18755         */
18756        PAYMENTRECONCILIATION, 
18757        /**
18758         * Permission resource holds access rules for a given data and context.
18759         */
18760        PERMISSION, 
18761        /**
18762         * Demographics and administrative information about a person independent of a specific health-related context.
18763         */
18764        PERSON, 
18765        /**
18766         * 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 and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.
18767         */
18768        PLANDEFINITION, 
18769        /**
18770         * A person who is directly or indirectly involved in the provisioning of healthcare or related services.
18771         */
18772        PRACTITIONER, 
18773        /**
18774         * A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time.
18775         */
18776        PRACTITIONERROLE, 
18777        /**
18778         * An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy.  This can be a quality or safety inspection for a location, organization, or device.  This can be an accreditation procedure on a practitioner for licensing.
18779         */
18780        PROCEDURE, 
18781        /**
18782         * 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.
18783         */
18784        PROVENANCE, 
18785        /**
18786         * 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.
18787         */
18788        QUESTIONNAIRE, 
18789        /**
18790         * 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.
18791         */
18792        QUESTIONNAIRERESPONSE, 
18793        /**
18794         * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product.
18795         */
18796        REGULATEDAUTHORIZATION, 
18797        /**
18798         * Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.
18799         */
18800        RELATEDPERSON, 
18801        /**
18802         * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one".
18803         */
18804        REQUESTORCHESTRATION, 
18805        /**
18806         * The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.
18807         */
18808        REQUIREMENTS, 
18809        /**
18810         * A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future.
18811         */
18812        RESEARCHSTUDY, 
18813        /**
18814         * A ResearchSubject is a participant or object which is the recipient of investigative activities in a research study.
18815         */
18816        RESEARCHSUBJECT, 
18817        /**
18818         * This is the base resource type for everything.
18819         */
18820        RESOURCE, 
18821        /**
18822         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
18823         */
18824        RISKASSESSMENT, 
18825        /**
18826         * A container for slots of time that may be available for booking appointments.
18827         */
18828        SCHEDULE, 
18829        /**
18830         * A search parameter that defines a named search item that can be used to search/filter on a resource.
18831         */
18832        SEARCHPARAMETER, 
18833        /**
18834         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
18835         */
18836        SERVICEREQUEST, 
18837        /**
18838         * A slot of time on a schedule that may be available for booking appointments.
18839         */
18840        SLOT, 
18841        /**
18842         * A sample to be used for analysis.
18843         */
18844        SPECIMEN, 
18845        /**
18846         * A kind of specimen with associated set of requirements.
18847         */
18848        SPECIMENDEFINITION, 
18849        /**
18850         * 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.
18851         */
18852        STRUCTUREDEFINITION, 
18853        /**
18854         * A Map of relationships between 2 structures that can be used to transform data.
18855         */
18856        STRUCTUREMAP, 
18857        /**
18858         * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic.
18859         */
18860        SUBSCRIPTION, 
18861        /**
18862         * The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted.
18863         */
18864        SUBSCRIPTIONSTATUS, 
18865        /**
18866         * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic.
18867         */
18868        SUBSCRIPTIONTOPIC, 
18869        /**
18870         * A homogeneous material with a definite composition.
18871         */
18872        SUBSTANCE, 
18873        /**
18874         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
18875         */
18876        SUBSTANCEDEFINITION, 
18877        /**
18878         * 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.
18879         */
18880        SUBSTANCENUCLEICACID, 
18881        /**
18882         * Properties of a substance specific to it being a polymer.
18883         */
18884        SUBSTANCEPOLYMER, 
18885        /**
18886         * 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.
18887         */
18888        SUBSTANCEPROTEIN, 
18889        /**
18890         * Todo.
18891         */
18892        SUBSTANCEREFERENCEINFORMATION, 
18893        /**
18894         * 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.
18895         */
18896        SUBSTANCESOURCEMATERIAL, 
18897        /**
18898         * Record of delivery of what is supplied.
18899         */
18900        SUPPLYDELIVERY, 
18901        /**
18902         * A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.
18903         */
18904        SUPPLYREQUEST, 
18905        /**
18906         * A task to be performed.
18907         */
18908        TASK, 
18909        /**
18910         * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
18911         */
18912        TERMINOLOGYCAPABILITIES, 
18913        /**
18914         * A plan for executing testing on an artifact or specifications
18915         */
18916        TESTPLAN, 
18917        /**
18918         * A summary of information based on the results of executing a TestScript.
18919         */
18920        TESTREPORT, 
18921        /**
18922         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
18923         */
18924        TESTSCRIPT, 
18925        /**
18926         * Record of transport.
18927         */
18928        TRANSPORT, 
18929        /**
18930         * 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).
18931         */
18932        VALUESET, 
18933        /**
18934         * Describes validation requirements, source(s), status and dates for one or more elements.
18935         */
18936        VERIFICATIONRESULT, 
18937        /**
18938         * An authorization for the provision of glasses and/or contact lenses to a patient.
18939         */
18940        VISIONPRESCRIPTION, 
18941        /**
18942         * null
18943         */
18944        BODYSITE, 
18945        /**
18946         * null
18947         */
18948        CATALOGENTRY, 
18949        /**
18950         * null
18951         */
18952        CONFORMANCE, 
18953        /**
18954         * null
18955         */
18956        DATAELEMENT, 
18957        /**
18958         * null
18959         */
18960        DEVICECOMPONENT, 
18961        /**
18962         * null
18963         */
18964        DEVICEUSEREQUEST, 
18965        /**
18966         * null
18967         */
18968        DEVICEUSESTATEMENT, 
18969        /**
18970         * null
18971         */
18972        DIAGNOSTICORDER, 
18973        /**
18974         * null
18975         */
18976        DOCUMENTMANIFEST, 
18977        /**
18978         * null
18979         */
18980        EFFECTEVIDENCESYNTHESIS, 
18981        /**
18982         * null
18983         */
18984        ELIGIBILITYREQUEST, 
18985        /**
18986         * null
18987         */
18988        ELIGIBILITYRESPONSE, 
18989        /**
18990         * null
18991         */
18992        EXPANSIONPROFILE, 
18993        /**
18994         * null
18995         */
18996        IMAGINGMANIFEST, 
18997        /**
18998         * null
18999         */
19000        IMAGINGOBJECTSELECTION, 
19001        /**
19002         * null
19003         */
19004        MEDIA, 
19005        /**
19006         * null
19007         */
19008        MEDICATIONORDER, 
19009        /**
19010         * null
19011         */
19012        MEDICATIONUSAGE, 
19013        /**
19014         * null
19015         */
19016        MEDICINALPRODUCT, 
19017        /**
19018         * null
19019         */
19020        MEDICINALPRODUCTAUTHORIZATION, 
19021        /**
19022         * null
19023         */
19024        MEDICINALPRODUCTCONTRAINDICATION, 
19025        /**
19026         * null
19027         */
19028        MEDICINALPRODUCTINDICATION, 
19029        /**
19030         * null
19031         */
19032        MEDICINALPRODUCTINGREDIENT, 
19033        /**
19034         * null
19035         */
19036        MEDICINALPRODUCTINTERACTION, 
19037        /**
19038         * null
19039         */
19040        MEDICINALPRODUCTMANUFACTURED, 
19041        /**
19042         * null
19043         */
19044        MEDICINALPRODUCTPACKAGED, 
19045        /**
19046         * null
19047         */
19048        MEDICINALPRODUCTPHARMACEUTICAL, 
19049        /**
19050         * null
19051         */
19052        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
19053        /**
19054         * null
19055         */
19056        ORDER, 
19057        /**
19058         * null
19059         */
19060        ORDERRESPONSE, 
19061        /**
19062         * null
19063         */
19064        PROCEDUREREQUEST, 
19065        /**
19066         * null
19067         */
19068        PROCESSREQUEST, 
19069        /**
19070         * null
19071         */
19072        PROCESSRESPONSE, 
19073        /**
19074         * null
19075         */
19076        REFERRALREQUEST, 
19077        /**
19078         * null
19079         */
19080        REQUESTGROUP, 
19081        /**
19082         * null
19083         */
19084        RESEARCHDEFINITION, 
19085        /**
19086         * null
19087         */
19088        RESEARCHELEMENTDEFINITION, 
19089        /**
19090         * null
19091         */
19092        RISKEVIDENCESYNTHESIS, 
19093        /**
19094         * null
19095         */
19096        SEQUENCE, 
19097        /**
19098         * null
19099         */
19100        SERVICEDEFINITION, 
19101        /**
19102         * null
19103         */
19104        SUBSTANCESPECIFICATION, 
19105        /**
19106         * added to help the parsers
19107         */
19108        NULL;
19109        public static VersionIndependentResourceTypesAll fromCode(String codeString) throws FHIRException {
19110            if (codeString == null || "".equals(codeString))
19111                return null;
19112        if ("Account".equals(codeString))
19113          return ACCOUNT;
19114        if ("ActivityDefinition".equals(codeString))
19115          return ACTIVITYDEFINITION;
19116        if ("ActorDefinition".equals(codeString))
19117          return ACTORDEFINITION;
19118        if ("AdministrableProductDefinition".equals(codeString))
19119          return ADMINISTRABLEPRODUCTDEFINITION;
19120        if ("AdverseEvent".equals(codeString))
19121          return ADVERSEEVENT;
19122        if ("AllergyIntolerance".equals(codeString))
19123          return ALLERGYINTOLERANCE;
19124        if ("Appointment".equals(codeString))
19125          return APPOINTMENT;
19126        if ("AppointmentResponse".equals(codeString))
19127          return APPOINTMENTRESPONSE;
19128        if ("ArtifactAssessment".equals(codeString))
19129          return ARTIFACTASSESSMENT;
19130        if ("AuditEvent".equals(codeString))
19131          return AUDITEVENT;
19132        if ("Basic".equals(codeString))
19133          return BASIC;
19134        if ("Binary".equals(codeString))
19135          return BINARY;
19136        if ("BiologicallyDerivedProduct".equals(codeString))
19137          return BIOLOGICALLYDERIVEDPRODUCT;
19138        if ("BiologicallyDerivedProductDispense".equals(codeString))
19139          return BIOLOGICALLYDERIVEDPRODUCTDISPENSE;
19140        if ("BodyStructure".equals(codeString))
19141          return BODYSTRUCTURE;
19142        if ("Bundle".equals(codeString))
19143          return BUNDLE;
19144        if ("CanonicalResource".equals(codeString))
19145          return CANONICALRESOURCE;
19146        if ("CapabilityStatement".equals(codeString))
19147          return CAPABILITYSTATEMENT;
19148        if ("CarePlan".equals(codeString))
19149          return CAREPLAN;
19150        if ("CareTeam".equals(codeString))
19151          return CARETEAM;
19152        if ("ChargeItem".equals(codeString))
19153          return CHARGEITEM;
19154        if ("ChargeItemDefinition".equals(codeString))
19155          return CHARGEITEMDEFINITION;
19156        if ("Citation".equals(codeString))
19157          return CITATION;
19158        if ("Claim".equals(codeString))
19159          return CLAIM;
19160        if ("ClaimResponse".equals(codeString))
19161          return CLAIMRESPONSE;
19162        if ("ClinicalImpression".equals(codeString))
19163          return CLINICALIMPRESSION;
19164        if ("ClinicalUseDefinition".equals(codeString))
19165          return CLINICALUSEDEFINITION;
19166        if ("CodeSystem".equals(codeString))
19167          return CODESYSTEM;
19168        if ("Communication".equals(codeString))
19169          return COMMUNICATION;
19170        if ("CommunicationRequest".equals(codeString))
19171          return COMMUNICATIONREQUEST;
19172        if ("CompartmentDefinition".equals(codeString))
19173          return COMPARTMENTDEFINITION;
19174        if ("Composition".equals(codeString))
19175          return COMPOSITION;
19176        if ("ConceptMap".equals(codeString))
19177          return CONCEPTMAP;
19178        if ("Condition".equals(codeString))
19179          return CONDITION;
19180        if ("ConditionDefinition".equals(codeString))
19181          return CONDITIONDEFINITION;
19182        if ("Consent".equals(codeString))
19183          return CONSENT;
19184        if ("Contract".equals(codeString))
19185          return CONTRACT;
19186        if ("Coverage".equals(codeString))
19187          return COVERAGE;
19188        if ("CoverageEligibilityRequest".equals(codeString))
19189          return COVERAGEELIGIBILITYREQUEST;
19190        if ("CoverageEligibilityResponse".equals(codeString))
19191          return COVERAGEELIGIBILITYRESPONSE;
19192        if ("DetectedIssue".equals(codeString))
19193          return DETECTEDISSUE;
19194        if ("Device".equals(codeString))
19195          return DEVICE;
19196        if ("DeviceAssociation".equals(codeString))
19197          return DEVICEASSOCIATION;
19198        if ("DeviceDefinition".equals(codeString))
19199          return DEVICEDEFINITION;
19200        if ("DeviceDispense".equals(codeString))
19201          return DEVICEDISPENSE;
19202        if ("DeviceMetric".equals(codeString))
19203          return DEVICEMETRIC;
19204        if ("DeviceRequest".equals(codeString))
19205          return DEVICEREQUEST;
19206        if ("DeviceUsage".equals(codeString))
19207          return DEVICEUSAGE;
19208        if ("DiagnosticReport".equals(codeString))
19209          return DIAGNOSTICREPORT;
19210        if ("DocumentReference".equals(codeString))
19211          return DOCUMENTREFERENCE;
19212        if ("DomainResource".equals(codeString))
19213          return DOMAINRESOURCE;
19214        if ("Encounter".equals(codeString))
19215          return ENCOUNTER;
19216        if ("EncounterHistory".equals(codeString))
19217          return ENCOUNTERHISTORY;
19218        if ("Endpoint".equals(codeString))
19219          return ENDPOINT;
19220        if ("EnrollmentRequest".equals(codeString))
19221          return ENROLLMENTREQUEST;
19222        if ("EnrollmentResponse".equals(codeString))
19223          return ENROLLMENTRESPONSE;
19224        if ("EpisodeOfCare".equals(codeString))
19225          return EPISODEOFCARE;
19226        if ("EventDefinition".equals(codeString))
19227          return EVENTDEFINITION;
19228        if ("Evidence".equals(codeString))
19229          return EVIDENCE;
19230        if ("EvidenceReport".equals(codeString))
19231          return EVIDENCEREPORT;
19232        if ("EvidenceVariable".equals(codeString))
19233          return EVIDENCEVARIABLE;
19234        if ("ExampleScenario".equals(codeString))
19235          return EXAMPLESCENARIO;
19236        if ("ExplanationOfBenefit".equals(codeString))
19237          return EXPLANATIONOFBENEFIT;
19238        if ("FamilyMemberHistory".equals(codeString))
19239          return FAMILYMEMBERHISTORY;
19240        if ("Flag".equals(codeString))
19241          return FLAG;
19242        if ("FormularyItem".equals(codeString))
19243          return FORMULARYITEM;
19244        if ("GenomicStudy".equals(codeString))
19245          return GENOMICSTUDY;
19246        if ("Goal".equals(codeString))
19247          return GOAL;
19248        if ("GraphDefinition".equals(codeString))
19249          return GRAPHDEFINITION;
19250        if ("Group".equals(codeString))
19251          return GROUP;
19252        if ("GuidanceResponse".equals(codeString))
19253          return GUIDANCERESPONSE;
19254        if ("HealthcareService".equals(codeString))
19255          return HEALTHCARESERVICE;
19256        if ("ImagingSelection".equals(codeString))
19257          return IMAGINGSELECTION;
19258        if ("ImagingStudy".equals(codeString))
19259          return IMAGINGSTUDY;
19260        if ("Immunization".equals(codeString))
19261          return IMMUNIZATION;
19262        if ("ImmunizationEvaluation".equals(codeString))
19263          return IMMUNIZATIONEVALUATION;
19264        if ("ImmunizationRecommendation".equals(codeString))
19265          return IMMUNIZATIONRECOMMENDATION;
19266        if ("ImplementationGuide".equals(codeString))
19267          return IMPLEMENTATIONGUIDE;
19268        if ("Ingredient".equals(codeString))
19269          return INGREDIENT;
19270        if ("InsurancePlan".equals(codeString))
19271          return INSURANCEPLAN;
19272        if ("InventoryItem".equals(codeString))
19273          return INVENTORYITEM;
19274        if ("InventoryReport".equals(codeString))
19275          return INVENTORYREPORT;
19276        if ("Invoice".equals(codeString))
19277          return INVOICE;
19278        if ("Library".equals(codeString))
19279          return LIBRARY;
19280        if ("Linkage".equals(codeString))
19281          return LINKAGE;
19282        if ("List".equals(codeString))
19283          return LIST;
19284        if ("Location".equals(codeString))
19285          return LOCATION;
19286        if ("ManufacturedItemDefinition".equals(codeString))
19287          return MANUFACTUREDITEMDEFINITION;
19288        if ("Measure".equals(codeString))
19289          return MEASURE;
19290        if ("MeasureReport".equals(codeString))
19291          return MEASUREREPORT;
19292        if ("Medication".equals(codeString))
19293          return MEDICATION;
19294        if ("MedicationAdministration".equals(codeString))
19295          return MEDICATIONADMINISTRATION;
19296        if ("MedicationDispense".equals(codeString))
19297          return MEDICATIONDISPENSE;
19298        if ("MedicationKnowledge".equals(codeString))
19299          return MEDICATIONKNOWLEDGE;
19300        if ("MedicationRequest".equals(codeString))
19301          return MEDICATIONREQUEST;
19302        if ("MedicationStatement".equals(codeString))
19303          return MEDICATIONSTATEMENT;
19304        if ("MedicinalProductDefinition".equals(codeString))
19305          return MEDICINALPRODUCTDEFINITION;
19306        if ("MessageDefinition".equals(codeString))
19307          return MESSAGEDEFINITION;
19308        if ("MessageHeader".equals(codeString))
19309          return MESSAGEHEADER;
19310        if ("MetadataResource".equals(codeString))
19311          return METADATARESOURCE;
19312        if ("MolecularSequence".equals(codeString))
19313          return MOLECULARSEQUENCE;
19314        if ("NamingSystem".equals(codeString))
19315          return NAMINGSYSTEM;
19316        if ("NutritionIntake".equals(codeString))
19317          return NUTRITIONINTAKE;
19318        if ("NutritionOrder".equals(codeString))
19319          return NUTRITIONORDER;
19320        if ("NutritionProduct".equals(codeString))
19321          return NUTRITIONPRODUCT;
19322        if ("Observation".equals(codeString))
19323          return OBSERVATION;
19324        if ("ObservationDefinition".equals(codeString))
19325          return OBSERVATIONDEFINITION;
19326        if ("OperationDefinition".equals(codeString))
19327          return OPERATIONDEFINITION;
19328        if ("OperationOutcome".equals(codeString))
19329          return OPERATIONOUTCOME;
19330        if ("Organization".equals(codeString))
19331          return ORGANIZATION;
19332        if ("OrganizationAffiliation".equals(codeString))
19333          return ORGANIZATIONAFFILIATION;
19334        if ("PackagedProductDefinition".equals(codeString))
19335          return PACKAGEDPRODUCTDEFINITION;
19336        if ("Parameters".equals(codeString))
19337          return PARAMETERS;
19338        if ("Patient".equals(codeString))
19339          return PATIENT;
19340        if ("PaymentNotice".equals(codeString))
19341          return PAYMENTNOTICE;
19342        if ("PaymentReconciliation".equals(codeString))
19343          return PAYMENTRECONCILIATION;
19344        if ("Permission".equals(codeString))
19345          return PERMISSION;
19346        if ("Person".equals(codeString))
19347          return PERSON;
19348        if ("PlanDefinition".equals(codeString))
19349          return PLANDEFINITION;
19350        if ("Practitioner".equals(codeString))
19351          return PRACTITIONER;
19352        if ("PractitionerRole".equals(codeString))
19353          return PRACTITIONERROLE;
19354        if ("Procedure".equals(codeString))
19355          return PROCEDURE;
19356        if ("Provenance".equals(codeString))
19357          return PROVENANCE;
19358        if ("Questionnaire".equals(codeString))
19359          return QUESTIONNAIRE;
19360        if ("QuestionnaireResponse".equals(codeString))
19361          return QUESTIONNAIRERESPONSE;
19362        if ("RegulatedAuthorization".equals(codeString))
19363          return REGULATEDAUTHORIZATION;
19364        if ("RelatedPerson".equals(codeString))
19365          return RELATEDPERSON;
19366        if ("RequestOrchestration".equals(codeString))
19367          return REQUESTORCHESTRATION;
19368        if ("Requirements".equals(codeString))
19369          return REQUIREMENTS;
19370        if ("ResearchStudy".equals(codeString))
19371          return RESEARCHSTUDY;
19372        if ("ResearchSubject".equals(codeString))
19373          return RESEARCHSUBJECT;
19374        if ("Resource".equals(codeString))
19375          return RESOURCE;
19376        if ("RiskAssessment".equals(codeString))
19377          return RISKASSESSMENT;
19378        if ("Schedule".equals(codeString))
19379          return SCHEDULE;
19380        if ("SearchParameter".equals(codeString))
19381          return SEARCHPARAMETER;
19382        if ("ServiceRequest".equals(codeString))
19383          return SERVICEREQUEST;
19384        if ("Slot".equals(codeString))
19385          return SLOT;
19386        if ("Specimen".equals(codeString))
19387          return SPECIMEN;
19388        if ("SpecimenDefinition".equals(codeString))
19389          return SPECIMENDEFINITION;
19390        if ("StructureDefinition".equals(codeString))
19391          return STRUCTUREDEFINITION;
19392        if ("StructureMap".equals(codeString))
19393          return STRUCTUREMAP;
19394        if ("Subscription".equals(codeString))
19395          return SUBSCRIPTION;
19396        if ("SubscriptionStatus".equals(codeString))
19397          return SUBSCRIPTIONSTATUS;
19398        if ("SubscriptionTopic".equals(codeString))
19399          return SUBSCRIPTIONTOPIC;
19400        if ("Substance".equals(codeString))
19401          return SUBSTANCE;
19402        if ("SubstanceDefinition".equals(codeString))
19403          return SUBSTANCEDEFINITION;
19404        if ("SubstanceNucleicAcid".equals(codeString))
19405          return SUBSTANCENUCLEICACID;
19406        if ("SubstancePolymer".equals(codeString))
19407          return SUBSTANCEPOLYMER;
19408        if ("SubstanceProtein".equals(codeString))
19409          return SUBSTANCEPROTEIN;
19410        if ("SubstanceReferenceInformation".equals(codeString))
19411          return SUBSTANCEREFERENCEINFORMATION;
19412        if ("SubstanceSourceMaterial".equals(codeString))
19413          return SUBSTANCESOURCEMATERIAL;
19414        if ("SupplyDelivery".equals(codeString))
19415          return SUPPLYDELIVERY;
19416        if ("SupplyRequest".equals(codeString))
19417          return SUPPLYREQUEST;
19418        if ("Task".equals(codeString))
19419          return TASK;
19420        if ("TerminologyCapabilities".equals(codeString))
19421          return TERMINOLOGYCAPABILITIES;
19422        if ("TestPlan".equals(codeString))
19423          return TESTPLAN;
19424        if ("TestReport".equals(codeString))
19425          return TESTREPORT;
19426        if ("TestScript".equals(codeString))
19427          return TESTSCRIPT;
19428        if ("Transport".equals(codeString))
19429          return TRANSPORT;
19430        if ("ValueSet".equals(codeString))
19431          return VALUESET;
19432        if ("VerificationResult".equals(codeString))
19433          return VERIFICATIONRESULT;
19434        if ("VisionPrescription".equals(codeString))
19435          return VISIONPRESCRIPTION;
19436        if ("BodySite".equals(codeString))
19437          return BODYSITE;
19438        if ("CatalogEntry".equals(codeString))
19439          return CATALOGENTRY;
19440        if ("Conformance".equals(codeString))
19441          return CONFORMANCE;
19442        if ("DataElement".equals(codeString))
19443          return DATAELEMENT;
19444        if ("DeviceComponent".equals(codeString))
19445          return DEVICECOMPONENT;
19446        if ("DeviceUseRequest".equals(codeString))
19447          return DEVICEUSEREQUEST;
19448        if ("DeviceUseStatement".equals(codeString))
19449          return DEVICEUSESTATEMENT;
19450        if ("DiagnosticOrder".equals(codeString))
19451          return DIAGNOSTICORDER;
19452        if ("DocumentManifest".equals(codeString))
19453          return DOCUMENTMANIFEST;
19454        if ("EffectEvidenceSynthesis".equals(codeString))
19455          return EFFECTEVIDENCESYNTHESIS;
19456        if ("EligibilityRequest".equals(codeString))
19457          return ELIGIBILITYREQUEST;
19458        if ("EligibilityResponse".equals(codeString))
19459          return ELIGIBILITYRESPONSE;
19460        if ("ExpansionProfile".equals(codeString))
19461          return EXPANSIONPROFILE;
19462        if ("ImagingManifest".equals(codeString))
19463          return IMAGINGMANIFEST;
19464        if ("ImagingObjectSelection".equals(codeString))
19465          return IMAGINGOBJECTSELECTION;
19466        if ("Media".equals(codeString))
19467          return MEDIA;
19468        if ("MedicationOrder".equals(codeString))
19469          return MEDICATIONORDER;
19470        if ("MedicationUsage".equals(codeString))
19471          return MEDICATIONUSAGE;
19472        if ("MedicinalProduct".equals(codeString))
19473          return MEDICINALPRODUCT;
19474        if ("MedicinalProductAuthorization".equals(codeString))
19475          return MEDICINALPRODUCTAUTHORIZATION;
19476        if ("MedicinalProductContraindication".equals(codeString))
19477          return MEDICINALPRODUCTCONTRAINDICATION;
19478        if ("MedicinalProductIndication".equals(codeString))
19479          return MEDICINALPRODUCTINDICATION;
19480        if ("MedicinalProductIngredient".equals(codeString))
19481          return MEDICINALPRODUCTINGREDIENT;
19482        if ("MedicinalProductInteraction".equals(codeString))
19483          return MEDICINALPRODUCTINTERACTION;
19484        if ("MedicinalProductManufactured".equals(codeString))
19485          return MEDICINALPRODUCTMANUFACTURED;
19486        if ("MedicinalProductPackaged".equals(codeString))
19487          return MEDICINALPRODUCTPACKAGED;
19488        if ("MedicinalProductPharmaceutical".equals(codeString))
19489          return MEDICINALPRODUCTPHARMACEUTICAL;
19490        if ("MedicinalProductUndesirableEffect".equals(codeString))
19491          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
19492        if ("Order".equals(codeString))
19493          return ORDER;
19494        if ("OrderResponse".equals(codeString))
19495          return ORDERRESPONSE;
19496        if ("ProcedureRequest".equals(codeString))
19497          return PROCEDUREREQUEST;
19498        if ("ProcessRequest".equals(codeString))
19499          return PROCESSREQUEST;
19500        if ("ProcessResponse".equals(codeString))
19501          return PROCESSRESPONSE;
19502        if ("ReferralRequest".equals(codeString))
19503          return REFERRALREQUEST;
19504        if ("RequestGroup".equals(codeString))
19505          return REQUESTGROUP;
19506        if ("ResearchDefinition".equals(codeString))
19507          return RESEARCHDEFINITION;
19508        if ("ResearchElementDefinition".equals(codeString))
19509          return RESEARCHELEMENTDEFINITION;
19510        if ("RiskEvidenceSynthesis".equals(codeString))
19511          return RISKEVIDENCESYNTHESIS;
19512        if ("Sequence".equals(codeString))
19513          return SEQUENCE;
19514        if ("ServiceDefinition".equals(codeString))
19515          return SERVICEDEFINITION;
19516        if ("SubstanceSpecification".equals(codeString))
19517          return SUBSTANCESPECIFICATION;
19518        throw new FHIRException("Unknown VersionIndependentResourceTypesAll code '"+codeString+"'");
19519        }
19520        public static boolean isValidCode(String codeString) {
19521            if (codeString == null || "".equals(codeString))
19522                return false;
19523          return Utilities.existsInList(codeString, "Account", "ActivityDefinition", "ActorDefinition", "AdministrableProductDefinition", "AdverseEvent", "AllergyIntolerance", "Appointment", "AppointmentResponse", "ArtifactAssessment", "AuditEvent", "Basic", "Binary", "BiologicallyDerivedProduct", "BiologicallyDerivedProductDispense", "BodyStructure", "Bundle", "CanonicalResource", "CapabilityStatement", "CarePlan", "CareTeam", "ChargeItem", "ChargeItemDefinition", "Citation", "Claim", "ClaimResponse", "ClinicalImpression", "ClinicalUseDefinition", "CodeSystem", "Communication", "CommunicationRequest", "CompartmentDefinition", "Composition", "ConceptMap", "Condition", "ConditionDefinition", "Consent", "Contract", "Coverage", "CoverageEligibilityRequest", "CoverageEligibilityResponse", "DetectedIssue", "Device", "DeviceAssociation", "DeviceDefinition", "DeviceDispense", "DeviceMetric", "DeviceRequest", "DeviceUsage", "DiagnosticReport", "DocumentReference", "DomainResource", "Encounter", "EncounterHistory", "Endpoint", "EnrollmentRequest", "EnrollmentResponse", "EpisodeOfCare", "EventDefinition", "Evidence", "EvidenceReport", "EvidenceVariable", "ExampleScenario", "ExplanationOfBenefit", "FamilyMemberHistory", "Flag", "FormularyItem", "GenomicStudy", "Goal", "GraphDefinition", "Group", "GuidanceResponse", "HealthcareService", "ImagingSelection", "ImagingStudy", "Immunization", "ImmunizationEvaluation", "ImmunizationRecommendation", "ImplementationGuide", "Ingredient", "InsurancePlan", "InventoryItem", "InventoryReport", "Invoice", "Library", "Linkage", "List", "Location", "ManufacturedItemDefinition", "Measure", "MeasureReport", "Medication", "MedicationAdministration", "MedicationDispense", "MedicationKnowledge", "MedicationRequest", "MedicationStatement", "MedicinalProductDefinition", "MessageDefinition", "MessageHeader", "MetadataResource", "MolecularSequence", "NamingSystem", "NutritionIntake", "NutritionOrder", "NutritionProduct", "Observation", "ObservationDefinition", "OperationDefinition", "OperationOutcome", "Organization", "OrganizationAffiliation", "PackagedProductDefinition", "Parameters", "Patient", "PaymentNotice", "PaymentReconciliation", "Permission", "Person", "PlanDefinition", "Practitioner", "PractitionerRole", "Procedure", "Provenance", "Questionnaire", "QuestionnaireResponse", "RegulatedAuthorization", "RelatedPerson", "RequestOrchestration", "Requirements", "ResearchStudy", "ResearchSubject", "Resource", "RiskAssessment", "Schedule", "SearchParameter", "ServiceRequest", "Slot", "Specimen", "SpecimenDefinition", "StructureDefinition", "StructureMap", "Subscription", "SubscriptionStatus", "SubscriptionTopic", "Substance", "SubstanceDefinition", "SubstanceNucleicAcid", "SubstancePolymer", "SubstanceProtein", "SubstanceReferenceInformation", "SubstanceSourceMaterial", "SupplyDelivery", "SupplyRequest", "Task", "TerminologyCapabilities", "TestPlan", "TestReport", "TestScript", "Transport", "ValueSet", "VerificationResult", "VisionPrescription", "BodySite", "CatalogEntry", "Conformance", "DataElement", "DeviceComponent", "DeviceUseRequest", "DeviceUseStatement", "DiagnosticOrder", "DocumentManifest", "EffectEvidenceSynthesis", "EligibilityRequest", "EligibilityResponse", "ExpansionProfile", "ImagingManifest", "ImagingObjectSelection", "Media", "MedicationOrder", "MedicationUsage", "MedicinalProduct", "MedicinalProductAuthorization", "MedicinalProductContraindication", "MedicinalProductIndication", "MedicinalProductIngredient", "MedicinalProductInteraction", "MedicinalProductManufactured", "MedicinalProductPackaged", "MedicinalProductPharmaceutical", "MedicinalProductUndesirableEffect", "Order", "OrderResponse", "ProcedureRequest", "ProcessRequest", "ProcessResponse", "ReferralRequest", "RequestGroup", "ResearchDefinition", "ResearchElementDefinition", "RiskEvidenceSynthesis", "Sequence", "ServiceDefinition", "SubstanceSpecification");
19524        }
19525        public String toCode() {
19526          switch (this) {
19527            case ACCOUNT: return "Account";
19528            case ACTIVITYDEFINITION: return "ActivityDefinition";
19529            case ACTORDEFINITION: return "ActorDefinition";
19530            case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition";
19531            case ADVERSEEVENT: return "AdverseEvent";
19532            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
19533            case APPOINTMENT: return "Appointment";
19534            case APPOINTMENTRESPONSE: return "AppointmentResponse";
19535            case ARTIFACTASSESSMENT: return "ArtifactAssessment";
19536            case AUDITEVENT: return "AuditEvent";
19537            case BASIC: return "Basic";
19538            case BINARY: return "Binary";
19539            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
19540            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "BiologicallyDerivedProductDispense";
19541            case BODYSTRUCTURE: return "BodyStructure";
19542            case BUNDLE: return "Bundle";
19543            case CANONICALRESOURCE: return "CanonicalResource";
19544            case CAPABILITYSTATEMENT: return "CapabilityStatement";
19545            case CAREPLAN: return "CarePlan";
19546            case CARETEAM: return "CareTeam";
19547            case CHARGEITEM: return "ChargeItem";
19548            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
19549            case CITATION: return "Citation";
19550            case CLAIM: return "Claim";
19551            case CLAIMRESPONSE: return "ClaimResponse";
19552            case CLINICALIMPRESSION: return "ClinicalImpression";
19553            case CLINICALUSEDEFINITION: return "ClinicalUseDefinition";
19554            case CODESYSTEM: return "CodeSystem";
19555            case COMMUNICATION: return "Communication";
19556            case COMMUNICATIONREQUEST: return "CommunicationRequest";
19557            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
19558            case COMPOSITION: return "Composition";
19559            case CONCEPTMAP: return "ConceptMap";
19560            case CONDITION: return "Condition";
19561            case CONDITIONDEFINITION: return "ConditionDefinition";
19562            case CONSENT: return "Consent";
19563            case CONTRACT: return "Contract";
19564            case COVERAGE: return "Coverage";
19565            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
19566            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
19567            case DETECTEDISSUE: return "DetectedIssue";
19568            case DEVICE: return "Device";
19569            case DEVICEASSOCIATION: return "DeviceAssociation";
19570            case DEVICEDEFINITION: return "DeviceDefinition";
19571            case DEVICEDISPENSE: return "DeviceDispense";
19572            case DEVICEMETRIC: return "DeviceMetric";
19573            case DEVICEREQUEST: return "DeviceRequest";
19574            case DEVICEUSAGE: return "DeviceUsage";
19575            case DIAGNOSTICREPORT: return "DiagnosticReport";
19576            case DOCUMENTREFERENCE: return "DocumentReference";
19577            case DOMAINRESOURCE: return "DomainResource";
19578            case ENCOUNTER: return "Encounter";
19579            case ENCOUNTERHISTORY: return "EncounterHistory";
19580            case ENDPOINT: return "Endpoint";
19581            case ENROLLMENTREQUEST: return "EnrollmentRequest";
19582            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
19583            case EPISODEOFCARE: return "EpisodeOfCare";
19584            case EVENTDEFINITION: return "EventDefinition";
19585            case EVIDENCE: return "Evidence";
19586            case EVIDENCEREPORT: return "EvidenceReport";
19587            case EVIDENCEVARIABLE: return "EvidenceVariable";
19588            case EXAMPLESCENARIO: return "ExampleScenario";
19589            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
19590            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
19591            case FLAG: return "Flag";
19592            case FORMULARYITEM: return "FormularyItem";
19593            case GENOMICSTUDY: return "GenomicStudy";
19594            case GOAL: return "Goal";
19595            case GRAPHDEFINITION: return "GraphDefinition";
19596            case GROUP: return "Group";
19597            case GUIDANCERESPONSE: return "GuidanceResponse";
19598            case HEALTHCARESERVICE: return "HealthcareService";
19599            case IMAGINGSELECTION: return "ImagingSelection";
19600            case IMAGINGSTUDY: return "ImagingStudy";
19601            case IMMUNIZATION: return "Immunization";
19602            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
19603            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
19604            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
19605            case INGREDIENT: return "Ingredient";
19606            case INSURANCEPLAN: return "InsurancePlan";
19607            case INVENTORYITEM: return "InventoryItem";
19608            case INVENTORYREPORT: return "InventoryReport";
19609            case INVOICE: return "Invoice";
19610            case LIBRARY: return "Library";
19611            case LINKAGE: return "Linkage";
19612            case LIST: return "List";
19613            case LOCATION: return "Location";
19614            case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition";
19615            case MEASURE: return "Measure";
19616            case MEASUREREPORT: return "MeasureReport";
19617            case MEDICATION: return "Medication";
19618            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
19619            case MEDICATIONDISPENSE: return "MedicationDispense";
19620            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
19621            case MEDICATIONREQUEST: return "MedicationRequest";
19622            case MEDICATIONSTATEMENT: return "MedicationStatement";
19623            case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition";
19624            case MESSAGEDEFINITION: return "MessageDefinition";
19625            case MESSAGEHEADER: return "MessageHeader";
19626            case METADATARESOURCE: return "MetadataResource";
19627            case MOLECULARSEQUENCE: return "MolecularSequence";
19628            case NAMINGSYSTEM: return "NamingSystem";
19629            case NUTRITIONINTAKE: return "NutritionIntake";
19630            case NUTRITIONORDER: return "NutritionOrder";
19631            case NUTRITIONPRODUCT: return "NutritionProduct";
19632            case OBSERVATION: return "Observation";
19633            case OBSERVATIONDEFINITION: return "ObservationDefinition";
19634            case OPERATIONDEFINITION: return "OperationDefinition";
19635            case OPERATIONOUTCOME: return "OperationOutcome";
19636            case ORGANIZATION: return "Organization";
19637            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
19638            case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition";
19639            case PARAMETERS: return "Parameters";
19640            case PATIENT: return "Patient";
19641            case PAYMENTNOTICE: return "PaymentNotice";
19642            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
19643            case PERMISSION: return "Permission";
19644            case PERSON: return "Person";
19645            case PLANDEFINITION: return "PlanDefinition";
19646            case PRACTITIONER: return "Practitioner";
19647            case PRACTITIONERROLE: return "PractitionerRole";
19648            case PROCEDURE: return "Procedure";
19649            case PROVENANCE: return "Provenance";
19650            case QUESTIONNAIRE: return "Questionnaire";
19651            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
19652            case REGULATEDAUTHORIZATION: return "RegulatedAuthorization";
19653            case RELATEDPERSON: return "RelatedPerson";
19654            case REQUESTORCHESTRATION: return "RequestOrchestration";
19655            case REQUIREMENTS: return "Requirements";
19656            case RESEARCHSTUDY: return "ResearchStudy";
19657            case RESEARCHSUBJECT: return "ResearchSubject";
19658            case RESOURCE: return "Resource";
19659            case RISKASSESSMENT: return "RiskAssessment";
19660            case SCHEDULE: return "Schedule";
19661            case SEARCHPARAMETER: return "SearchParameter";
19662            case SERVICEREQUEST: return "ServiceRequest";
19663            case SLOT: return "Slot";
19664            case SPECIMEN: return "Specimen";
19665            case SPECIMENDEFINITION: return "SpecimenDefinition";
19666            case STRUCTUREDEFINITION: return "StructureDefinition";
19667            case STRUCTUREMAP: return "StructureMap";
19668            case SUBSCRIPTION: return "Subscription";
19669            case SUBSCRIPTIONSTATUS: return "SubscriptionStatus";
19670            case SUBSCRIPTIONTOPIC: return "SubscriptionTopic";
19671            case SUBSTANCE: return "Substance";
19672            case SUBSTANCEDEFINITION: return "SubstanceDefinition";
19673            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
19674            case SUBSTANCEPOLYMER: return "SubstancePolymer";
19675            case SUBSTANCEPROTEIN: return "SubstanceProtein";
19676            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
19677            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
19678            case SUPPLYDELIVERY: return "SupplyDelivery";
19679            case SUPPLYREQUEST: return "SupplyRequest";
19680            case TASK: return "Task";
19681            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
19682            case TESTPLAN: return "TestPlan";
19683            case TESTREPORT: return "TestReport";
19684            case TESTSCRIPT: return "TestScript";
19685            case TRANSPORT: return "Transport";
19686            case VALUESET: return "ValueSet";
19687            case VERIFICATIONRESULT: return "VerificationResult";
19688            case VISIONPRESCRIPTION: return "VisionPrescription";
19689            case BODYSITE: return "BodySite";
19690            case CATALOGENTRY: return "CatalogEntry";
19691            case CONFORMANCE: return "Conformance";
19692            case DATAELEMENT: return "DataElement";
19693            case DEVICECOMPONENT: return "DeviceComponent";
19694            case DEVICEUSEREQUEST: return "DeviceUseRequest";
19695            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
19696            case DIAGNOSTICORDER: return "DiagnosticOrder";
19697            case DOCUMENTMANIFEST: return "DocumentManifest";
19698            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
19699            case ELIGIBILITYREQUEST: return "EligibilityRequest";
19700            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
19701            case EXPANSIONPROFILE: return "ExpansionProfile";
19702            case IMAGINGMANIFEST: return "ImagingManifest";
19703            case IMAGINGOBJECTSELECTION: return "ImagingObjectSelection";
19704            case MEDIA: return "Media";
19705            case MEDICATIONORDER: return "MedicationOrder";
19706            case MEDICATIONUSAGE: return "MedicationUsage";
19707            case MEDICINALPRODUCT: return "MedicinalProduct";
19708            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
19709            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
19710            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
19711            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
19712            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
19713            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
19714            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
19715            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
19716            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
19717            case ORDER: return "Order";
19718            case ORDERRESPONSE: return "OrderResponse";
19719            case PROCEDUREREQUEST: return "ProcedureRequest";
19720            case PROCESSREQUEST: return "ProcessRequest";
19721            case PROCESSRESPONSE: return "ProcessResponse";
19722            case REFERRALREQUEST: return "ReferralRequest";
19723            case REQUESTGROUP: return "RequestGroup";
19724            case RESEARCHDEFINITION: return "ResearchDefinition";
19725            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
19726            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
19727            case SEQUENCE: return "Sequence";
19728            case SERVICEDEFINITION: return "ServiceDefinition";
19729            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
19730            case NULL: return null;
19731            default: return "?";
19732          }
19733        }
19734        public String getSystem() {
19735          switch (this) {
19736            case ACCOUNT: return "http://hl7.org/fhir/fhir-types";
19737            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/fhir-types";
19738            case ACTORDEFINITION: return "http://hl7.org/fhir/fhir-types";
19739            case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
19740            case ADVERSEEVENT: return "http://hl7.org/fhir/fhir-types";
19741            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/fhir-types";
19742            case APPOINTMENT: return "http://hl7.org/fhir/fhir-types";
19743            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/fhir-types";
19744            case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/fhir-types";
19745            case AUDITEVENT: return "http://hl7.org/fhir/fhir-types";
19746            case BASIC: return "http://hl7.org/fhir/fhir-types";
19747            case BINARY: return "http://hl7.org/fhir/fhir-types";
19748            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/fhir-types";
19749            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "http://hl7.org/fhir/fhir-types";
19750            case BODYSTRUCTURE: return "http://hl7.org/fhir/fhir-types";
19751            case BUNDLE: return "http://hl7.org/fhir/fhir-types";
19752            case CANONICALRESOURCE: return "http://hl7.org/fhir/fhir-types";
19753            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/fhir-types";
19754            case CAREPLAN: return "http://hl7.org/fhir/fhir-types";
19755            case CARETEAM: return "http://hl7.org/fhir/fhir-types";
19756            case CHARGEITEM: return "http://hl7.org/fhir/fhir-types";
19757            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/fhir-types";
19758            case CITATION: return "http://hl7.org/fhir/fhir-types";
19759            case CLAIM: return "http://hl7.org/fhir/fhir-types";
19760            case CLAIMRESPONSE: return "http://hl7.org/fhir/fhir-types";
19761            case CLINICALIMPRESSION: return "http://hl7.org/fhir/fhir-types";
19762            case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/fhir-types";
19763            case CODESYSTEM: return "http://hl7.org/fhir/fhir-types";
19764            case COMMUNICATION: return "http://hl7.org/fhir/fhir-types";
19765            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types";
19766            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/fhir-types";
19767            case COMPOSITION: return "http://hl7.org/fhir/fhir-types";
19768            case CONCEPTMAP: return "http://hl7.org/fhir/fhir-types";
19769            case CONDITION: return "http://hl7.org/fhir/fhir-types";
19770            case CONDITIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
19771            case CONSENT: return "http://hl7.org/fhir/fhir-types";
19772            case CONTRACT: return "http://hl7.org/fhir/fhir-types";
19773            case COVERAGE: return "http://hl7.org/fhir/fhir-types";
19774            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-types";
19775            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/fhir-types";
19776            case DETECTEDISSUE: return "http://hl7.org/fhir/fhir-types";
19777            case DEVICE: return "http://hl7.org/fhir/fhir-types";
19778            case DEVICEASSOCIATION: return "http://hl7.org/fhir/fhir-types";
19779            case DEVICEDEFINITION: return "http://hl7.org/fhir/fhir-types";
19780            case DEVICEDISPENSE: return "http://hl7.org/fhir/fhir-types";
19781            case DEVICEMETRIC: return "http://hl7.org/fhir/fhir-types";
19782            case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types";
19783            case DEVICEUSAGE: return "http://hl7.org/fhir/fhir-types";
19784            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/fhir-types";
19785            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/fhir-types";
19786            case DOMAINRESOURCE: return "http://hl7.org/fhir/fhir-types";
19787            case ENCOUNTER: return "http://hl7.org/fhir/fhir-types";
19788            case ENCOUNTERHISTORY: return "http://hl7.org/fhir/fhir-types";
19789            case ENDPOINT: return "http://hl7.org/fhir/fhir-types";
19790            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/fhir-types";
19791            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/fhir-types";
19792            case EPISODEOFCARE: return "http://hl7.org/fhir/fhir-types";
19793            case EVENTDEFINITION: return "http://hl7.org/fhir/fhir-types";
19794            case EVIDENCE: return "http://hl7.org/fhir/fhir-types";
19795            case EVIDENCEREPORT: return "http://hl7.org/fhir/fhir-types";
19796            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/fhir-types";
19797            case EXAMPLESCENARIO: return "http://hl7.org/fhir/fhir-types";
19798            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/fhir-types";
19799            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/fhir-types";
19800            case FLAG: return "http://hl7.org/fhir/fhir-types";
19801            case FORMULARYITEM: return "http://hl7.org/fhir/fhir-types";
19802            case GENOMICSTUDY: return "http://hl7.org/fhir/fhir-types";
19803            case GOAL: return "http://hl7.org/fhir/fhir-types";
19804            case GRAPHDEFINITION: return "http://hl7.org/fhir/fhir-types";
19805            case GROUP: return "http://hl7.org/fhir/fhir-types";
19806            case GUIDANCERESPONSE: return "http://hl7.org/fhir/fhir-types";
19807            case HEALTHCARESERVICE: return "http://hl7.org/fhir/fhir-types";
19808            case IMAGINGSELECTION: return "http://hl7.org/fhir/fhir-types";
19809            case IMAGINGSTUDY: return "http://hl7.org/fhir/fhir-types";
19810            case IMMUNIZATION: return "http://hl7.org/fhir/fhir-types";
19811            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/fhir-types";
19812            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/fhir-types";
19813            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/fhir-types";
19814            case INGREDIENT: return "http://hl7.org/fhir/fhir-types";
19815            case INSURANCEPLAN: return "http://hl7.org/fhir/fhir-types";
19816            case INVENTORYITEM: return "http://hl7.org/fhir/fhir-types";
19817            case INVENTORYREPORT: return "http://hl7.org/fhir/fhir-types";
19818            case INVOICE: return "http://hl7.org/fhir/fhir-types";
19819            case LIBRARY: return "http://hl7.org/fhir/fhir-types";
19820            case LINKAGE: return "http://hl7.org/fhir/fhir-types";
19821            case LIST: return "http://hl7.org/fhir/fhir-types";
19822            case LOCATION: return "http://hl7.org/fhir/fhir-types";
19823            case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/fhir-types";
19824            case MEASURE: return "http://hl7.org/fhir/fhir-types";
19825            case MEASUREREPORT: return "http://hl7.org/fhir/fhir-types";
19826            case MEDICATION: return "http://hl7.org/fhir/fhir-types";
19827            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/fhir-types";
19828            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/fhir-types";
19829            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/fhir-types";
19830            case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types";
19831            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/fhir-types";
19832            case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
19833            case MESSAGEDEFINITION: return "http://hl7.org/fhir/fhir-types";
19834            case MESSAGEHEADER: return "http://hl7.org/fhir/fhir-types";
19835            case METADATARESOURCE: return "http://hl7.org/fhir/fhir-types";
19836            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/fhir-types";
19837            case NAMINGSYSTEM: return "http://hl7.org/fhir/fhir-types";
19838            case NUTRITIONINTAKE: return "http://hl7.org/fhir/fhir-types";
19839            case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types";
19840            case NUTRITIONPRODUCT: return "http://hl7.org/fhir/fhir-types";
19841            case OBSERVATION: return "http://hl7.org/fhir/fhir-types";
19842            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
19843            case OPERATIONDEFINITION: return "http://hl7.org/fhir/fhir-types";
19844            case OPERATIONOUTCOME: return "http://hl7.org/fhir/fhir-types";
19845            case ORGANIZATION: return "http://hl7.org/fhir/fhir-types";
19846            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/fhir-types";
19847            case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types";
19848            case PARAMETERS: return "http://hl7.org/fhir/fhir-types";
19849            case PATIENT: return "http://hl7.org/fhir/fhir-types";
19850            case PAYMENTNOTICE: return "http://hl7.org/fhir/fhir-types";
19851            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/fhir-types";
19852            case PERMISSION: return "http://hl7.org/fhir/fhir-types";
19853            case PERSON: return "http://hl7.org/fhir/fhir-types";
19854            case PLANDEFINITION: return "http://hl7.org/fhir/fhir-types";
19855            case PRACTITIONER: return "http://hl7.org/fhir/fhir-types";
19856            case PRACTITIONERROLE: return "http://hl7.org/fhir/fhir-types";
19857            case PROCEDURE: return "http://hl7.org/fhir/fhir-types";
19858            case PROVENANCE: return "http://hl7.org/fhir/fhir-types";
19859            case QUESTIONNAIRE: return "http://hl7.org/fhir/fhir-types";
19860            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/fhir-types";
19861            case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/fhir-types";
19862            case RELATEDPERSON: return "http://hl7.org/fhir/fhir-types";
19863            case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types";
19864            case REQUIREMENTS: return "http://hl7.org/fhir/fhir-types";
19865            case RESEARCHSTUDY: return "http://hl7.org/fhir/fhir-types";
19866            case RESEARCHSUBJECT: return "http://hl7.org/fhir/fhir-types";
19867            case RESOURCE: return "http://hl7.org/fhir/fhir-types";
19868            case RISKASSESSMENT: return "http://hl7.org/fhir/fhir-types";
19869            case SCHEDULE: return "http://hl7.org/fhir/fhir-types";
19870            case SEARCHPARAMETER: return "http://hl7.org/fhir/fhir-types";
19871            case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types";
19872            case SLOT: return "http://hl7.org/fhir/fhir-types";
19873            case SPECIMEN: return "http://hl7.org/fhir/fhir-types";
19874            case SPECIMENDEFINITION: return "http://hl7.org/fhir/fhir-types";
19875            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/fhir-types";
19876            case STRUCTUREMAP: return "http://hl7.org/fhir/fhir-types";
19877            case SUBSCRIPTION: return "http://hl7.org/fhir/fhir-types";
19878            case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/fhir-types";
19879            case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/fhir-types";
19880            case SUBSTANCE: return "http://hl7.org/fhir/fhir-types";
19881            case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/fhir-types";
19882            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/fhir-types";
19883            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/fhir-types";
19884            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/fhir-types";
19885            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/fhir-types";
19886            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/fhir-types";
19887            case SUPPLYDELIVERY: return "http://hl7.org/fhir/fhir-types";
19888            case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types";
19889            case TASK: return "http://hl7.org/fhir/fhir-types";
19890            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/fhir-types";
19891            case TESTPLAN: return "http://hl7.org/fhir/fhir-types";
19892            case TESTREPORT: return "http://hl7.org/fhir/fhir-types";
19893            case TESTSCRIPT: return "http://hl7.org/fhir/fhir-types";
19894            case TRANSPORT: return "http://hl7.org/fhir/fhir-types";
19895            case VALUESET: return "http://hl7.org/fhir/fhir-types";
19896            case VERIFICATIONRESULT: return "http://hl7.org/fhir/fhir-types";
19897            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types";
19898            case BODYSITE: return "http://hl7.org/fhir/fhir-old-types";
19899            case CATALOGENTRY: return "http://hl7.org/fhir/fhir-old-types";
19900            case CONFORMANCE: return "http://hl7.org/fhir/fhir-old-types";
19901            case DATAELEMENT: return "http://hl7.org/fhir/fhir-old-types";
19902            case DEVICECOMPONENT: return "http://hl7.org/fhir/fhir-old-types";
19903            case DEVICEUSEREQUEST: return "http://hl7.org/fhir/fhir-old-types";
19904            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/fhir-old-types";
19905            case DIAGNOSTICORDER: return "http://hl7.org/fhir/fhir-old-types";
19906            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/fhir-old-types";
19907            case EFFECTEVIDENCESYNTHESIS: return "http://hl7.org/fhir/fhir-old-types";
19908            case ELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-old-types";
19909            case ELIGIBILITYRESPONSE: return "http://hl7.org/fhir/fhir-old-types";
19910            case EXPANSIONPROFILE: return "http://hl7.org/fhir/fhir-old-types";
19911            case IMAGINGMANIFEST: return "http://hl7.org/fhir/fhir-old-types";
19912            case IMAGINGOBJECTSELECTION: return "http://hl7.org/fhir/fhir-old-types";
19913            case MEDIA: return "http://hl7.org/fhir/fhir-old-types";
19914            case MEDICATIONORDER: return "http://hl7.org/fhir/fhir-old-types";
19915            case MEDICATIONUSAGE: return "http://hl7.org/fhir/fhir-old-types";
19916            case MEDICINALPRODUCT: return "http://hl7.org/fhir/fhir-old-types";
19917            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/fhir-old-types";
19918            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/fhir-old-types";
19919            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/fhir-old-types";
19920            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/fhir-old-types";
19921            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/fhir-old-types";
19922            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/fhir-old-types";
19923            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/fhir-old-types";
19924            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/fhir-old-types";
19925            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/fhir-old-types";
19926            case ORDER: return "http://hl7.org/fhir/fhir-old-types";
19927            case ORDERRESPONSE: return "http://hl7.org/fhir/fhir-old-types";
19928            case PROCEDUREREQUEST: return "http://hl7.org/fhir/fhir-old-types";
19929            case PROCESSREQUEST: return "http://hl7.org/fhir/fhir-old-types";
19930            case PROCESSRESPONSE: return "http://hl7.org/fhir/fhir-old-types";
19931            case REFERRALREQUEST: return "http://hl7.org/fhir/fhir-old-types";
19932            case REQUESTGROUP: return "http://hl7.org/fhir/fhir-old-types";
19933            case RESEARCHDEFINITION: return "http://hl7.org/fhir/fhir-old-types";
19934            case RESEARCHELEMENTDEFINITION: return "http://hl7.org/fhir/fhir-old-types";
19935            case RISKEVIDENCESYNTHESIS: return "http://hl7.org/fhir/fhir-old-types";
19936            case SEQUENCE: return "http://hl7.org/fhir/fhir-old-types";
19937            case SERVICEDEFINITION: return "http://hl7.org/fhir/fhir-old-types";
19938            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/fhir-old-types";
19939            case NULL: return null;
19940            default: return "?";
19941          }
19942        }
19943        public String getDefinition() {
19944          switch (this) {
19945            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.";
19946            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.";
19947            case ACTORDEFINITION: return "The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.";
19948            case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed).";
19949            case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research participant. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical  research trial management.  Adverse events can be reported by healthcare providers, patients, caregivers or by medical products manufacturers.  Given the differences between these two concepts, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints.";
19950            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
19951            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).";
19952            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
19953            case ARTIFACTASSESSMENT: return "This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content.";
19954            case AUDITEVENT: return "A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis.";
19955            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.";
19956            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.";
19957            case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity.";
19958            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "A record of dispensation of a biologically derived product.";
19959            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.";
19960            case BUNDLE: return "A container for a collection of resources.";
19961            case CANONICALRESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources.";
19962            case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client 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.";
19963            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.";
19964            case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care.";
19965            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.";
19966            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.";
19967            case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources.";
19968            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.";
19969            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
19970            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.";
19971            case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure.";
19972            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.";
19973            case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition.";
19974            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.";
19975            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
19976            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.).";
19977            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.";
19978            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
19979            case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it.";
19980            case CONSENT: return "A record of a healthcare consumer?s  choices  or choices made on their behalf by a third party, 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.";
19981            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
19982            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.";
19983            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.";
19984            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
19985            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, gaps in care, etc.";
19986            case DEVICE: return "This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc.), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element.";
19987            case DEVICEASSOCIATION: return "A record of association of a device.";
19988            case DEVICEDEFINITION: return "This is a specialized resource that defines the characteristics and capabilities of a device.";
19989            case DEVICEDISPENSE: return "Indicates that a device is to be or has been dispensed for a named person/patient.  This includes a description of the product (supply) provided and the instructions for using the device.";
19990            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a device.  The DeviceMetric resource is derived from the ISO/IEEE 11073-10201 Domain Information Model standard, but is more widely applicable. ";
19991            case DEVICEREQUEST: return "Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used.";
19992            case DEVICEUSAGE: return "A record of a device being used by a patient where the record is the result of a report from the patient or a clinician.";
19993            case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances.";
19994            case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term ?document? implies a more narrow focus, for this resource this ?document? encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare.  The DocumentReference resource provides metadata about the document so that the document can be discovered and managed.  The actual content may be inline base64 encoded data or provided by direct reference.";
19995            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
19996            case ENCOUNTER: return "An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s).";
19997            case ENCOUNTERHISTORY: return "A record of significant events/milestones key data throughout the history of an Encounter";
19998            case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.";
19999            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
20000            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
20001            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.";
20002            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
20003            case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence.";
20004            case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts.";
20005            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about.";
20006            case EXAMPLESCENARIO: return "A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.";
20007            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.";
20008            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
20009            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
20010            case FORMULARYITEM: return "This resource describes a product or service that is available through a program and includes the conditions and constraints of availability.  All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself.";
20011            case GENOMICSTUDY: return "A set of analyses performed to analyze and generate genomic data.";
20012            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.";
20013            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.";
20014            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.";
20015            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.";
20016            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location or in a catalog.  In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices.";
20017            case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource.";
20018            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.";
20019            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.";
20020            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.";
20021            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
20022            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.";
20023            case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
20024            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
20025            case INVENTORYITEM: return "functional description of an inventory item used in inventory and supply-related workflows.";
20026            case INVENTORYREPORT: return "A report of inventory or stock items.";
20027            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
20028            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.";
20029            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
20030            case LIST: return "A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc.";
20031            case LOCATION: return "Details and position information for a place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
20032            case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.";
20033            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
20034            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.";
20035            case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.";
20036            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. This event can also be used to record waste using a status of not-done and the appropriate statusReason.";
20037            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.";
20038            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
20039            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.";
20040            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 medicationstatement and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medicationstatement 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.";
20041            case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.).";
20042            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.";
20043            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.";
20044            case METADATARESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources.";
20045            case MOLECULARSEQUENCE: return "Representation of a molecular sequence.";
20046            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.";
20047            case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient.  A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past.  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 or through an app that tracks food or fluids consumed.   The consumption information may come from sources such as the patient's memory, from a nutrition label,  or from a clinician documenting observed intake.";
20048            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
20049            case NUTRITIONPRODUCT: return "A food or supplement that is consumed by patients.";
20050            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
20051            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
20052            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
20053            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
20054            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.";
20055            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship.";
20056            case PACKAGEDPRODUCTDEFINITION: return "A medically related item or items, in a container or package.";
20057            case PARAMETERS: return "This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment).  It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource.";
20058            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
20059            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
20060            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
20061            case PERMISSION: return "Permission resource holds access rules for a given data and context.";
20062            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
20063            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 and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.";
20064            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare or related services.";
20065            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time.";
20066            case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy.  This can be a quality or safety inspection for a location, organization, or device.  This can be an accreditation procedure on a practitioner for licensing.";
20067            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.";
20068            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.";
20069            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.";
20070            case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product.";
20071            case RELATEDPERSON: return "Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.";
20072            case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".";
20073            case REQUIREMENTS: return "The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.";
20074            case RESEARCHSTUDY: return "A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future.";
20075            case RESEARCHSUBJECT: return "A ResearchSubject is a participant or object which is the recipient of investigative activities in a research study.";
20076            case RESOURCE: return "This is the base resource type for everything.";
20077            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
20078            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
20079            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
20080            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
20081            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
20082            case SPECIMEN: return "A sample to be used for analysis.";
20083            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
20084            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.";
20085            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
20086            case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic.";
20087            case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted.";
20088            case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic.";
20089            case SUBSTANCE: return "A homogeneous material with a definite composition.";
20090            case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
20091            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.";
20092            case SUBSTANCEPOLYMER: return "Properties of a substance specific to it being a polymer.";
20093            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.";
20094            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
20095            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.";
20096            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
20097            case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.";
20098            case TASK: return "A task to be performed.";
20099            case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
20100            case TESTPLAN: return "A plan for executing testing on an artifact or specifications";
20101            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
20102            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
20103            case TRANSPORT: return "Record of transport.";
20104            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).";
20105            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
20106            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
20107            case BODYSITE: return "";
20108            case CATALOGENTRY: return "";
20109            case CONFORMANCE: return "";
20110            case DATAELEMENT: return "";
20111            case DEVICECOMPONENT: return "";
20112            case DEVICEUSEREQUEST: return "";
20113            case DEVICEUSESTATEMENT: return "";
20114            case DIAGNOSTICORDER: return "";
20115            case DOCUMENTMANIFEST: return "";
20116            case EFFECTEVIDENCESYNTHESIS: return "";
20117            case ELIGIBILITYREQUEST: return "";
20118            case ELIGIBILITYRESPONSE: return "";
20119            case EXPANSIONPROFILE: return "";
20120            case IMAGINGMANIFEST: return "";
20121            case IMAGINGOBJECTSELECTION: return "";
20122            case MEDIA: return "";
20123            case MEDICATIONORDER: return "";
20124            case MEDICATIONUSAGE: return "";
20125            case MEDICINALPRODUCT: return "";
20126            case MEDICINALPRODUCTAUTHORIZATION: return "";
20127            case MEDICINALPRODUCTCONTRAINDICATION: return "";
20128            case MEDICINALPRODUCTINDICATION: return "";
20129            case MEDICINALPRODUCTINGREDIENT: return "";
20130            case MEDICINALPRODUCTINTERACTION: return "";
20131            case MEDICINALPRODUCTMANUFACTURED: return "";
20132            case MEDICINALPRODUCTPACKAGED: return "";
20133            case MEDICINALPRODUCTPHARMACEUTICAL: return "";
20134            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "";
20135            case ORDER: return "";
20136            case ORDERRESPONSE: return "";
20137            case PROCEDUREREQUEST: return "";
20138            case PROCESSREQUEST: return "";
20139            case PROCESSRESPONSE: return "";
20140            case REFERRALREQUEST: return "";
20141            case REQUESTGROUP: return "";
20142            case RESEARCHDEFINITION: return "";
20143            case RESEARCHELEMENTDEFINITION: return "";
20144            case RISKEVIDENCESYNTHESIS: return "";
20145            case SEQUENCE: return "";
20146            case SERVICEDEFINITION: return "";
20147            case SUBSTANCESPECIFICATION: return "";
20148            case NULL: return null;
20149            default: return "?";
20150          }
20151        }
20152        public String getDisplay() {
20153          switch (this) {
20154            case ACCOUNT: return "Account";
20155            case ACTIVITYDEFINITION: return "ActivityDefinition";
20156            case ACTORDEFINITION: return "ActorDefinition";
20157            case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition";
20158            case ADVERSEEVENT: return "AdverseEvent";
20159            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
20160            case APPOINTMENT: return "Appointment";
20161            case APPOINTMENTRESPONSE: return "AppointmentResponse";
20162            case ARTIFACTASSESSMENT: return "ArtifactAssessment";
20163            case AUDITEVENT: return "AuditEvent";
20164            case BASIC: return "Basic";
20165            case BINARY: return "Binary";
20166            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
20167            case BIOLOGICALLYDERIVEDPRODUCTDISPENSE: return "BiologicallyDerivedProductDispense";
20168            case BODYSTRUCTURE: return "BodyStructure";
20169            case BUNDLE: return "Bundle";
20170            case CANONICALRESOURCE: return "CanonicalResource";
20171            case CAPABILITYSTATEMENT: return "CapabilityStatement";
20172            case CAREPLAN: return "CarePlan";
20173            case CARETEAM: return "CareTeam";
20174            case CHARGEITEM: return "ChargeItem";
20175            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
20176            case CITATION: return "Citation";
20177            case CLAIM: return "Claim";
20178            case CLAIMRESPONSE: return "ClaimResponse";
20179            case CLINICALIMPRESSION: return "ClinicalImpression";
20180            case CLINICALUSEDEFINITION: return "ClinicalUseDefinition";
20181            case CODESYSTEM: return "CodeSystem";
20182            case COMMUNICATION: return "Communication";
20183            case COMMUNICATIONREQUEST: return "CommunicationRequest";
20184            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
20185            case COMPOSITION: return "Composition";
20186            case CONCEPTMAP: return "ConceptMap";
20187            case CONDITION: return "Condition";
20188            case CONDITIONDEFINITION: return "ConditionDefinition";
20189            case CONSENT: return "Consent";
20190            case CONTRACT: return "Contract";
20191            case COVERAGE: return "Coverage";
20192            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
20193            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
20194            case DETECTEDISSUE: return "DetectedIssue";
20195            case DEVICE: return "Device";
20196            case DEVICEASSOCIATION: return "DeviceAssociation";
20197            case DEVICEDEFINITION: return "DeviceDefinition";
20198            case DEVICEDISPENSE: return "DeviceDispense";
20199            case DEVICEMETRIC: return "DeviceMetric";
20200            case DEVICEREQUEST: return "DeviceRequest";
20201            case DEVICEUSAGE: return "DeviceUsage";
20202            case DIAGNOSTICREPORT: return "DiagnosticReport";
20203            case DOCUMENTREFERENCE: return "DocumentReference";
20204            case DOMAINRESOURCE: return "DomainResource";
20205            case ENCOUNTER: return "Encounter";
20206            case ENCOUNTERHISTORY: return "EncounterHistory";
20207            case ENDPOINT: return "Endpoint";
20208            case ENROLLMENTREQUEST: return "EnrollmentRequest";
20209            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
20210            case EPISODEOFCARE: return "EpisodeOfCare";
20211            case EVENTDEFINITION: return "EventDefinition";
20212            case EVIDENCE: return "Evidence";
20213            case EVIDENCEREPORT: return "EvidenceReport";
20214            case EVIDENCEVARIABLE: return "EvidenceVariable";
20215            case EXAMPLESCENARIO: return "ExampleScenario";
20216            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
20217            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
20218            case FLAG: return "Flag";
20219            case FORMULARYITEM: return "FormularyItem";
20220            case GENOMICSTUDY: return "GenomicStudy";
20221            case GOAL: return "Goal";
20222            case GRAPHDEFINITION: return "GraphDefinition";
20223            case GROUP: return "Group";
20224            case GUIDANCERESPONSE: return "GuidanceResponse";
20225            case HEALTHCARESERVICE: return "HealthcareService";
20226            case IMAGINGSELECTION: return "ImagingSelection";
20227            case IMAGINGSTUDY: return "ImagingStudy";
20228            case IMMUNIZATION: return "Immunization";
20229            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
20230            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
20231            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
20232            case INGREDIENT: return "Ingredient";
20233            case INSURANCEPLAN: return "InsurancePlan";
20234            case INVENTORYITEM: return "InventoryItem";
20235            case INVENTORYREPORT: return "InventoryReport";
20236            case INVOICE: return "Invoice";
20237            case LIBRARY: return "Library";
20238            case LINKAGE: return "Linkage";
20239            case LIST: return "List";
20240            case LOCATION: return "Location";
20241            case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition";
20242            case MEASURE: return "Measure";
20243            case MEASUREREPORT: return "MeasureReport";
20244            case MEDICATION: return "Medication";
20245            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
20246            case MEDICATIONDISPENSE: return "MedicationDispense";
20247            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
20248            case MEDICATIONREQUEST: return "MedicationRequest";
20249            case MEDICATIONSTATEMENT: return "MedicationStatement";
20250            case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition";
20251            case MESSAGEDEFINITION: return "MessageDefinition";
20252            case MESSAGEHEADER: return "MessageHeader";
20253            case METADATARESOURCE: return "MetadataResource";
20254            case MOLECULARSEQUENCE: return "MolecularSequence";
20255            case NAMINGSYSTEM: return "NamingSystem";
20256            case NUTRITIONINTAKE: return "NutritionIntake";
20257            case NUTRITIONORDER: return "NutritionOrder";
20258            case NUTRITIONPRODUCT: return "NutritionProduct";
20259            case OBSERVATION: return "Observation";
20260            case OBSERVATIONDEFINITION: return "ObservationDefinition";
20261            case OPERATIONDEFINITION: return "OperationDefinition";
20262            case OPERATIONOUTCOME: return "OperationOutcome";
20263            case ORGANIZATION: return "Organization";
20264            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
20265            case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition";
20266            case PARAMETERS: return "Parameters";
20267            case PATIENT: return "Patient";
20268            case PAYMENTNOTICE: return "PaymentNotice";
20269            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
20270            case PERMISSION: return "Permission";
20271            case PERSON: return "Person";
20272            case PLANDEFINITION: return "PlanDefinition";
20273            case PRACTITIONER: return "Practitioner";
20274            case PRACTITIONERROLE: return "PractitionerRole";
20275            case PROCEDURE: return "Procedure";
20276            case PROVENANCE: return "Provenance";
20277            case QUESTIONNAIRE: return "Questionnaire";
20278            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
20279            case REGULATEDAUTHORIZATION: return "RegulatedAuthorization";
20280            case RELATEDPERSON: return "RelatedPerson";
20281            case REQUESTORCHESTRATION: return "RequestOrchestration";
20282            case REQUIREMENTS: return "Requirements";
20283            case RESEARCHSTUDY: return "ResearchStudy";
20284            case RESEARCHSUBJECT: return "ResearchSubject";
20285            case RESOURCE: return "Resource";
20286            case RISKASSESSMENT: return "RiskAssessment";
20287            case SCHEDULE: return "Schedule";
20288            case SEARCHPARAMETER: return "SearchParameter";
20289            case SERVICEREQUEST: return "ServiceRequest";
20290            case SLOT: return "Slot";
20291            case SPECIMEN: return "Specimen";
20292            case SPECIMENDEFINITION: return "SpecimenDefinition";
20293            case STRUCTUREDEFINITION: return "StructureDefinition";
20294            case STRUCTUREMAP: return "StructureMap";
20295            case SUBSCRIPTION: return "Subscription";
20296            case SUBSCRIPTIONSTATUS: return "SubscriptionStatus";
20297            case SUBSCRIPTIONTOPIC: return "SubscriptionTopic";
20298            case SUBSTANCE: return "Substance";
20299            case SUBSTANCEDEFINITION: return "SubstanceDefinition";
20300            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
20301            case SUBSTANCEPOLYMER: return "SubstancePolymer";
20302            case SUBSTANCEPROTEIN: return "SubstanceProtein";
20303            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
20304            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
20305            case SUPPLYDELIVERY: return "SupplyDelivery";
20306            case SUPPLYREQUEST: return "SupplyRequest";
20307            case TASK: return "Task";
20308            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
20309            case TESTPLAN: return "TestPlan";
20310            case TESTREPORT: return "TestReport";
20311            case TESTSCRIPT: return "TestScript";
20312            case TRANSPORT: return "Transport";
20313            case VALUESET: return "ValueSet";
20314            case VERIFICATIONRESULT: return "VerificationResult";
20315            case VISIONPRESCRIPTION: return "VisionPrescription";
20316            case BODYSITE: return "BodySite";
20317            case CATALOGENTRY: return "CatalogEntry";
20318            case CONFORMANCE: return "Conformance";
20319            case DATAELEMENT: return "DataElement";
20320            case DEVICECOMPONENT: return "DeviceComponent";
20321            case DEVICEUSEREQUEST: return "DeviceUseRequest";
20322            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
20323            case DIAGNOSTICORDER: return "DiagnosticOrder";
20324            case DOCUMENTMANIFEST: return "DocumentManifest";
20325            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
20326            case ELIGIBILITYREQUEST: return "EligibilityRequest";
20327            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
20328            case EXPANSIONPROFILE: return "ExpansionProfile";
20329            case IMAGINGMANIFEST: return "ImagingManifest";
20330            case IMAGINGOBJECTSELECTION: return "ImagingObjectSelection";
20331            case MEDIA: return "Media";
20332            case MEDICATIONORDER: return "MedicationOrder";
20333            case MEDICATIONUSAGE: return "MedicationUsage";
20334            case MEDICINALPRODUCT: return "MedicinalProduct";
20335            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
20336            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
20337            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
20338            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
20339            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
20340            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
20341            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
20342            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
20343            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
20344            case ORDER: return "Order";
20345            case ORDERRESPONSE: return "OrderResponse";
20346            case PROCEDUREREQUEST: return "ProcedureRequest";
20347            case PROCESSREQUEST: return "ProcessRequest";
20348            case PROCESSRESPONSE: return "ProcessResponse";
20349            case REFERRALREQUEST: return "ReferralRequest";
20350            case REQUESTGROUP: return "RequestGroup";
20351            case RESEARCHDEFINITION: return "ResearchDefinition";
20352            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
20353            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
20354            case SEQUENCE: return "Sequence";
20355            case SERVICEDEFINITION: return "ServiceDefinition";
20356            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
20357            case NULL: return null;
20358            default: return "?";
20359          }
20360        }
20361    }
20362
20363  public static class VersionIndependentResourceTypesAllEnumFactory implements EnumFactory<VersionIndependentResourceTypesAll> {
20364    public VersionIndependentResourceTypesAll fromCode(String codeString) throws IllegalArgumentException {
20365      if (codeString == null || "".equals(codeString))
20366            if (codeString == null || "".equals(codeString))
20367                return null;
20368        if ("Account".equals(codeString))
20369          return VersionIndependentResourceTypesAll.ACCOUNT;
20370        if ("ActivityDefinition".equals(codeString))
20371          return VersionIndependentResourceTypesAll.ACTIVITYDEFINITION;
20372        if ("ActorDefinition".equals(codeString))
20373          return VersionIndependentResourceTypesAll.ACTORDEFINITION;
20374        if ("AdministrableProductDefinition".equals(codeString))
20375          return VersionIndependentResourceTypesAll.ADMINISTRABLEPRODUCTDEFINITION;
20376        if ("AdverseEvent".equals(codeString))
20377          return VersionIndependentResourceTypesAll.ADVERSEEVENT;
20378        if ("AllergyIntolerance".equals(codeString))
20379          return VersionIndependentResourceTypesAll.ALLERGYINTOLERANCE;
20380        if ("Appointment".equals(codeString))
20381          return VersionIndependentResourceTypesAll.APPOINTMENT;
20382        if ("AppointmentResponse".equals(codeString))
20383          return VersionIndependentResourceTypesAll.APPOINTMENTRESPONSE;
20384        if ("ArtifactAssessment".equals(codeString))
20385          return VersionIndependentResourceTypesAll.ARTIFACTASSESSMENT;
20386        if ("AuditEvent".equals(codeString))
20387          return VersionIndependentResourceTypesAll.AUDITEVENT;
20388        if ("Basic".equals(codeString))
20389          return VersionIndependentResourceTypesAll.BASIC;
20390        if ("Binary".equals(codeString))
20391          return VersionIndependentResourceTypesAll.BINARY;
20392        if ("BiologicallyDerivedProduct".equals(codeString))
20393          return VersionIndependentResourceTypesAll.BIOLOGICALLYDERIVEDPRODUCT;
20394        if ("BiologicallyDerivedProductDispense".equals(codeString))
20395          return VersionIndependentResourceTypesAll.BIOLOGICALLYDERIVEDPRODUCTDISPENSE;
20396        if ("BodyStructure".equals(codeString))
20397          return VersionIndependentResourceTypesAll.BODYSTRUCTURE;
20398        if ("Bundle".equals(codeString))
20399          return VersionIndependentResourceTypesAll.BUNDLE;
20400        if ("CanonicalResource".equals(codeString))
20401          return VersionIndependentResourceTypesAll.CANONICALRESOURCE;
20402        if ("CapabilityStatement".equals(codeString))
20403          return VersionIndependentResourceTypesAll.CAPABILITYSTATEMENT;
20404        if ("CarePlan".equals(codeString))
20405          return VersionIndependentResourceTypesAll.CAREPLAN;
20406        if ("CareTeam".equals(codeString))
20407          return VersionIndependentResourceTypesAll.CARETEAM;
20408        if ("ChargeItem".equals(codeString))
20409          return VersionIndependentResourceTypesAll.CHARGEITEM;
20410        if ("ChargeItemDefinition".equals(codeString))
20411          return VersionIndependentResourceTypesAll.CHARGEITEMDEFINITION;
20412        if ("Citation".equals(codeString))
20413          return VersionIndependentResourceTypesAll.CITATION;
20414        if ("Claim".equals(codeString))
20415          return VersionIndependentResourceTypesAll.CLAIM;
20416        if ("ClaimResponse".equals(codeString))
20417          return VersionIndependentResourceTypesAll.CLAIMRESPONSE;
20418        if ("ClinicalImpression".equals(codeString))
20419          return VersionIndependentResourceTypesAll.CLINICALIMPRESSION;
20420        if ("ClinicalUseDefinition".equals(codeString))
20421          return VersionIndependentResourceTypesAll.CLINICALUSEDEFINITION;
20422        if ("CodeSystem".equals(codeString))
20423          return VersionIndependentResourceTypesAll.CODESYSTEM;
20424        if ("Communication".equals(codeString))
20425          return VersionIndependentResourceTypesAll.COMMUNICATION;
20426        if ("CommunicationRequest".equals(codeString))
20427          return VersionIndependentResourceTypesAll.COMMUNICATIONREQUEST;
20428        if ("CompartmentDefinition".equals(codeString))
20429          return VersionIndependentResourceTypesAll.COMPARTMENTDEFINITION;
20430        if ("Composition".equals(codeString))
20431          return VersionIndependentResourceTypesAll.COMPOSITION;
20432        if ("ConceptMap".equals(codeString))
20433          return VersionIndependentResourceTypesAll.CONCEPTMAP;
20434        if ("Condition".equals(codeString))
20435          return VersionIndependentResourceTypesAll.CONDITION;
20436        if ("ConditionDefinition".equals(codeString))
20437          return VersionIndependentResourceTypesAll.CONDITIONDEFINITION;
20438        if ("Consent".equals(codeString))
20439          return VersionIndependentResourceTypesAll.CONSENT;
20440        if ("Contract".equals(codeString))
20441          return VersionIndependentResourceTypesAll.CONTRACT;
20442        if ("Coverage".equals(codeString))
20443          return VersionIndependentResourceTypesAll.COVERAGE;
20444        if ("CoverageEligibilityRequest".equals(codeString))
20445          return VersionIndependentResourceTypesAll.COVERAGEELIGIBILITYREQUEST;
20446        if ("CoverageEligibilityResponse".equals(codeString))
20447          return VersionIndependentResourceTypesAll.COVERAGEELIGIBILITYRESPONSE;
20448        if ("DetectedIssue".equals(codeString))
20449          return VersionIndependentResourceTypesAll.DETECTEDISSUE;
20450        if ("Device".equals(codeString))
20451          return VersionIndependentResourceTypesAll.DEVICE;
20452        if ("DeviceAssociation".equals(codeString))
20453          return VersionIndependentResourceTypesAll.DEVICEASSOCIATION;
20454        if ("DeviceDefinition".equals(codeString))
20455          return VersionIndependentResourceTypesAll.DEVICEDEFINITION;
20456        if ("DeviceDispense".equals(codeString))
20457          return VersionIndependentResourceTypesAll.DEVICEDISPENSE;
20458        if ("DeviceMetric".equals(codeString))
20459          return VersionIndependentResourceTypesAll.DEVICEMETRIC;
20460        if ("DeviceRequest".equals(codeString))
20461          return VersionIndependentResourceTypesAll.DEVICEREQUEST;
20462        if ("DeviceUsage".equals(codeString))
20463          return VersionIndependentResourceTypesAll.DEVICEUSAGE;
20464        if ("DiagnosticReport".equals(codeString))
20465          return VersionIndependentResourceTypesAll.DIAGNOSTICREPORT;
20466        if ("DocumentReference".equals(codeString))
20467          return VersionIndependentResourceTypesAll.DOCUMENTREFERENCE;
20468        if ("DomainResource".equals(codeString))
20469          return VersionIndependentResourceTypesAll.DOMAINRESOURCE;
20470        if ("Encounter".equals(codeString))
20471          return VersionIndependentResourceTypesAll.ENCOUNTER;
20472        if ("EncounterHistory".equals(codeString))
20473          return VersionIndependentResourceTypesAll.ENCOUNTERHISTORY;
20474        if ("Endpoint".equals(codeString))
20475          return VersionIndependentResourceTypesAll.ENDPOINT;
20476        if ("EnrollmentRequest".equals(codeString))
20477          return VersionIndependentResourceTypesAll.ENROLLMENTREQUEST;
20478        if ("EnrollmentResponse".equals(codeString))
20479          return VersionIndependentResourceTypesAll.ENROLLMENTRESPONSE;
20480        if ("EpisodeOfCare".equals(codeString))
20481          return VersionIndependentResourceTypesAll.EPISODEOFCARE;
20482        if ("EventDefinition".equals(codeString))
20483          return VersionIndependentResourceTypesAll.EVENTDEFINITION;
20484        if ("Evidence".equals(codeString))
20485          return VersionIndependentResourceTypesAll.EVIDENCE;
20486        if ("EvidenceReport".equals(codeString))
20487          return VersionIndependentResourceTypesAll.EVIDENCEREPORT;
20488        if ("EvidenceVariable".equals(codeString))
20489          return VersionIndependentResourceTypesAll.EVIDENCEVARIABLE;
20490        if ("ExampleScenario".equals(codeString))
20491          return VersionIndependentResourceTypesAll.EXAMPLESCENARIO;
20492        if ("ExplanationOfBenefit".equals(codeString))
20493          return VersionIndependentResourceTypesAll.EXPLANATIONOFBENEFIT;
20494        if ("FamilyMemberHistory".equals(codeString))
20495          return VersionIndependentResourceTypesAll.FAMILYMEMBERHISTORY;
20496        if ("Flag".equals(codeString))
20497          return VersionIndependentResourceTypesAll.FLAG;
20498        if ("FormularyItem".equals(codeString))
20499          return VersionIndependentResourceTypesAll.FORMULARYITEM;
20500        if ("GenomicStudy".equals(codeString))
20501          return VersionIndependentResourceTypesAll.GENOMICSTUDY;
20502        if ("Goal".equals(codeString))
20503          return VersionIndependentResourceTypesAll.GOAL;
20504        if ("GraphDefinition".equals(codeString))
20505          return VersionIndependentResourceTypesAll.GRAPHDEFINITION;
20506        if ("Group".equals(codeString))
20507          return VersionIndependentResourceTypesAll.GROUP;
20508        if ("GuidanceResponse".equals(codeString))
20509          return VersionIndependentResourceTypesAll.GUIDANCERESPONSE;
20510        if ("HealthcareService".equals(codeString))
20511          return VersionIndependentResourceTypesAll.HEALTHCARESERVICE;
20512        if ("ImagingSelection".equals(codeString))
20513          return VersionIndependentResourceTypesAll.IMAGINGSELECTION;
20514        if ("ImagingStudy".equals(codeString))
20515          return VersionIndependentResourceTypesAll.IMAGINGSTUDY;
20516        if ("Immunization".equals(codeString))
20517          return VersionIndependentResourceTypesAll.IMMUNIZATION;
20518        if ("ImmunizationEvaluation".equals(codeString))
20519          return VersionIndependentResourceTypesAll.IMMUNIZATIONEVALUATION;
20520        if ("ImmunizationRecommendation".equals(codeString))
20521          return VersionIndependentResourceTypesAll.IMMUNIZATIONRECOMMENDATION;
20522        if ("ImplementationGuide".equals(codeString))
20523          return VersionIndependentResourceTypesAll.IMPLEMENTATIONGUIDE;
20524        if ("Ingredient".equals(codeString))
20525          return VersionIndependentResourceTypesAll.INGREDIENT;
20526        if ("InsurancePlan".equals(codeString))
20527          return VersionIndependentResourceTypesAll.INSURANCEPLAN;
20528        if ("InventoryItem".equals(codeString))
20529          return VersionIndependentResourceTypesAll.INVENTORYITEM;
20530        if ("InventoryReport".equals(codeString))
20531          return VersionIndependentResourceTypesAll.INVENTORYREPORT;
20532        if ("Invoice".equals(codeString))
20533          return VersionIndependentResourceTypesAll.INVOICE;
20534        if ("Library".equals(codeString))
20535          return VersionIndependentResourceTypesAll.LIBRARY;
20536        if ("Linkage".equals(codeString))
20537          return VersionIndependentResourceTypesAll.LINKAGE;
20538        if ("List".equals(codeString))
20539          return VersionIndependentResourceTypesAll.LIST;
20540        if ("Location".equals(codeString))
20541          return VersionIndependentResourceTypesAll.LOCATION;
20542        if ("ManufacturedItemDefinition".equals(codeString))
20543          return VersionIndependentResourceTypesAll.MANUFACTUREDITEMDEFINITION;
20544        if ("Measure".equals(codeString))
20545          return VersionIndependentResourceTypesAll.MEASURE;
20546        if ("MeasureReport".equals(codeString))
20547          return VersionIndependentResourceTypesAll.MEASUREREPORT;
20548        if ("Medication".equals(codeString))
20549          return VersionIndependentResourceTypesAll.MEDICATION;
20550        if ("MedicationAdministration".equals(codeString))
20551          return VersionIndependentResourceTypesAll.MEDICATIONADMINISTRATION;
20552        if ("MedicationDispense".equals(codeString))
20553          return VersionIndependentResourceTypesAll.MEDICATIONDISPENSE;
20554        if ("MedicationKnowledge".equals(codeString))
20555          return VersionIndependentResourceTypesAll.MEDICATIONKNOWLEDGE;
20556        if ("MedicationRequest".equals(codeString))
20557          return VersionIndependentResourceTypesAll.MEDICATIONREQUEST;
20558        if ("MedicationStatement".equals(codeString))
20559          return VersionIndependentResourceTypesAll.MEDICATIONSTATEMENT;
20560        if ("MedicinalProductDefinition".equals(codeString))
20561          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTDEFINITION;
20562        if ("MessageDefinition".equals(codeString))
20563          return VersionIndependentResourceTypesAll.MESSAGEDEFINITION;
20564        if ("MessageHeader".equals(codeString))
20565          return VersionIndependentResourceTypesAll.MESSAGEHEADER;
20566        if ("MetadataResource".equals(codeString))
20567          return VersionIndependentResourceTypesAll.METADATARESOURCE;
20568        if ("MolecularSequence".equals(codeString))
20569          return VersionIndependentResourceTypesAll.MOLECULARSEQUENCE;
20570        if ("NamingSystem".equals(codeString))
20571          return VersionIndependentResourceTypesAll.NAMINGSYSTEM;
20572        if ("NutritionIntake".equals(codeString))
20573          return VersionIndependentResourceTypesAll.NUTRITIONINTAKE;
20574        if ("NutritionOrder".equals(codeString))
20575          return VersionIndependentResourceTypesAll.NUTRITIONORDER;
20576        if ("NutritionProduct".equals(codeString))
20577          return VersionIndependentResourceTypesAll.NUTRITIONPRODUCT;
20578        if ("Observation".equals(codeString))
20579          return VersionIndependentResourceTypesAll.OBSERVATION;
20580        if ("ObservationDefinition".equals(codeString))
20581          return VersionIndependentResourceTypesAll.OBSERVATIONDEFINITION;
20582        if ("OperationDefinition".equals(codeString))
20583          return VersionIndependentResourceTypesAll.OPERATIONDEFINITION;
20584        if ("OperationOutcome".equals(codeString))
20585          return VersionIndependentResourceTypesAll.OPERATIONOUTCOME;
20586        if ("Organization".equals(codeString))
20587          return VersionIndependentResourceTypesAll.ORGANIZATION;
20588        if ("OrganizationAffiliation".equals(codeString))
20589          return VersionIndependentResourceTypesAll.ORGANIZATIONAFFILIATION;
20590        if ("PackagedProductDefinition".equals(codeString))
20591          return VersionIndependentResourceTypesAll.PACKAGEDPRODUCTDEFINITION;
20592        if ("Parameters".equals(codeString))
20593          return VersionIndependentResourceTypesAll.PARAMETERS;
20594        if ("Patient".equals(codeString))
20595          return VersionIndependentResourceTypesAll.PATIENT;
20596        if ("PaymentNotice".equals(codeString))
20597          return VersionIndependentResourceTypesAll.PAYMENTNOTICE;
20598        if ("PaymentReconciliation".equals(codeString))
20599          return VersionIndependentResourceTypesAll.PAYMENTRECONCILIATION;
20600        if ("Permission".equals(codeString))
20601          return VersionIndependentResourceTypesAll.PERMISSION;
20602        if ("Person".equals(codeString))
20603          return VersionIndependentResourceTypesAll.PERSON;
20604        if ("PlanDefinition".equals(codeString))
20605          return VersionIndependentResourceTypesAll.PLANDEFINITION;
20606        if ("Practitioner".equals(codeString))
20607          return VersionIndependentResourceTypesAll.PRACTITIONER;
20608        if ("PractitionerRole".equals(codeString))
20609          return VersionIndependentResourceTypesAll.PRACTITIONERROLE;
20610        if ("Procedure".equals(codeString))
20611          return VersionIndependentResourceTypesAll.PROCEDURE;
20612        if ("Provenance".equals(codeString))
20613          return VersionIndependentResourceTypesAll.PROVENANCE;
20614        if ("Questionnaire".equals(codeString))
20615          return VersionIndependentResourceTypesAll.QUESTIONNAIRE;
20616        if ("QuestionnaireResponse".equals(codeString))
20617          return VersionIndependentResourceTypesAll.QUESTIONNAIRERESPONSE;
20618        if ("RegulatedAuthorization".equals(codeString))
20619          return VersionIndependentResourceTypesAll.REGULATEDAUTHORIZATION;
20620        if ("RelatedPerson".equals(codeString))
20621          return VersionIndependentResourceTypesAll.RELATEDPERSON;
20622        if ("RequestOrchestration".equals(codeString))
20623          return VersionIndependentResourceTypesAll.REQUESTORCHESTRATION;
20624        if ("Requirements".equals(codeString))
20625          return VersionIndependentResourceTypesAll.REQUIREMENTS;
20626        if ("ResearchStudy".equals(codeString))
20627          return VersionIndependentResourceTypesAll.RESEARCHSTUDY;
20628        if ("ResearchSubject".equals(codeString))
20629          return VersionIndependentResourceTypesAll.RESEARCHSUBJECT;
20630        if ("Resource".equals(codeString))
20631          return VersionIndependentResourceTypesAll.RESOURCE;
20632        if ("RiskAssessment".equals(codeString))
20633          return VersionIndependentResourceTypesAll.RISKASSESSMENT;
20634        if ("Schedule".equals(codeString))
20635          return VersionIndependentResourceTypesAll.SCHEDULE;
20636        if ("SearchParameter".equals(codeString))
20637          return VersionIndependentResourceTypesAll.SEARCHPARAMETER;
20638        if ("ServiceRequest".equals(codeString))
20639          return VersionIndependentResourceTypesAll.SERVICEREQUEST;
20640        if ("Slot".equals(codeString))
20641          return VersionIndependentResourceTypesAll.SLOT;
20642        if ("Specimen".equals(codeString))
20643          return VersionIndependentResourceTypesAll.SPECIMEN;
20644        if ("SpecimenDefinition".equals(codeString))
20645          return VersionIndependentResourceTypesAll.SPECIMENDEFINITION;
20646        if ("StructureDefinition".equals(codeString))
20647          return VersionIndependentResourceTypesAll.STRUCTUREDEFINITION;
20648        if ("StructureMap".equals(codeString))
20649          return VersionIndependentResourceTypesAll.STRUCTUREMAP;
20650        if ("Subscription".equals(codeString))
20651          return VersionIndependentResourceTypesAll.SUBSCRIPTION;
20652        if ("SubscriptionStatus".equals(codeString))
20653          return VersionIndependentResourceTypesAll.SUBSCRIPTIONSTATUS;
20654        if ("SubscriptionTopic".equals(codeString))
20655          return VersionIndependentResourceTypesAll.SUBSCRIPTIONTOPIC;
20656        if ("Substance".equals(codeString))
20657          return VersionIndependentResourceTypesAll.SUBSTANCE;
20658        if ("SubstanceDefinition".equals(codeString))
20659          return VersionIndependentResourceTypesAll.SUBSTANCEDEFINITION;
20660        if ("SubstanceNucleicAcid".equals(codeString))
20661          return VersionIndependentResourceTypesAll.SUBSTANCENUCLEICACID;
20662        if ("SubstancePolymer".equals(codeString))
20663          return VersionIndependentResourceTypesAll.SUBSTANCEPOLYMER;
20664        if ("SubstanceProtein".equals(codeString))
20665          return VersionIndependentResourceTypesAll.SUBSTANCEPROTEIN;
20666        if ("SubstanceReferenceInformation".equals(codeString))
20667          return VersionIndependentResourceTypesAll.SUBSTANCEREFERENCEINFORMATION;
20668        if ("SubstanceSourceMaterial".equals(codeString))
20669          return VersionIndependentResourceTypesAll.SUBSTANCESOURCEMATERIAL;
20670        if ("SupplyDelivery".equals(codeString))
20671          return VersionIndependentResourceTypesAll.SUPPLYDELIVERY;
20672        if ("SupplyRequest".equals(codeString))
20673          return VersionIndependentResourceTypesAll.SUPPLYREQUEST;
20674        if ("Task".equals(codeString))
20675          return VersionIndependentResourceTypesAll.TASK;
20676        if ("TerminologyCapabilities".equals(codeString))
20677          return VersionIndependentResourceTypesAll.TERMINOLOGYCAPABILITIES;
20678        if ("TestPlan".equals(codeString))
20679          return VersionIndependentResourceTypesAll.TESTPLAN;
20680        if ("TestReport".equals(codeString))
20681          return VersionIndependentResourceTypesAll.TESTREPORT;
20682        if ("TestScript".equals(codeString))
20683          return VersionIndependentResourceTypesAll.TESTSCRIPT;
20684        if ("Transport".equals(codeString))
20685          return VersionIndependentResourceTypesAll.TRANSPORT;
20686        if ("ValueSet".equals(codeString))
20687          return VersionIndependentResourceTypesAll.VALUESET;
20688        if ("VerificationResult".equals(codeString))
20689          return VersionIndependentResourceTypesAll.VERIFICATIONRESULT;
20690        if ("VisionPrescription".equals(codeString))
20691          return VersionIndependentResourceTypesAll.VISIONPRESCRIPTION;
20692        if ("BodySite".equals(codeString))
20693          return VersionIndependentResourceTypesAll.BODYSITE;
20694        if ("CatalogEntry".equals(codeString))
20695          return VersionIndependentResourceTypesAll.CATALOGENTRY;
20696        if ("Conformance".equals(codeString))
20697          return VersionIndependentResourceTypesAll.CONFORMANCE;
20698        if ("DataElement".equals(codeString))
20699          return VersionIndependentResourceTypesAll.DATAELEMENT;
20700        if ("DeviceComponent".equals(codeString))
20701          return VersionIndependentResourceTypesAll.DEVICECOMPONENT;
20702        if ("DeviceUseRequest".equals(codeString))
20703          return VersionIndependentResourceTypesAll.DEVICEUSEREQUEST;
20704        if ("DeviceUseStatement".equals(codeString))
20705          return VersionIndependentResourceTypesAll.DEVICEUSESTATEMENT;
20706        if ("DiagnosticOrder".equals(codeString))
20707          return VersionIndependentResourceTypesAll.DIAGNOSTICORDER;
20708        if ("DocumentManifest".equals(codeString))
20709          return VersionIndependentResourceTypesAll.DOCUMENTMANIFEST;
20710        if ("EffectEvidenceSynthesis".equals(codeString))
20711          return VersionIndependentResourceTypesAll.EFFECTEVIDENCESYNTHESIS;
20712        if ("EligibilityRequest".equals(codeString))
20713          return VersionIndependentResourceTypesAll.ELIGIBILITYREQUEST;
20714        if ("EligibilityResponse".equals(codeString))
20715          return VersionIndependentResourceTypesAll.ELIGIBILITYRESPONSE;
20716        if ("ExpansionProfile".equals(codeString))
20717          return VersionIndependentResourceTypesAll.EXPANSIONPROFILE;
20718        if ("ImagingManifest".equals(codeString))
20719          return VersionIndependentResourceTypesAll.IMAGINGMANIFEST;
20720        if ("ImagingObjectSelection".equals(codeString))
20721          return VersionIndependentResourceTypesAll.IMAGINGOBJECTSELECTION;
20722        if ("Media".equals(codeString))
20723          return VersionIndependentResourceTypesAll.MEDIA;
20724        if ("MedicationOrder".equals(codeString))
20725          return VersionIndependentResourceTypesAll.MEDICATIONORDER;
20726        if ("MedicationUsage".equals(codeString))
20727          return VersionIndependentResourceTypesAll.MEDICATIONUSAGE;
20728        if ("MedicinalProduct".equals(codeString))
20729          return VersionIndependentResourceTypesAll.MEDICINALPRODUCT;
20730        if ("MedicinalProductAuthorization".equals(codeString))
20731          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTAUTHORIZATION;
20732        if ("MedicinalProductContraindication".equals(codeString))
20733          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTCONTRAINDICATION;
20734        if ("MedicinalProductIndication".equals(codeString))
20735          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTINDICATION;
20736        if ("MedicinalProductIngredient".equals(codeString))
20737          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTINGREDIENT;
20738        if ("MedicinalProductInteraction".equals(codeString))
20739          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTINTERACTION;
20740        if ("MedicinalProductManufactured".equals(codeString))
20741          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTMANUFACTURED;
20742        if ("MedicinalProductPackaged".equals(codeString))
20743          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTPACKAGED;
20744        if ("MedicinalProductPharmaceutical".equals(codeString))
20745          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTPHARMACEUTICAL;
20746        if ("MedicinalProductUndesirableEffect".equals(codeString))
20747          return VersionIndependentResourceTypesAll.MEDICINALPRODUCTUNDESIRABLEEFFECT;
20748        if ("Order".equals(codeString))
20749          return VersionIndependentResourceTypesAll.ORDER;
20750        if ("OrderResponse".equals(codeString))
20751          return VersionIndependentResourceTypesAll.ORDERRESPONSE;
20752        if ("ProcedureRequest".equals(codeString))
20753          return VersionIndependentResourceTypesAll.PROCEDUREREQUEST;
20754        if ("ProcessRequest".equals(codeString))
20755          return VersionIndependentResourceTypesAll.PROCESSREQUEST;
20756        if ("ProcessResponse".equals(codeString))
20757          return VersionIndependentResourceTypesAll.PROCESSRESPONSE;
20758        if ("ReferralRequest".equals(codeString))
20759          return VersionIndependentResourceTypesAll.REFERRALREQUEST;
20760        if ("RequestGroup".equals(codeString))
20761          return VersionIndependentResourceTypesAll.REQUESTGROUP;
20762        if ("ResearchDefinition".equals(codeString))
20763          return VersionIndependentResourceTypesAll.RESEARCHDEFINITION;
20764        if ("ResearchElementDefinition".equals(codeString))
20765          return VersionIndependentResourceTypesAll.RESEARCHELEMENTDEFINITION;
20766        if ("RiskEvidenceSynthesis".equals(codeString))
20767          return VersionIndependentResourceTypesAll.RISKEVIDENCESYNTHESIS;
20768        if ("Sequence".equals(codeString))
20769          return VersionIndependentResourceTypesAll.SEQUENCE;
20770        if ("ServiceDefinition".equals(codeString))
20771          return VersionIndependentResourceTypesAll.SERVICEDEFINITION;
20772        if ("SubstanceSpecification".equals(codeString))
20773          return VersionIndependentResourceTypesAll.SUBSTANCESPECIFICATION;
20774        throw new IllegalArgumentException("Unknown VersionIndependentResourceTypesAll code '"+codeString+"'");
20775        }
20776
20777        public Enumeration<VersionIndependentResourceTypesAll> fromType(PrimitiveType<?> code) throws FHIRException {
20778          if (code == null)
20779            return null;
20780          if (code.isEmpty())
20781            return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.NULL, code);
20782          String codeString = ((PrimitiveType) code).asStringValue();
20783          if (codeString == null || "".equals(codeString))
20784            return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.NULL, code);
20785        if ("Account".equals(codeString))
20786          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ACCOUNT, code);
20787        if ("ActivityDefinition".equals(codeString))
20788          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ACTIVITYDEFINITION, code);
20789        if ("ActorDefinition".equals(codeString))
20790          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ACTORDEFINITION, code);
20791        if ("AdministrableProductDefinition".equals(codeString))
20792          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ADMINISTRABLEPRODUCTDEFINITION, code);
20793        if ("AdverseEvent".equals(codeString))
20794          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ADVERSEEVENT, code);
20795        if ("AllergyIntolerance".equals(codeString))
20796          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ALLERGYINTOLERANCE, code);
20797        if ("Appointment".equals(codeString))
20798          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.APPOINTMENT, code);
20799        if ("AppointmentResponse".equals(codeString))
20800          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.APPOINTMENTRESPONSE, code);
20801        if ("ArtifactAssessment".equals(codeString))
20802          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ARTIFACTASSESSMENT, code);
20803        if ("AuditEvent".equals(codeString))
20804          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.AUDITEVENT, code);
20805        if ("Basic".equals(codeString))
20806          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.BASIC, code);
20807        if ("Binary".equals(codeString))
20808          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.BINARY, code);
20809        if ("BiologicallyDerivedProduct".equals(codeString))
20810          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.BIOLOGICALLYDERIVEDPRODUCT, code);
20811        if ("BiologicallyDerivedProductDispense".equals(codeString))
20812          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.BIOLOGICALLYDERIVEDPRODUCTDISPENSE, code);
20813        if ("BodyStructure".equals(codeString))
20814          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.BODYSTRUCTURE, code);
20815        if ("Bundle".equals(codeString))
20816          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.BUNDLE, code);
20817        if ("CanonicalResource".equals(codeString))
20818          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CANONICALRESOURCE, code);
20819        if ("CapabilityStatement".equals(codeString))
20820          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CAPABILITYSTATEMENT, code);
20821        if ("CarePlan".equals(codeString))
20822          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CAREPLAN, code);
20823        if ("CareTeam".equals(codeString))
20824          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CARETEAM, code);
20825        if ("ChargeItem".equals(codeString))
20826          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CHARGEITEM, code);
20827        if ("ChargeItemDefinition".equals(codeString))
20828          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CHARGEITEMDEFINITION, code);
20829        if ("Citation".equals(codeString))
20830          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CITATION, code);
20831        if ("Claim".equals(codeString))
20832          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CLAIM, code);
20833        if ("ClaimResponse".equals(codeString))
20834          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CLAIMRESPONSE, code);
20835        if ("ClinicalImpression".equals(codeString))
20836          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CLINICALIMPRESSION, code);
20837        if ("ClinicalUseDefinition".equals(codeString))
20838          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CLINICALUSEDEFINITION, code);
20839        if ("CodeSystem".equals(codeString))
20840          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CODESYSTEM, code);
20841        if ("Communication".equals(codeString))
20842          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.COMMUNICATION, code);
20843        if ("CommunicationRequest".equals(codeString))
20844          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.COMMUNICATIONREQUEST, code);
20845        if ("CompartmentDefinition".equals(codeString))
20846          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.COMPARTMENTDEFINITION, code);
20847        if ("Composition".equals(codeString))
20848          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.COMPOSITION, code);
20849        if ("ConceptMap".equals(codeString))
20850          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CONCEPTMAP, code);
20851        if ("Condition".equals(codeString))
20852          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CONDITION, code);
20853        if ("ConditionDefinition".equals(codeString))
20854          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CONDITIONDEFINITION, code);
20855        if ("Consent".equals(codeString))
20856          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CONSENT, code);
20857        if ("Contract".equals(codeString))
20858          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CONTRACT, code);
20859        if ("Coverage".equals(codeString))
20860          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.COVERAGE, code);
20861        if ("CoverageEligibilityRequest".equals(codeString))
20862          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.COVERAGEELIGIBILITYREQUEST, code);
20863        if ("CoverageEligibilityResponse".equals(codeString))
20864          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.COVERAGEELIGIBILITYRESPONSE, code);
20865        if ("DetectedIssue".equals(codeString))
20866          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DETECTEDISSUE, code);
20867        if ("Device".equals(codeString))
20868          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICE, code);
20869        if ("DeviceAssociation".equals(codeString))
20870          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEASSOCIATION, code);
20871        if ("DeviceDefinition".equals(codeString))
20872          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEDEFINITION, code);
20873        if ("DeviceDispense".equals(codeString))
20874          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEDISPENSE, code);
20875        if ("DeviceMetric".equals(codeString))
20876          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEMETRIC, code);
20877        if ("DeviceRequest".equals(codeString))
20878          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEREQUEST, code);
20879        if ("DeviceUsage".equals(codeString))
20880          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEUSAGE, code);
20881        if ("DiagnosticReport".equals(codeString))
20882          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DIAGNOSTICREPORT, code);
20883        if ("DocumentReference".equals(codeString))
20884          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DOCUMENTREFERENCE, code);
20885        if ("DomainResource".equals(codeString))
20886          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DOMAINRESOURCE, code);
20887        if ("Encounter".equals(codeString))
20888          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ENCOUNTER, code);
20889        if ("EncounterHistory".equals(codeString))
20890          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ENCOUNTERHISTORY, code);
20891        if ("Endpoint".equals(codeString))
20892          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ENDPOINT, code);
20893        if ("EnrollmentRequest".equals(codeString))
20894          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ENROLLMENTREQUEST, code);
20895        if ("EnrollmentResponse".equals(codeString))
20896          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ENROLLMENTRESPONSE, code);
20897        if ("EpisodeOfCare".equals(codeString))
20898          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EPISODEOFCARE, code);
20899        if ("EventDefinition".equals(codeString))
20900          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EVENTDEFINITION, code);
20901        if ("Evidence".equals(codeString))
20902          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EVIDENCE, code);
20903        if ("EvidenceReport".equals(codeString))
20904          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EVIDENCEREPORT, code);
20905        if ("EvidenceVariable".equals(codeString))
20906          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EVIDENCEVARIABLE, code);
20907        if ("ExampleScenario".equals(codeString))
20908          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EXAMPLESCENARIO, code);
20909        if ("ExplanationOfBenefit".equals(codeString))
20910          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EXPLANATIONOFBENEFIT, code);
20911        if ("FamilyMemberHistory".equals(codeString))
20912          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.FAMILYMEMBERHISTORY, code);
20913        if ("Flag".equals(codeString))
20914          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.FLAG, code);
20915        if ("FormularyItem".equals(codeString))
20916          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.FORMULARYITEM, code);
20917        if ("GenomicStudy".equals(codeString))
20918          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.GENOMICSTUDY, code);
20919        if ("Goal".equals(codeString))
20920          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.GOAL, code);
20921        if ("GraphDefinition".equals(codeString))
20922          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.GRAPHDEFINITION, code);
20923        if ("Group".equals(codeString))
20924          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.GROUP, code);
20925        if ("GuidanceResponse".equals(codeString))
20926          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.GUIDANCERESPONSE, code);
20927        if ("HealthcareService".equals(codeString))
20928          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.HEALTHCARESERVICE, code);
20929        if ("ImagingSelection".equals(codeString))
20930          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMAGINGSELECTION, code);
20931        if ("ImagingStudy".equals(codeString))
20932          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMAGINGSTUDY, code);
20933        if ("Immunization".equals(codeString))
20934          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMMUNIZATION, code);
20935        if ("ImmunizationEvaluation".equals(codeString))
20936          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMMUNIZATIONEVALUATION, code);
20937        if ("ImmunizationRecommendation".equals(codeString))
20938          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMMUNIZATIONRECOMMENDATION, code);
20939        if ("ImplementationGuide".equals(codeString))
20940          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMPLEMENTATIONGUIDE, code);
20941        if ("Ingredient".equals(codeString))
20942          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.INGREDIENT, code);
20943        if ("InsurancePlan".equals(codeString))
20944          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.INSURANCEPLAN, code);
20945        if ("InventoryItem".equals(codeString))
20946          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.INVENTORYITEM, code);
20947        if ("InventoryReport".equals(codeString))
20948          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.INVENTORYREPORT, code);
20949        if ("Invoice".equals(codeString))
20950          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.INVOICE, code);
20951        if ("Library".equals(codeString))
20952          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.LIBRARY, code);
20953        if ("Linkage".equals(codeString))
20954          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.LINKAGE, code);
20955        if ("List".equals(codeString))
20956          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.LIST, code);
20957        if ("Location".equals(codeString))
20958          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.LOCATION, code);
20959        if ("ManufacturedItemDefinition".equals(codeString))
20960          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MANUFACTUREDITEMDEFINITION, code);
20961        if ("Measure".equals(codeString))
20962          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEASURE, code);
20963        if ("MeasureReport".equals(codeString))
20964          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEASUREREPORT, code);
20965        if ("Medication".equals(codeString))
20966          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATION, code);
20967        if ("MedicationAdministration".equals(codeString))
20968          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATIONADMINISTRATION, code);
20969        if ("MedicationDispense".equals(codeString))
20970          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATIONDISPENSE, code);
20971        if ("MedicationKnowledge".equals(codeString))
20972          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATIONKNOWLEDGE, code);
20973        if ("MedicationRequest".equals(codeString))
20974          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATIONREQUEST, code);
20975        if ("MedicationStatement".equals(codeString))
20976          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATIONSTATEMENT, code);
20977        if ("MedicinalProductDefinition".equals(codeString))
20978          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTDEFINITION, code);
20979        if ("MessageDefinition".equals(codeString))
20980          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MESSAGEDEFINITION, code);
20981        if ("MessageHeader".equals(codeString))
20982          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MESSAGEHEADER, code);
20983        if ("MetadataResource".equals(codeString))
20984          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.METADATARESOURCE, code);
20985        if ("MolecularSequence".equals(codeString))
20986          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MOLECULARSEQUENCE, code);
20987        if ("NamingSystem".equals(codeString))
20988          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.NAMINGSYSTEM, code);
20989        if ("NutritionIntake".equals(codeString))
20990          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.NUTRITIONINTAKE, code);
20991        if ("NutritionOrder".equals(codeString))
20992          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.NUTRITIONORDER, code);
20993        if ("NutritionProduct".equals(codeString))
20994          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.NUTRITIONPRODUCT, code);
20995        if ("Observation".equals(codeString))
20996          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.OBSERVATION, code);
20997        if ("ObservationDefinition".equals(codeString))
20998          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.OBSERVATIONDEFINITION, code);
20999        if ("OperationDefinition".equals(codeString))
21000          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.OPERATIONDEFINITION, code);
21001        if ("OperationOutcome".equals(codeString))
21002          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.OPERATIONOUTCOME, code);
21003        if ("Organization".equals(codeString))
21004          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ORGANIZATION, code);
21005        if ("OrganizationAffiliation".equals(codeString))
21006          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ORGANIZATIONAFFILIATION, code);
21007        if ("PackagedProductDefinition".equals(codeString))
21008          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PACKAGEDPRODUCTDEFINITION, code);
21009        if ("Parameters".equals(codeString))
21010          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PARAMETERS, code);
21011        if ("Patient".equals(codeString))
21012          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PATIENT, code);
21013        if ("PaymentNotice".equals(codeString))
21014          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PAYMENTNOTICE, code);
21015        if ("PaymentReconciliation".equals(codeString))
21016          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PAYMENTRECONCILIATION, code);
21017        if ("Permission".equals(codeString))
21018          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PERMISSION, code);
21019        if ("Person".equals(codeString))
21020          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PERSON, code);
21021        if ("PlanDefinition".equals(codeString))
21022          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PLANDEFINITION, code);
21023        if ("Practitioner".equals(codeString))
21024          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PRACTITIONER, code);
21025        if ("PractitionerRole".equals(codeString))
21026          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PRACTITIONERROLE, code);
21027        if ("Procedure".equals(codeString))
21028          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PROCEDURE, code);
21029        if ("Provenance".equals(codeString))
21030          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PROVENANCE, code);
21031        if ("Questionnaire".equals(codeString))
21032          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.QUESTIONNAIRE, code);
21033        if ("QuestionnaireResponse".equals(codeString))
21034          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.QUESTIONNAIRERESPONSE, code);
21035        if ("RegulatedAuthorization".equals(codeString))
21036          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.REGULATEDAUTHORIZATION, code);
21037        if ("RelatedPerson".equals(codeString))
21038          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RELATEDPERSON, code);
21039        if ("RequestOrchestration".equals(codeString))
21040          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.REQUESTORCHESTRATION, code);
21041        if ("Requirements".equals(codeString))
21042          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.REQUIREMENTS, code);
21043        if ("ResearchStudy".equals(codeString))
21044          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RESEARCHSTUDY, code);
21045        if ("ResearchSubject".equals(codeString))
21046          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RESEARCHSUBJECT, code);
21047        if ("Resource".equals(codeString))
21048          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RESOURCE, code);
21049        if ("RiskAssessment".equals(codeString))
21050          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RISKASSESSMENT, code);
21051        if ("Schedule".equals(codeString))
21052          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SCHEDULE, code);
21053        if ("SearchParameter".equals(codeString))
21054          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SEARCHPARAMETER, code);
21055        if ("ServiceRequest".equals(codeString))
21056          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SERVICEREQUEST, code);
21057        if ("Slot".equals(codeString))
21058          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SLOT, code);
21059        if ("Specimen".equals(codeString))
21060          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SPECIMEN, code);
21061        if ("SpecimenDefinition".equals(codeString))
21062          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SPECIMENDEFINITION, code);
21063        if ("StructureDefinition".equals(codeString))
21064          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.STRUCTUREDEFINITION, code);
21065        if ("StructureMap".equals(codeString))
21066          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.STRUCTUREMAP, code);
21067        if ("Subscription".equals(codeString))
21068          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSCRIPTION, code);
21069        if ("SubscriptionStatus".equals(codeString))
21070          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSCRIPTIONSTATUS, code);
21071        if ("SubscriptionTopic".equals(codeString))
21072          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSCRIPTIONTOPIC, code);
21073        if ("Substance".equals(codeString))
21074          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCE, code);
21075        if ("SubstanceDefinition".equals(codeString))
21076          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCEDEFINITION, code);
21077        if ("SubstanceNucleicAcid".equals(codeString))
21078          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCENUCLEICACID, code);
21079        if ("SubstancePolymer".equals(codeString))
21080          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCEPOLYMER, code);
21081        if ("SubstanceProtein".equals(codeString))
21082          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCEPROTEIN, code);
21083        if ("SubstanceReferenceInformation".equals(codeString))
21084          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCEREFERENCEINFORMATION, code);
21085        if ("SubstanceSourceMaterial".equals(codeString))
21086          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCESOURCEMATERIAL, code);
21087        if ("SupplyDelivery".equals(codeString))
21088          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUPPLYDELIVERY, code);
21089        if ("SupplyRequest".equals(codeString))
21090          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUPPLYREQUEST, code);
21091        if ("Task".equals(codeString))
21092          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.TASK, code);
21093        if ("TerminologyCapabilities".equals(codeString))
21094          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.TERMINOLOGYCAPABILITIES, code);
21095        if ("TestPlan".equals(codeString))
21096          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.TESTPLAN, code);
21097        if ("TestReport".equals(codeString))
21098          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.TESTREPORT, code);
21099        if ("TestScript".equals(codeString))
21100          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.TESTSCRIPT, code);
21101        if ("Transport".equals(codeString))
21102          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.TRANSPORT, code);
21103        if ("ValueSet".equals(codeString))
21104          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.VALUESET, code);
21105        if ("VerificationResult".equals(codeString))
21106          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.VERIFICATIONRESULT, code);
21107        if ("VisionPrescription".equals(codeString))
21108          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.VISIONPRESCRIPTION, code);
21109        if ("BodySite".equals(codeString))
21110          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.BODYSITE, code);
21111        if ("CatalogEntry".equals(codeString))
21112          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CATALOGENTRY, code);
21113        if ("Conformance".equals(codeString))
21114          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.CONFORMANCE, code);
21115        if ("DataElement".equals(codeString))
21116          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DATAELEMENT, code);
21117        if ("DeviceComponent".equals(codeString))
21118          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICECOMPONENT, code);
21119        if ("DeviceUseRequest".equals(codeString))
21120          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEUSEREQUEST, code);
21121        if ("DeviceUseStatement".equals(codeString))
21122          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DEVICEUSESTATEMENT, code);
21123        if ("DiagnosticOrder".equals(codeString))
21124          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DIAGNOSTICORDER, code);
21125        if ("DocumentManifest".equals(codeString))
21126          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.DOCUMENTMANIFEST, code);
21127        if ("EffectEvidenceSynthesis".equals(codeString))
21128          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EFFECTEVIDENCESYNTHESIS, code);
21129        if ("EligibilityRequest".equals(codeString))
21130          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ELIGIBILITYREQUEST, code);
21131        if ("EligibilityResponse".equals(codeString))
21132          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ELIGIBILITYRESPONSE, code);
21133        if ("ExpansionProfile".equals(codeString))
21134          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.EXPANSIONPROFILE, code);
21135        if ("ImagingManifest".equals(codeString))
21136          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMAGINGMANIFEST, code);
21137        if ("ImagingObjectSelection".equals(codeString))
21138          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.IMAGINGOBJECTSELECTION, code);
21139        if ("Media".equals(codeString))
21140          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDIA, code);
21141        if ("MedicationOrder".equals(codeString))
21142          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATIONORDER, code);
21143        if ("MedicationUsage".equals(codeString))
21144          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICATIONUSAGE, code);
21145        if ("MedicinalProduct".equals(codeString))
21146          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCT, code);
21147        if ("MedicinalProductAuthorization".equals(codeString))
21148          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTAUTHORIZATION, code);
21149        if ("MedicinalProductContraindication".equals(codeString))
21150          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTCONTRAINDICATION, code);
21151        if ("MedicinalProductIndication".equals(codeString))
21152          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTINDICATION, code);
21153        if ("MedicinalProductIngredient".equals(codeString))
21154          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTINGREDIENT, code);
21155        if ("MedicinalProductInteraction".equals(codeString))
21156          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTINTERACTION, code);
21157        if ("MedicinalProductManufactured".equals(codeString))
21158          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTMANUFACTURED, code);
21159        if ("MedicinalProductPackaged".equals(codeString))
21160          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTPACKAGED, code);
21161        if ("MedicinalProductPharmaceutical".equals(codeString))
21162          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTPHARMACEUTICAL, code);
21163        if ("MedicinalProductUndesirableEffect".equals(codeString))
21164          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.MEDICINALPRODUCTUNDESIRABLEEFFECT, code);
21165        if ("Order".equals(codeString))
21166          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ORDER, code);
21167        if ("OrderResponse".equals(codeString))
21168          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.ORDERRESPONSE, code);
21169        if ("ProcedureRequest".equals(codeString))
21170          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PROCEDUREREQUEST, code);
21171        if ("ProcessRequest".equals(codeString))
21172          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PROCESSREQUEST, code);
21173        if ("ProcessResponse".equals(codeString))
21174          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.PROCESSRESPONSE, code);
21175        if ("ReferralRequest".equals(codeString))
21176          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.REFERRALREQUEST, code);
21177        if ("RequestGroup".equals(codeString))
21178          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.REQUESTGROUP, code);
21179        if ("ResearchDefinition".equals(codeString))
21180          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RESEARCHDEFINITION, code);
21181        if ("ResearchElementDefinition".equals(codeString))
21182          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RESEARCHELEMENTDEFINITION, code);
21183        if ("RiskEvidenceSynthesis".equals(codeString))
21184          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.RISKEVIDENCESYNTHESIS, code);
21185        if ("Sequence".equals(codeString))
21186          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SEQUENCE, code);
21187        if ("ServiceDefinition".equals(codeString))
21188          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SERVICEDEFINITION, code);
21189        if ("SubstanceSpecification".equals(codeString))
21190          return new Enumeration<VersionIndependentResourceTypesAll>(this, VersionIndependentResourceTypesAll.SUBSTANCESPECIFICATION, code);
21191        throw new FHIRException("Unknown VersionIndependentResourceTypesAll code '"+codeString+"'");
21192        }
21193    public String toCode(VersionIndependentResourceTypesAll code) {
21194       if (code == VersionIndependentResourceTypesAll.NULL)
21195           return null;
21196       if (code == VersionIndependentResourceTypesAll.ACCOUNT)
21197        return "Account";
21198      if (code == VersionIndependentResourceTypesAll.ACTIVITYDEFINITION)
21199        return "ActivityDefinition";
21200      if (code == VersionIndependentResourceTypesAll.ACTORDEFINITION)
21201        return "ActorDefinition";
21202      if (code == VersionIndependentResourceTypesAll.ADMINISTRABLEPRODUCTDEFINITION)
21203        return "AdministrableProductDefinition";
21204      if (code == VersionIndependentResourceTypesAll.ADVERSEEVENT)
21205        return "AdverseEvent";
21206      if (code == VersionIndependentResourceTypesAll.ALLERGYINTOLERANCE)
21207        return "AllergyIntolerance";
21208      if (code == VersionIndependentResourceTypesAll.APPOINTMENT)
21209        return "Appointment";
21210      if (code == VersionIndependentResourceTypesAll.APPOINTMENTRESPONSE)
21211        return "AppointmentResponse";
21212      if (code == VersionIndependentResourceTypesAll.ARTIFACTASSESSMENT)
21213        return "ArtifactAssessment";
21214      if (code == VersionIndependentResourceTypesAll.AUDITEVENT)
21215        return "AuditEvent";
21216      if (code == VersionIndependentResourceTypesAll.BASIC)
21217        return "Basic";
21218      if (code == VersionIndependentResourceTypesAll.BINARY)
21219        return "Binary";
21220      if (code == VersionIndependentResourceTypesAll.BIOLOGICALLYDERIVEDPRODUCT)
21221        return "BiologicallyDerivedProduct";
21222      if (code == VersionIndependentResourceTypesAll.BIOLOGICALLYDERIVEDPRODUCTDISPENSE)
21223        return "BiologicallyDerivedProductDispense";
21224      if (code == VersionIndependentResourceTypesAll.BODYSTRUCTURE)
21225        return "BodyStructure";
21226      if (code == VersionIndependentResourceTypesAll.BUNDLE)
21227        return "Bundle";
21228      if (code == VersionIndependentResourceTypesAll.CANONICALRESOURCE)
21229        return "CanonicalResource";
21230      if (code == VersionIndependentResourceTypesAll.CAPABILITYSTATEMENT)
21231        return "CapabilityStatement";
21232      if (code == VersionIndependentResourceTypesAll.CAREPLAN)
21233        return "CarePlan";
21234      if (code == VersionIndependentResourceTypesAll.CARETEAM)
21235        return "CareTeam";
21236      if (code == VersionIndependentResourceTypesAll.CHARGEITEM)
21237        return "ChargeItem";
21238      if (code == VersionIndependentResourceTypesAll.CHARGEITEMDEFINITION)
21239        return "ChargeItemDefinition";
21240      if (code == VersionIndependentResourceTypesAll.CITATION)
21241        return "Citation";
21242      if (code == VersionIndependentResourceTypesAll.CLAIM)
21243        return "Claim";
21244      if (code == VersionIndependentResourceTypesAll.CLAIMRESPONSE)
21245        return "ClaimResponse";
21246      if (code == VersionIndependentResourceTypesAll.CLINICALIMPRESSION)
21247        return "ClinicalImpression";
21248      if (code == VersionIndependentResourceTypesAll.CLINICALUSEDEFINITION)
21249        return "ClinicalUseDefinition";
21250      if (code == VersionIndependentResourceTypesAll.CODESYSTEM)
21251        return "CodeSystem";
21252      if (code == VersionIndependentResourceTypesAll.COMMUNICATION)
21253        return "Communication";
21254      if (code == VersionIndependentResourceTypesAll.COMMUNICATIONREQUEST)
21255        return "CommunicationRequest";
21256      if (code == VersionIndependentResourceTypesAll.COMPARTMENTDEFINITION)
21257        return "CompartmentDefinition";
21258      if (code == VersionIndependentResourceTypesAll.COMPOSITION)
21259        return "Composition";
21260      if (code == VersionIndependentResourceTypesAll.CONCEPTMAP)
21261        return "ConceptMap";
21262      if (code == VersionIndependentResourceTypesAll.CONDITION)
21263        return "Condition";
21264      if (code == VersionIndependentResourceTypesAll.CONDITIONDEFINITION)
21265        return "ConditionDefinition";
21266      if (code == VersionIndependentResourceTypesAll.CONSENT)
21267        return "Consent";
21268      if (code == VersionIndependentResourceTypesAll.CONTRACT)
21269        return "Contract";
21270      if (code == VersionIndependentResourceTypesAll.COVERAGE)
21271        return "Coverage";
21272      if (code == VersionIndependentResourceTypesAll.COVERAGEELIGIBILITYREQUEST)
21273        return "CoverageEligibilityRequest";
21274      if (code == VersionIndependentResourceTypesAll.COVERAGEELIGIBILITYRESPONSE)
21275        return "CoverageEligibilityResponse";
21276      if (code == VersionIndependentResourceTypesAll.DETECTEDISSUE)
21277        return "DetectedIssue";
21278      if (code == VersionIndependentResourceTypesAll.DEVICE)
21279        return "Device";
21280      if (code == VersionIndependentResourceTypesAll.DEVICEASSOCIATION)
21281        return "DeviceAssociation";
21282      if (code == VersionIndependentResourceTypesAll.DEVICEDEFINITION)
21283        return "DeviceDefinition";
21284      if (code == VersionIndependentResourceTypesAll.DEVICEDISPENSE)
21285        return "DeviceDispense";
21286      if (code == VersionIndependentResourceTypesAll.DEVICEMETRIC)
21287        return "DeviceMetric";
21288      if (code == VersionIndependentResourceTypesAll.DEVICEREQUEST)
21289        return "DeviceRequest";
21290      if (code == VersionIndependentResourceTypesAll.DEVICEUSAGE)
21291        return "DeviceUsage";
21292      if (code == VersionIndependentResourceTypesAll.DIAGNOSTICREPORT)
21293        return "DiagnosticReport";
21294      if (code == VersionIndependentResourceTypesAll.DOCUMENTREFERENCE)
21295        return "DocumentReference";
21296      if (code == VersionIndependentResourceTypesAll.DOMAINRESOURCE)
21297        return "DomainResource";
21298      if (code == VersionIndependentResourceTypesAll.ENCOUNTER)
21299        return "Encounter";
21300      if (code == VersionIndependentResourceTypesAll.ENCOUNTERHISTORY)
21301        return "EncounterHistory";
21302      if (code == VersionIndependentResourceTypesAll.ENDPOINT)
21303        return "Endpoint";
21304      if (code == VersionIndependentResourceTypesAll.ENROLLMENTREQUEST)
21305        return "EnrollmentRequest";
21306      if (code == VersionIndependentResourceTypesAll.ENROLLMENTRESPONSE)
21307        return "EnrollmentResponse";
21308      if (code == VersionIndependentResourceTypesAll.EPISODEOFCARE)
21309        return "EpisodeOfCare";
21310      if (code == VersionIndependentResourceTypesAll.EVENTDEFINITION)
21311        return "EventDefinition";
21312      if (code == VersionIndependentResourceTypesAll.EVIDENCE)
21313        return "Evidence";
21314      if (code == VersionIndependentResourceTypesAll.EVIDENCEREPORT)
21315        return "EvidenceReport";
21316      if (code == VersionIndependentResourceTypesAll.EVIDENCEVARIABLE)
21317        return "EvidenceVariable";
21318      if (code == VersionIndependentResourceTypesAll.EXAMPLESCENARIO)
21319        return "ExampleScenario";
21320      if (code == VersionIndependentResourceTypesAll.EXPLANATIONOFBENEFIT)
21321        return "ExplanationOfBenefit";
21322      if (code == VersionIndependentResourceTypesAll.FAMILYMEMBERHISTORY)
21323        return "FamilyMemberHistory";
21324      if (code == VersionIndependentResourceTypesAll.FLAG)
21325        return "Flag";
21326      if (code == VersionIndependentResourceTypesAll.FORMULARYITEM)
21327        return "FormularyItem";
21328      if (code == VersionIndependentResourceTypesAll.GENOMICSTUDY)
21329        return "GenomicStudy";
21330      if (code == VersionIndependentResourceTypesAll.GOAL)
21331        return "Goal";
21332      if (code == VersionIndependentResourceTypesAll.GRAPHDEFINITION)
21333        return "GraphDefinition";
21334      if (code == VersionIndependentResourceTypesAll.GROUP)
21335        return "Group";
21336      if (code == VersionIndependentResourceTypesAll.GUIDANCERESPONSE)
21337        return "GuidanceResponse";
21338      if (code == VersionIndependentResourceTypesAll.HEALTHCARESERVICE)
21339        return "HealthcareService";
21340      if (code == VersionIndependentResourceTypesAll.IMAGINGSELECTION)
21341        return "ImagingSelection";
21342      if (code == VersionIndependentResourceTypesAll.IMAGINGSTUDY)
21343        return "ImagingStudy";
21344      if (code == VersionIndependentResourceTypesAll.IMMUNIZATION)
21345        return "Immunization";
21346      if (code == VersionIndependentResourceTypesAll.IMMUNIZATIONEVALUATION)
21347        return "ImmunizationEvaluation";
21348      if (code == VersionIndependentResourceTypesAll.IMMUNIZATIONRECOMMENDATION)
21349        return "ImmunizationRecommendation";
21350      if (code == VersionIndependentResourceTypesAll.IMPLEMENTATIONGUIDE)
21351        return "ImplementationGuide";
21352      if (code == VersionIndependentResourceTypesAll.INGREDIENT)
21353        return "Ingredient";
21354      if (code == VersionIndependentResourceTypesAll.INSURANCEPLAN)
21355        return "InsurancePlan";
21356      if (code == VersionIndependentResourceTypesAll.INVENTORYITEM)
21357        return "InventoryItem";
21358      if (code == VersionIndependentResourceTypesAll.INVENTORYREPORT)
21359        return "InventoryReport";
21360      if (code == VersionIndependentResourceTypesAll.INVOICE)
21361        return "Invoice";
21362      if (code == VersionIndependentResourceTypesAll.LIBRARY)
21363        return "Library";
21364      if (code == VersionIndependentResourceTypesAll.LINKAGE)
21365        return "Linkage";
21366      if (code == VersionIndependentResourceTypesAll.LIST)
21367        return "List";
21368      if (code == VersionIndependentResourceTypesAll.LOCATION)
21369        return "Location";
21370      if (code == VersionIndependentResourceTypesAll.MANUFACTUREDITEMDEFINITION)
21371        return "ManufacturedItemDefinition";
21372      if (code == VersionIndependentResourceTypesAll.MEASURE)
21373        return "Measure";
21374      if (code == VersionIndependentResourceTypesAll.MEASUREREPORT)
21375        return "MeasureReport";
21376      if (code == VersionIndependentResourceTypesAll.MEDICATION)
21377        return "Medication";
21378      if (code == VersionIndependentResourceTypesAll.MEDICATIONADMINISTRATION)
21379        return "MedicationAdministration";
21380      if (code == VersionIndependentResourceTypesAll.MEDICATIONDISPENSE)
21381        return "MedicationDispense";
21382      if (code == VersionIndependentResourceTypesAll.MEDICATIONKNOWLEDGE)
21383        return "MedicationKnowledge";
21384      if (code == VersionIndependentResourceTypesAll.MEDICATIONREQUEST)
21385        return "MedicationRequest";
21386      if (code == VersionIndependentResourceTypesAll.MEDICATIONSTATEMENT)
21387        return "MedicationStatement";
21388      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTDEFINITION)
21389        return "MedicinalProductDefinition";
21390      if (code == VersionIndependentResourceTypesAll.MESSAGEDEFINITION)
21391        return "MessageDefinition";
21392      if (code == VersionIndependentResourceTypesAll.MESSAGEHEADER)
21393        return "MessageHeader";
21394      if (code == VersionIndependentResourceTypesAll.METADATARESOURCE)
21395        return "MetadataResource";
21396      if (code == VersionIndependentResourceTypesAll.MOLECULARSEQUENCE)
21397        return "MolecularSequence";
21398      if (code == VersionIndependentResourceTypesAll.NAMINGSYSTEM)
21399        return "NamingSystem";
21400      if (code == VersionIndependentResourceTypesAll.NUTRITIONINTAKE)
21401        return "NutritionIntake";
21402      if (code == VersionIndependentResourceTypesAll.NUTRITIONORDER)
21403        return "NutritionOrder";
21404      if (code == VersionIndependentResourceTypesAll.NUTRITIONPRODUCT)
21405        return "NutritionProduct";
21406      if (code == VersionIndependentResourceTypesAll.OBSERVATION)
21407        return "Observation";
21408      if (code == VersionIndependentResourceTypesAll.OBSERVATIONDEFINITION)
21409        return "ObservationDefinition";
21410      if (code == VersionIndependentResourceTypesAll.OPERATIONDEFINITION)
21411        return "OperationDefinition";
21412      if (code == VersionIndependentResourceTypesAll.OPERATIONOUTCOME)
21413        return "OperationOutcome";
21414      if (code == VersionIndependentResourceTypesAll.ORGANIZATION)
21415        return "Organization";
21416      if (code == VersionIndependentResourceTypesAll.ORGANIZATIONAFFILIATION)
21417        return "OrganizationAffiliation";
21418      if (code == VersionIndependentResourceTypesAll.PACKAGEDPRODUCTDEFINITION)
21419        return "PackagedProductDefinition";
21420      if (code == VersionIndependentResourceTypesAll.PARAMETERS)
21421        return "Parameters";
21422      if (code == VersionIndependentResourceTypesAll.PATIENT)
21423        return "Patient";
21424      if (code == VersionIndependentResourceTypesAll.PAYMENTNOTICE)
21425        return "PaymentNotice";
21426      if (code == VersionIndependentResourceTypesAll.PAYMENTRECONCILIATION)
21427        return "PaymentReconciliation";
21428      if (code == VersionIndependentResourceTypesAll.PERMISSION)
21429        return "Permission";
21430      if (code == VersionIndependentResourceTypesAll.PERSON)
21431        return "Person";
21432      if (code == VersionIndependentResourceTypesAll.PLANDEFINITION)
21433        return "PlanDefinition";
21434      if (code == VersionIndependentResourceTypesAll.PRACTITIONER)
21435        return "Practitioner";
21436      if (code == VersionIndependentResourceTypesAll.PRACTITIONERROLE)
21437        return "PractitionerRole";
21438      if (code == VersionIndependentResourceTypesAll.PROCEDURE)
21439        return "Procedure";
21440      if (code == VersionIndependentResourceTypesAll.PROVENANCE)
21441        return "Provenance";
21442      if (code == VersionIndependentResourceTypesAll.QUESTIONNAIRE)
21443        return "Questionnaire";
21444      if (code == VersionIndependentResourceTypesAll.QUESTIONNAIRERESPONSE)
21445        return "QuestionnaireResponse";
21446      if (code == VersionIndependentResourceTypesAll.REGULATEDAUTHORIZATION)
21447        return "RegulatedAuthorization";
21448      if (code == VersionIndependentResourceTypesAll.RELATEDPERSON)
21449        return "RelatedPerson";
21450      if (code == VersionIndependentResourceTypesAll.REQUESTORCHESTRATION)
21451        return "RequestOrchestration";
21452      if (code == VersionIndependentResourceTypesAll.REQUIREMENTS)
21453        return "Requirements";
21454      if (code == VersionIndependentResourceTypesAll.RESEARCHSTUDY)
21455        return "ResearchStudy";
21456      if (code == VersionIndependentResourceTypesAll.RESEARCHSUBJECT)
21457        return "ResearchSubject";
21458      if (code == VersionIndependentResourceTypesAll.RESOURCE)
21459        return "Resource";
21460      if (code == VersionIndependentResourceTypesAll.RISKASSESSMENT)
21461        return "RiskAssessment";
21462      if (code == VersionIndependentResourceTypesAll.SCHEDULE)
21463        return "Schedule";
21464      if (code == VersionIndependentResourceTypesAll.SEARCHPARAMETER)
21465        return "SearchParameter";
21466      if (code == VersionIndependentResourceTypesAll.SERVICEREQUEST)
21467        return "ServiceRequest";
21468      if (code == VersionIndependentResourceTypesAll.SLOT)
21469        return "Slot";
21470      if (code == VersionIndependentResourceTypesAll.SPECIMEN)
21471        return "Specimen";
21472      if (code == VersionIndependentResourceTypesAll.SPECIMENDEFINITION)
21473        return "SpecimenDefinition";
21474      if (code == VersionIndependentResourceTypesAll.STRUCTUREDEFINITION)
21475        return "StructureDefinition";
21476      if (code == VersionIndependentResourceTypesAll.STRUCTUREMAP)
21477        return "StructureMap";
21478      if (code == VersionIndependentResourceTypesAll.SUBSCRIPTION)
21479        return "Subscription";
21480      if (code == VersionIndependentResourceTypesAll.SUBSCRIPTIONSTATUS)
21481        return "SubscriptionStatus";
21482      if (code == VersionIndependentResourceTypesAll.SUBSCRIPTIONTOPIC)
21483        return "SubscriptionTopic";
21484      if (code == VersionIndependentResourceTypesAll.SUBSTANCE)
21485        return "Substance";
21486      if (code == VersionIndependentResourceTypesAll.SUBSTANCEDEFINITION)
21487        return "SubstanceDefinition";
21488      if (code == VersionIndependentResourceTypesAll.SUBSTANCENUCLEICACID)
21489        return "SubstanceNucleicAcid";
21490      if (code == VersionIndependentResourceTypesAll.SUBSTANCEPOLYMER)
21491        return "SubstancePolymer";
21492      if (code == VersionIndependentResourceTypesAll.SUBSTANCEPROTEIN)
21493        return "SubstanceProtein";
21494      if (code == VersionIndependentResourceTypesAll.SUBSTANCEREFERENCEINFORMATION)
21495        return "SubstanceReferenceInformation";
21496      if (code == VersionIndependentResourceTypesAll.SUBSTANCESOURCEMATERIAL)
21497        return "SubstanceSourceMaterial";
21498      if (code == VersionIndependentResourceTypesAll.SUPPLYDELIVERY)
21499        return "SupplyDelivery";
21500      if (code == VersionIndependentResourceTypesAll.SUPPLYREQUEST)
21501        return "SupplyRequest";
21502      if (code == VersionIndependentResourceTypesAll.TASK)
21503        return "Task";
21504      if (code == VersionIndependentResourceTypesAll.TERMINOLOGYCAPABILITIES)
21505        return "TerminologyCapabilities";
21506      if (code == VersionIndependentResourceTypesAll.TESTPLAN)
21507        return "TestPlan";
21508      if (code == VersionIndependentResourceTypesAll.TESTREPORT)
21509        return "TestReport";
21510      if (code == VersionIndependentResourceTypesAll.TESTSCRIPT)
21511        return "TestScript";
21512      if (code == VersionIndependentResourceTypesAll.TRANSPORT)
21513        return "Transport";
21514      if (code == VersionIndependentResourceTypesAll.VALUESET)
21515        return "ValueSet";
21516      if (code == VersionIndependentResourceTypesAll.VERIFICATIONRESULT)
21517        return "VerificationResult";
21518      if (code == VersionIndependentResourceTypesAll.VISIONPRESCRIPTION)
21519        return "VisionPrescription";
21520      if (code == VersionIndependentResourceTypesAll.BODYSITE)
21521        return "BodySite";
21522      if (code == VersionIndependentResourceTypesAll.CATALOGENTRY)
21523        return "CatalogEntry";
21524      if (code == VersionIndependentResourceTypesAll.CONFORMANCE)
21525        return "Conformance";
21526      if (code == VersionIndependentResourceTypesAll.DATAELEMENT)
21527        return "DataElement";
21528      if (code == VersionIndependentResourceTypesAll.DEVICECOMPONENT)
21529        return "DeviceComponent";
21530      if (code == VersionIndependentResourceTypesAll.DEVICEUSEREQUEST)
21531        return "DeviceUseRequest";
21532      if (code == VersionIndependentResourceTypesAll.DEVICEUSESTATEMENT)
21533        return "DeviceUseStatement";
21534      if (code == VersionIndependentResourceTypesAll.DIAGNOSTICORDER)
21535        return "DiagnosticOrder";
21536      if (code == VersionIndependentResourceTypesAll.DOCUMENTMANIFEST)
21537        return "DocumentManifest";
21538      if (code == VersionIndependentResourceTypesAll.EFFECTEVIDENCESYNTHESIS)
21539        return "EffectEvidenceSynthesis";
21540      if (code == VersionIndependentResourceTypesAll.ELIGIBILITYREQUEST)
21541        return "EligibilityRequest";
21542      if (code == VersionIndependentResourceTypesAll.ELIGIBILITYRESPONSE)
21543        return "EligibilityResponse";
21544      if (code == VersionIndependentResourceTypesAll.EXPANSIONPROFILE)
21545        return "ExpansionProfile";
21546      if (code == VersionIndependentResourceTypesAll.IMAGINGMANIFEST)
21547        return "ImagingManifest";
21548      if (code == VersionIndependentResourceTypesAll.IMAGINGOBJECTSELECTION)
21549        return "ImagingObjectSelection";
21550      if (code == VersionIndependentResourceTypesAll.MEDIA)
21551        return "Media";
21552      if (code == VersionIndependentResourceTypesAll.MEDICATIONORDER)
21553        return "MedicationOrder";
21554      if (code == VersionIndependentResourceTypesAll.MEDICATIONUSAGE)
21555        return "MedicationUsage";
21556      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCT)
21557        return "MedicinalProduct";
21558      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTAUTHORIZATION)
21559        return "MedicinalProductAuthorization";
21560      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTCONTRAINDICATION)
21561        return "MedicinalProductContraindication";
21562      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTINDICATION)
21563        return "MedicinalProductIndication";
21564      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTINGREDIENT)
21565        return "MedicinalProductIngredient";
21566      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTINTERACTION)
21567        return "MedicinalProductInteraction";
21568      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTMANUFACTURED)
21569        return "MedicinalProductManufactured";
21570      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTPACKAGED)
21571        return "MedicinalProductPackaged";
21572      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTPHARMACEUTICAL)
21573        return "MedicinalProductPharmaceutical";
21574      if (code == VersionIndependentResourceTypesAll.MEDICINALPRODUCTUNDESIRABLEEFFECT)
21575        return "MedicinalProductUndesirableEffect";
21576      if (code == VersionIndependentResourceTypesAll.ORDER)
21577        return "Order";
21578      if (code == VersionIndependentResourceTypesAll.ORDERRESPONSE)
21579        return "OrderResponse";
21580      if (code == VersionIndependentResourceTypesAll.PROCEDUREREQUEST)
21581        return "ProcedureRequest";
21582      if (code == VersionIndependentResourceTypesAll.PROCESSREQUEST)
21583        return "ProcessRequest";
21584      if (code == VersionIndependentResourceTypesAll.PROCESSRESPONSE)
21585        return "ProcessResponse";
21586      if (code == VersionIndependentResourceTypesAll.REFERRALREQUEST)
21587        return "ReferralRequest";
21588      if (code == VersionIndependentResourceTypesAll.REQUESTGROUP)
21589        return "RequestGroup";
21590      if (code == VersionIndependentResourceTypesAll.RESEARCHDEFINITION)
21591        return "ResearchDefinition";
21592      if (code == VersionIndependentResourceTypesAll.RESEARCHELEMENTDEFINITION)
21593        return "ResearchElementDefinition";
21594      if (code == VersionIndependentResourceTypesAll.RISKEVIDENCESYNTHESIS)
21595        return "RiskEvidenceSynthesis";
21596      if (code == VersionIndependentResourceTypesAll.SEQUENCE)
21597        return "Sequence";
21598      if (code == VersionIndependentResourceTypesAll.SERVICEDEFINITION)
21599        return "ServiceDefinition";
21600      if (code == VersionIndependentResourceTypesAll.SUBSTANCESPECIFICATION)
21601        return "SubstanceSpecification";
21602      return "?";
21603   }
21604    public String toSystem(VersionIndependentResourceTypesAll code) {
21605      return code.getSystem();
21606      }
21607    }
21608
21609
21610}
21611