001package org.hl7.fhir.r4.model;
002
003/*
004  Copyright (c) 2011+, HL7, Inc.
005  All rights reserved.
006  
007  Redistribution and use in source and binary forms, with or without modification, 
008  are permitted provided that the following conditions are met:
009  
010   * Redistributions of source code must retain the above copyright notice, this 
011     list of conditions and the following disclaimer.
012   * Redistributions in binary form must reproduce the above copyright notice, 
013     this list of conditions and the following disclaimer in the documentation 
014     and/or other materials provided with the distribution.
015   * Neither the name of HL7 nor the names of its contributors may be used to 
016     endorse or promote products derived from this software without specific 
017     prior written permission.
018  
019  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
020  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
021  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
022  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
023  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
024  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
025  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
026  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
027  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
028  POSSIBILITY OF SUCH DAMAGE.
029  
030*/
031
032// Generated on Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.0
033
034import org.hl7.fhir.exceptions.FHIRException;
035
036public class ResourceFactory extends Factory {
037
038    public static Resource createResource(String name) throws FHIRException {
039        if ("Appointment".equals(name))
040            return new Appointment();
041        if ("Account".equals(name))
042            return new Account();
043        if ("Invoice".equals(name))
044            return new Invoice();
045        if ("CatalogEntry".equals(name))
046            return new CatalogEntry();
047        if ("EventDefinition".equals(name))
048            return new EventDefinition();
049        if ("DocumentManifest".equals(name))
050            return new DocumentManifest();
051        if ("MessageDefinition".equals(name))
052            return new MessageDefinition();
053        if ("Goal".equals(name))
054            return new Goal();
055        if ("MedicinalProductPackaged".equals(name))
056            return new MedicinalProductPackaged();
057        if ("Endpoint".equals(name))
058            return new Endpoint();
059        if ("EnrollmentRequest".equals(name))
060            return new EnrollmentRequest();
061        if ("Consent".equals(name))
062            return new Consent();
063        if ("CapabilityStatement".equals(name))
064            return new CapabilityStatement();
065        if ("Medication".equals(name))
066            return new Medication();
067        if ("Measure".equals(name))
068            return new Measure();
069        if ("ResearchSubject".equals(name))
070            return new ResearchSubject();
071        if ("Subscription".equals(name))
072            return new Subscription();
073        if ("MedicinalProductClinicals".equals(name))
074            return new MedicinalProductClinicals();
075        if ("DocumentReference".equals(name))
076            return new DocumentReference();
077        if ("GraphDefinition".equals(name))
078            return new GraphDefinition();
079        if ("Parameters".equals(name))
080            return new Parameters();
081        if ("CoverageEligibilityResponse".equals(name))
082            return new CoverageEligibilityResponse();
083        if ("MeasureReport".equals(name))
084            return new MeasureReport();
085        if ("PractitionerRole".equals(name))
086            return new PractitionerRole();
087        if ("SubstanceReferenceInformation".equals(name))
088            return new SubstanceReferenceInformation();
089        if ("ServiceRequest".equals(name))
090            return new ServiceRequest();
091        if ("RelatedPerson".equals(name))
092            return new RelatedPerson();
093        if ("SupplyRequest".equals(name))
094            return new SupplyRequest();
095        if ("Practitioner".equals(name))
096            return new Practitioner();
097        if ("VerificationResult".equals(name))
098            return new VerificationResult();
099        if ("BodyStructure".equals(name))
100            return new BodyStructure();
101        if ("Slot".equals(name))
102            return new Slot();
103        if ("Person".equals(name))
104            return new Person();
105        if ("Contract".equals(name))
106            return new Contract();
107        if ("RiskAssessment".equals(name))
108            return new RiskAssessment();
109        if ("Group".equals(name))
110            return new Group();
111        if ("PaymentNotice".equals(name))
112            return new PaymentNotice();
113        if ("MedicinalProductManufactured".equals(name))
114            return new MedicinalProductManufactured();
115        if ("Organization".equals(name))
116            return new Organization();
117        if ("CareTeam".equals(name))
118            return new CareTeam();
119        if ("ImplementationGuide".equals(name))
120            return new ImplementationGuide();
121        if ("ImagingStudy".equals(name))
122            return new ImagingStudy();
123        if ("FamilyMemberHistory".equals(name))
124            return new FamilyMemberHistory();
125        if ("ChargeItem".equals(name))
126            return new ChargeItem();
127        if ("ObservationDefinition".equals(name))
128            return new ObservationDefinition();
129        if ("Encounter".equals(name))
130            return new Encounter();
131        if ("Substance".equals(name))
132            return new Substance();
133        if ("SubstanceSpecification".equals(name))
134            return new SubstanceSpecification();
135        if ("SearchParameter".equals(name))
136            return new SearchParameter();
137        if ("Communication".equals(name))
138            return new Communication();
139        if ("ActivityDefinition".equals(name))
140            return new ActivityDefinition();
141        if ("InsurancePlan".equals(name))
142            return new InsurancePlan();
143        if ("Linkage".equals(name))
144            return new Linkage();
145        if ("ImmunizationEvaluation".equals(name))
146            return new ImmunizationEvaluation();
147        if ("DeviceUseStatement".equals(name))
148            return new DeviceUseStatement();
149        if ("RequestGroup".equals(name))
150            return new RequestGroup();
151        if ("DeviceRequest".equals(name))
152            return new DeviceRequest();
153        if ("MessageHeader".equals(name))
154            return new MessageHeader();
155        if ("ImmunizationRecommendation".equals(name))
156            return new ImmunizationRecommendation();
157        if ("Provenance".equals(name))
158            return new Provenance();
159        if ("Task".equals(name))
160            return new Task();
161        if ("Questionnaire".equals(name))
162            return new Questionnaire();
163        if ("ExplanationOfBenefit".equals(name))
164            return new ExplanationOfBenefit();
165        if ("MedicinalProductPharmaceutical".equals(name))
166            return new MedicinalProductPharmaceutical();
167        if ("ResearchStudy".equals(name))
168            return new ResearchStudy();
169        if ("Specimen".equals(name))
170            return new Specimen();
171        if ("AllergyIntolerance".equals(name))
172            return new AllergyIntolerance();
173        if ("CarePlan".equals(name))
174            return new CarePlan();
175        if ("StructureDefinition".equals(name))
176            return new StructureDefinition();
177        if ("EpisodeOfCare".equals(name))
178            return new EpisodeOfCare();
179        if ("ChargeItemDefinition".equals(name))
180            return new ChargeItemDefinition();
181        if ("MedicinalProductDeviceSpec".equals(name))
182            return new MedicinalProductDeviceSpec();
183        if ("OperationOutcome".equals(name))
184            return new OperationOutcome();
185        if ("UserSession".equals(name))
186            return new UserSession();
187        if ("Procedure".equals(name))
188            return new Procedure();
189        if ("List".equals(name))
190            return new ListResource();
191        if ("ConceptMap".equals(name))
192            return new ConceptMap();
193        if ("ValueSet".equals(name))
194            return new ValueSet();
195        if ("OperationDefinition".equals(name))
196            return new OperationDefinition();
197        if ("Immunization".equals(name))
198            return new Immunization();
199        if ("MedicationRequest".equals(name))
200            return new MedicationRequest();
201        if ("BiologicallyDerivedProduct".equals(name))
202            return new BiologicallyDerivedProduct();
203        if ("Device".equals(name))
204            return new Device();
205        if ("VisionPrescription".equals(name))
206            return new VisionPrescription();
207        if ("Media".equals(name))
208            return new Media();
209        if ("MedicinalProductContraindication".equals(name))
210            return new MedicinalProductContraindication();
211        if ("MedicinalProduct".equals(name))
212            return new MedicinalProduct();
213        if ("Sequence".equals(name))
214            return new Sequence();
215        if ("DeviceMetric".equals(name))
216            return new DeviceMetric();
217        if ("Flag".equals(name))
218            return new Flag();
219        if ("CodeSystem".equals(name))
220            return new CodeSystem();
221        if ("AppointmentResponse".equals(name))
222            return new AppointmentResponse();
223        if ("StructureMap".equals(name))
224            return new StructureMap();
225        if ("AdverseEvent".equals(name))
226            return new AdverseEvent();
227        if ("GuidanceResponse".equals(name))
228            return new GuidanceResponse();
229        if ("Observation".equals(name))
230            return new Observation();
231        if ("MedicationAdministration".equals(name))
232            return new MedicationAdministration();
233        if ("EnrollmentResponse".equals(name))
234            return new EnrollmentResponse();
235        if ("Binary".equals(name))
236            return new Binary();
237        if ("Library".equals(name))
238            return new Library();
239        if ("MedicinalProductInteraction".equals(name))
240            return new MedicinalProductInteraction();
241        if ("MedicationStatement".equals(name))
242            return new MedicationStatement();
243        if ("CommunicationRequest".equals(name))
244            return new CommunicationRequest();
245        if ("ItemInstance".equals(name))
246            return new ItemInstance();
247        if ("TestScript".equals(name))
248            return new TestScript();
249        if ("Basic".equals(name))
250            return new Basic();
251        if ("SubstancePolymer".equals(name))
252            return new SubstancePolymer();
253        if ("TestReport".equals(name))
254            return new TestReport();
255        if ("ClaimResponse".equals(name))
256            return new ClaimResponse();
257        if ("ProcessRequest".equals(name))
258            return new ProcessRequest();
259        if ("MedicationDispense".equals(name))
260            return new MedicationDispense();
261        if ("DiagnosticReport".equals(name))
262            return new DiagnosticReport();
263        if ("OrganizationAffiliation".equals(name))
264            return new OrganizationAffiliation();
265        if ("HealthcareService".equals(name))
266            return new HealthcareService();
267        if ("MedicinalProductIndication".equals(name))
268            return new MedicinalProductIndication();
269        if ("NutritionOrder".equals(name))
270            return new NutritionOrder();
271        if ("TerminologyCapabilities".equals(name))
272            return new TerminologyCapabilities();
273        if ("AuditEvent".equals(name))
274            return new AuditEvent();
275        if ("PaymentReconciliation".equals(name))
276            return new PaymentReconciliation();
277        if ("Condition".equals(name))
278            return new Condition();
279        if ("SpecimenDefinition".equals(name))
280            return new SpecimenDefinition();
281        if ("Composition".equals(name))
282            return new Composition();
283        if ("DetectedIssue".equals(name))
284            return new DetectedIssue();
285        if ("Bundle".equals(name))
286            return new Bundle();
287        if ("CompartmentDefinition".equals(name))
288            return new CompartmentDefinition();
289        if ("MedicinalProductIngredient".equals(name))
290            return new MedicinalProductIngredient();
291        if ("MedicationKnowledge".equals(name))
292            return new MedicationKnowledge();
293        if ("Patient".equals(name))
294            return new Patient();
295        if ("Coverage".equals(name))
296            return new Coverage();
297        if ("QuestionnaireResponse".equals(name))
298            return new QuestionnaireResponse();
299        if ("ProcessResponse".equals(name))
300            return new ProcessResponse();
301        if ("CoverageEligibilityRequest".equals(name))
302            return new CoverageEligibilityRequest();
303        if ("NamingSystem".equals(name))
304            return new NamingSystem();
305        if ("MedicinalProductUndesirableEffect".equals(name))
306            return new MedicinalProductUndesirableEffect();
307        if ("ExampleScenario".equals(name))
308            return new ExampleScenario();
309        if ("Schedule".equals(name))
310            return new Schedule();
311        if ("SupplyDelivery".equals(name))
312            return new SupplyDelivery();
313        if ("ClinicalImpression".equals(name))
314            return new ClinicalImpression();
315        if ("DeviceDefinition".equals(name))
316            return new DeviceDefinition();
317        if ("PlanDefinition".equals(name))
318            return new PlanDefinition();
319        if ("MedicinalProductAuthorization".equals(name))
320            return new MedicinalProductAuthorization();
321        if ("Claim".equals(name))
322            return new Claim();
323        if ("Location".equals(name))
324            return new Location();
325        else
326            throw new FHIRException("Unknown Resource Name '"+name+"'");
327    }
328
329    public static Element createType(String name) throws FHIRException {
330        if ("date".equals(name))
331            return new DateType();
332        if ("Meta".equals(name))
333            return new Meta();
334        if ("MoneyQuantity".equals(name))
335            return new MoneyQuantity();
336        if ("Address".equals(name))
337            return new Address();
338        if ("Attachment".equals(name))
339            return new Attachment();
340        if ("integer".equals(name))
341            return new IntegerType();
342        if ("Count".equals(name))
343            return new Count();
344        if ("DataRequirement".equals(name))
345            return new DataRequirement();
346        if ("Dosage".equals(name))
347            return new Dosage();
348        if ("uuid".equals(name))
349            return new UuidType();
350        if ("Identifier".equals(name))
351            return new Identifier();
352        if ("SubstanceAmount".equals(name))
353            return new SubstanceAmount();
354        if ("Narrative".equals(name))
355            return new Narrative();
356        if ("Coding".equals(name))
357            return new Coding();
358        if ("SampledData".equals(name))
359            return new SampledData();
360        if ("id".equals(name))
361            return new IdType();
362        if ("positiveInt".equals(name))
363            return new PositiveIntType();
364        if ("ElementDefinition".equals(name))
365            return new ElementDefinition();
366        if ("Distance".equals(name))
367            return new Distance();
368        if ("Period".equals(name))
369            return new Period();
370        if ("Duration".equals(name))
371            return new Duration();
372        if ("canonical".equals(name))
373            return new CanonicalType();
374        if ("Range".equals(name))
375            return new Range();
376        if ("RelatedArtifact".equals(name))
377            return new RelatedArtifact();
378        if ("ProductShelfLife".equals(name))
379            return new ProductShelfLife();
380        if ("base64Binary".equals(name))
381            return new Base64BinaryType();
382        if ("UsageContext".equals(name))
383            return new UsageContext();
384        if ("Timing".equals(name))
385            return new Timing();
386        if ("decimal".equals(name))
387            return new DecimalType();
388        if ("ProdCharacteristic".equals(name))
389            return new ProdCharacteristic();
390        if ("CodeableConcept".equals(name))
391            return new CodeableConcept();
392        if ("ParameterDefinition".equals(name))
393            return new ParameterDefinition();
394        if ("dateTime".equals(name))
395            return new DateTimeType();
396        if ("code".equals(name))
397            return new CodeType();
398        if ("string".equals(name))
399            return new StringType();
400        if ("Contributor".equals(name))
401            return new Contributor();
402        if ("oid".equals(name))
403            return new OidType();
404        if ("instant".equals(name))
405            return new InstantType();
406        if ("Money".equals(name))
407            return new Money();
408        if ("HumanName".equals(name))
409            return new HumanName();
410        if ("ContactPoint".equals(name))
411            return new ContactPoint();
412        if ("MarketingStatus".equals(name))
413            return new MarketingStatus();
414        if ("markdown".equals(name))
415            return new MarkdownType();
416        if ("Ratio".equals(name))
417            return new Ratio();
418        if ("SubstanceMoiety".equals(name))
419            return new SubstanceMoiety();
420        if ("Age".equals(name))
421            return new Age();
422        if ("Reference".equals(name))
423            return new Reference();
424        if ("TriggerDefinition".equals(name))
425            return new TriggerDefinition();
426        if ("SimpleQuantity".equals(name))
427            return new SimpleQuantity();
428        if ("Quantity".equals(name))
429            return new Quantity();
430        if ("uri".equals(name))
431            return new UriType();
432        if ("url".equals(name))
433            return new UrlType();
434        if ("Annotation".equals(name))
435            return new Annotation();
436        if ("Extension".equals(name))
437            return new Extension();
438        if ("ContactDetail".equals(name))
439            return new ContactDetail();
440        if ("boolean".equals(name))
441            return new BooleanType();
442        if ("Expression".equals(name))
443            return new Expression();
444        if ("Signature".equals(name))
445            return new Signature();
446        if ("unsignedInt".equals(name))
447            return new UnsignedIntType();
448        if ("time".equals(name))
449            return new TimeType();
450        else
451            throw new FHIRException("Unknown Type Name '"+name+"'");
452    }
453
454    public static Base createResourceOrType(String name) throws FHIRException {
455      switch (name.hashCode()) {
456        case 487334413: return new Account();
457        case 851278306: return new ActivityDefinition();
458        case 516961236: return new Address();
459        case -329624856: return new AdverseEvent();
460        case 65759: return new Age();
461        case 1721380104: return new AllergyIntolerance();
462        case 438421327: return new Annotation();
463        case 192873343: return new Appointment();
464        case 1733332192: return new AppointmentResponse();
465        case 29963587: return new Attachment();
466        case -632949857: return new AuditEvent();
467        case 63955982: return new Basic();
468        case 1989867553: return new Binary();
469        case -310041824: return new BiologicallyDerivedProduct();
470        case -202769967: return new BodyStructure();
471        case 2000952482: return new Bundle();
472        case -871422185: return new CapabilityStatement();
473        case 57208314: return new CarePlan();
474        case 57320750: return new CareTeam();
475        case -1007602695: return new CatalogEntry();
476        case -883723257: return new ChargeItem();
477        case -315725638: return new ChargeItemDefinition();
478        case 65189916: return new Claim();
479        case 1488475261: return new ClaimResponse();
480        case -1268501092: return new ClinicalImpression();
481        case 1076953756: return new CodeSystem();
482        case -1153521791: return new CodeableConcept();
483        case 2023747466: return new Coding();
484        case -236322890: return new Communication();
485        case -1874423303: return new CommunicationRequest();
486        case 1287805733: return new CompartmentDefinition();
487        case 828944778: return new Composition();
488        case 57185780: return new ConceptMap();
489        case 1142656251: return new Condition();
490        case -1678813190: return new Consent();
491        case 973193329: return new ContactDetail();
492        case 1428236656: return new ContactPoint();
493        case -502303438: return new Contract();
494        case -227407685: return new Contributor();
495        case 65298671: return new Count();
496        case -287122936: return new Coverage();
497        case -140860822: return new CoverageEligibilityRequest();
498        case -18784314: return new CoverageEligibilityResponse();
499        case -367870439: return new DataRequirement();
500        case 850563927: return new DetectedIssue();
501        case 2043677302: return new Device();
502        case 1083244649: return new DeviceDefinition();
503        case -949306426: return new DeviceMetric();
504        case 776138553: return new DeviceRequest();
505        case 491858238: return new DeviceUseStatement();
506        case -1122842661: return new DiagnosticReport();
507        case 353103893: return new Distance();
508        case 1922784394: return new DocumentManifest();
509        case -1202791344: return new DocumentReference();
510        case 2052815575: return new Dosage();
511        case -1927368268: return new Duration();
512        case -1605049009: return new ElementDefinition();
513        case -766867181: return new Encounter();
514        case 1805746613: return new Endpoint();
515        case -1377846581: return new EnrollmentRequest();
516        case 289362821: return new EnrollmentResponse();
517        case -1093178557: return new EpisodeOfCare();
518        case 1851868013: return new EventDefinition();
519        case 1175230202: return new ExampleScenario();
520        case -1001676601: return new ExplanationOfBenefit();
521        case 198012600: return new Expression();
522        case 1391410207: return new Extension();
523        case 1260711798: return new FamilyMemberHistory();
524        case 2192268: return new Flag();
525        case 2224947: return new Goal();
526        case -180371167: return new GraphDefinition();
527        case 69076575: return new Group();
528        case 997117913: return new GuidanceResponse();
529        case 933423720: return new HealthcareService();
530        case 1592332600: return new HumanName();
531        case 375032009: return new Identifier();
532        case -650580623: return new ImagingStudy();
533        case -2004863454: return new Immunization();
534        case -1768794370: return new ImmunizationEvaluation();
535        case 1728372347: return new ImmunizationRecommendation();
536        case 1410262602: return new ImplementationGuide();
537        case -1503864573: return new InsurancePlan();
538        case -670115059: return new Invoice();
539        case 1347880168: return new ItemInstance();
540        case 1830861979: return new Library();
541        case 1841735333: return new Linkage();
542        case 2368702: return new ListResource();
543        case 1965687765: return new Location();
544        case -926250600: return new MarketingStatus();
545        case -1691992770: return new Measure();
546        case 1681397778: return new MeasureReport();
547        case 74219460: return new Media();
548        case -302536977: return new Medication();
549        case -342579923: return new MedicationAdministration();
550        case -408244884: return new MedicationDispense();
551        case 1537687119: return new MedicationKnowledge();
552        case 1627523232: return new MedicationRequest();
553        case -2097348800: return new MedicationStatement();
554        case -1349298375: return new MedicinalProduct();
555        case -29557312: return new MedicinalProductAuthorization();
556        case -1801833337: return new MedicinalProductClinicals();
557        case -1375810986: return new MedicinalProductContraindication();
558        case 417312586: return new MedicinalProductDeviceSpec();
559        case -961008267: return new MedicinalProductIndication();
560        case -570248726: return new MedicinalProductIngredient();
561        case -844984039: return new MedicinalProductInteraction();
562        case 568246684: return new MedicinalProductManufactured();
563        case -500906185: return new MedicinalProductPackaged();
564        case -1034780964: return new MedicinalProductPharmaceutical();
565        case 1717675156: return new MedicinalProductUndesirableEffect();
566        case -2037697382: return new MessageDefinition();
567        case -1087398572: return new MessageHeader();
568        case 2394661: return new Meta();
569        case 74526880: return new Money();
570        case 977885515: return new MoneyQuantity();
571        case 369315063: return new NamingSystem();
572        case -540546990: return new Narrative();
573        case 1247831734: return new NutritionOrder();
574        case 1790214156: return new Observation();
575        case 673706623: return new ObservationDefinition();
576        case -2140710406: return new OperationDefinition();
577        case -526550005: return new OperationOutcome();
578        case 1343242579: return new Organization();
579        case 2069161885: return new OrganizationAffiliation();
580        case 671337916: return new ParameterDefinition();
581        case -1842766326: return new Parameters();
582        case 873235173: return new Patient();
583        case 2082457694: return new PaymentNotice();
584        case 28778089: return new PaymentReconciliation();
585        case -1907858975: return new Period();
586        case -1907849355: return new Person();
587        case 1401244028: return new PlanDefinition();
588        case 738893626: return new Practitioner();
589        case -621058352: return new PractitionerRole();
590        case 908763827: return new Procedure();
591        case 8777024: return new ProcessRequest();
592        case 325021616: return new ProcessResponse();
593        case 458000626: return new ProdCharacteristic();
594        case 1209602103: return new ProductShelfLife();
595        case 2093211201: return new Provenance();
596        case -1220360021: return new Quantity();
597        case -218088061: return new Questionnaire();
598        case 269058788: return new QuestionnaireResponse();
599        case 78727453: return new Range();
600        case 78733291: return new Ratio();
601        case 1078812459: return new Reference();
602        case -330210563: return new RelatedArtifact();
603        case 846088000: return new RelatedPerson();
604        case 1445374288: return new RequestGroup();
605        case 1312904398: return new ResearchStudy();
606        case -1008013583: return new ResearchSubject();
607        case -766422255: return new RiskAssessment();
608        case 1824308900: return new SampledData();
609        case -633276745: return new Schedule();
610        case -912457023: return new SearchParameter();
611        case 1414192097: return new Sequence();
612        case -1944810950: return new ServiceRequest();
613        case -1217415016: return new Signature();
614        case -1097468803: return new SimpleQuantity();
615        case 2579998: return new Slot();
616        case -2068224216: return new Specimen();
617        case 863741595: return new SpecimenDefinition();
618        case 1133777670: return new StructureDefinition();
619        case 1958247177: return new StructureMap();
620        case 505523517: return new Subscription();
621        case -1760959152: return new Substance();
622        case 1549526472: return new SubstanceAmount();
623        case 1894729395: return new SubstanceMoiety();
624        case 1272939294: return new SubstancePolymer();
625        case 159007313: return new SubstanceReferenceInformation();
626        case 1472900499: return new SubstanceSpecification();
627        case 383030819: return new SupplyDelivery();
628        case 665843328: return new SupplyRequest();
629        case 2599333: return new Task();
630        case -549565975: return new TerminologyCapabilities();
631        case -616289146: return new TestReport();
632        case -589453283: return new TestScript();
633        case -1789797270: return new Timing();
634        case 770498827: return new TriggerDefinition();
635        case 1071332590: return new UsageContext();
636        case -943977429: return new UserSession();
637        case -1345530543: return new ValueSet();
638        case 957089336: return new VerificationResult();
639        case -555387838: return new VisionPrescription();
640        case -1216012752: return new Base64BinaryType();
641        case 64711720: return new BooleanType();
642        case 828351732: return new CanonicalType();
643        case 3059181: return new CodeType();
644        case 3076014: return new DateType();
645        case 1792749467: return new DateTimeType();
646        case 1542263633: return new DecimalType();
647        case 3355: return new IdType();
648        case 1957570017: return new InstantType();
649        case 1958052158: return new IntegerType();
650        case 246938863: return new MarkdownType();
651        case 110026: return new OidType();
652        case -131262666: return new PositiveIntType();
653        case -891985903: return new StringType();
654        case 3560141: return new TimeType();
655        case 1145198778: return new UnsignedIntType();
656        case 116076: return new UriType();
657        case 116079: return new UrlType();
658        case 3601339: return new UuidType();
659      default:
660        throw new FHIRException("Unknown Resource or Type Name '"+name+"'");
661    }
662  }
663
664
665}
666