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, Dec 27, 2018 10:06-0500 for FHIR v4.0.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 ("DocumentReference".equals(name))
074            return new DocumentReference();
075        if ("GraphDefinition".equals(name))
076            return new GraphDefinition();
077        if ("Parameters".equals(name))
078            return new Parameters();
079        if ("CoverageEligibilityResponse".equals(name))
080            return new CoverageEligibilityResponse();
081        if ("MeasureReport".equals(name))
082            return new MeasureReport();
083        if ("PractitionerRole".equals(name))
084            return new PractitionerRole();
085        if ("SubstanceReferenceInformation".equals(name))
086            return new SubstanceReferenceInformation();
087        if ("ServiceRequest".equals(name))
088            return new ServiceRequest();
089        if ("RelatedPerson".equals(name))
090            return new RelatedPerson();
091        if ("SupplyRequest".equals(name))
092            return new SupplyRequest();
093        if ("Practitioner".equals(name))
094            return new Practitioner();
095        if ("VerificationResult".equals(name))
096            return new VerificationResult();
097        if ("SubstanceProtein".equals(name))
098            return new SubstanceProtein();
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 ("ResearchDefinition".equals(name))
114            return new ResearchDefinition();
115        if ("MedicinalProductManufactured".equals(name))
116            return new MedicinalProductManufactured();
117        if ("Organization".equals(name))
118            return new Organization();
119        if ("CareTeam".equals(name))
120            return new CareTeam();
121        if ("ImplementationGuide".equals(name))
122            return new ImplementationGuide();
123        if ("ImagingStudy".equals(name))
124            return new ImagingStudy();
125        if ("FamilyMemberHistory".equals(name))
126            return new FamilyMemberHistory();
127        if ("ChargeItem".equals(name))
128            return new ChargeItem();
129        if ("ResearchElementDefinition".equals(name))
130            return new ResearchElementDefinition();
131        if ("ObservationDefinition".equals(name))
132            return new ObservationDefinition();
133        if ("Encounter".equals(name))
134            return new Encounter();
135        if ("Substance".equals(name))
136            return new Substance();
137        if ("SubstanceSpecification".equals(name))
138            return new SubstanceSpecification();
139        if ("SearchParameter".equals(name))
140            return new SearchParameter();
141        if ("Communication".equals(name))
142            return new Communication();
143        if ("ActivityDefinition".equals(name))
144            return new ActivityDefinition();
145        if ("InsurancePlan".equals(name))
146            return new InsurancePlan();
147        if ("Linkage".equals(name))
148            return new Linkage();
149        if ("SubstanceSourceMaterial".equals(name))
150            return new SubstanceSourceMaterial();
151        if ("ImmunizationEvaluation".equals(name))
152            return new ImmunizationEvaluation();
153        if ("DeviceUseStatement".equals(name))
154            return new DeviceUseStatement();
155        if ("RequestGroup".equals(name))
156            return new RequestGroup();
157        if ("DeviceRequest".equals(name))
158            return new DeviceRequest();
159        if ("MessageHeader".equals(name))
160            return new MessageHeader();
161        if ("ImmunizationRecommendation".equals(name))
162            return new ImmunizationRecommendation();
163        if ("Provenance".equals(name))
164            return new Provenance();
165        if ("Task".equals(name))
166            return new Task();
167        if ("Questionnaire".equals(name))
168            return new Questionnaire();
169        if ("ExplanationOfBenefit".equals(name))
170            return new ExplanationOfBenefit();
171        if ("MedicinalProductPharmaceutical".equals(name))
172            return new MedicinalProductPharmaceutical();
173        if ("ResearchStudy".equals(name))
174            return new ResearchStudy();
175        if ("Specimen".equals(name))
176            return new Specimen();
177        if ("AllergyIntolerance".equals(name))
178            return new AllergyIntolerance();
179        if ("CarePlan".equals(name))
180            return new CarePlan();
181        if ("StructureDefinition".equals(name))
182            return new StructureDefinition();
183        if ("EpisodeOfCare".equals(name))
184            return new EpisodeOfCare();
185        if ("ChargeItemDefinition".equals(name))
186            return new ChargeItemDefinition();
187        if ("OperationOutcome".equals(name))
188            return new OperationOutcome();
189        if ("Procedure".equals(name))
190            return new Procedure();
191        if ("List".equals(name))
192            return new ListResource();
193        if ("ConceptMap".equals(name))
194            return new ConceptMap();
195        if ("ValueSet".equals(name))
196            return new ValueSet();
197        if ("OperationDefinition".equals(name))
198            return new OperationDefinition();
199        if ("Immunization".equals(name))
200            return new Immunization();
201        if ("MedicationRequest".equals(name))
202            return new MedicationRequest();
203        if ("EffectEvidenceSynthesis".equals(name))
204            return new EffectEvidenceSynthesis();
205        if ("BiologicallyDerivedProduct".equals(name))
206            return new BiologicallyDerivedProduct();
207        if ("Device".equals(name))
208            return new Device();
209        if ("VisionPrescription".equals(name))
210            return new VisionPrescription();
211        if ("Media".equals(name))
212            return new Media();
213        if ("MedicinalProductContraindication".equals(name))
214            return new MedicinalProductContraindication();
215        if ("MolecularSequence".equals(name))
216            return new MolecularSequence();
217        if ("EvidenceVariable".equals(name))
218            return new EvidenceVariable();
219        if ("MedicinalProduct".equals(name))
220            return new MedicinalProduct();
221        if ("DeviceMetric".equals(name))
222            return new DeviceMetric();
223        if ("Flag".equals(name))
224            return new Flag();
225        if ("CodeSystem".equals(name))
226            return new CodeSystem();
227        if ("SubstanceNucleicAcid".equals(name))
228            return new SubstanceNucleicAcid();
229        if ("RiskEvidenceSynthesis".equals(name))
230            return new RiskEvidenceSynthesis();
231        if ("AppointmentResponse".equals(name))
232            return new AppointmentResponse();
233        if ("StructureMap".equals(name))
234            return new StructureMap();
235        if ("AdverseEvent".equals(name))
236            return new AdverseEvent();
237        if ("GuidanceResponse".equals(name))
238            return new GuidanceResponse();
239        if ("Observation".equals(name))
240            return new Observation();
241        if ("MedicationAdministration".equals(name))
242            return new MedicationAdministration();
243        if ("EnrollmentResponse".equals(name))
244            return new EnrollmentResponse();
245        if ("Binary".equals(name))
246            return new Binary();
247        if ("Library".equals(name))
248            return new Library();
249        if ("MedicinalProductInteraction".equals(name))
250            return new MedicinalProductInteraction();
251        if ("MedicationStatement".equals(name))
252            return new MedicationStatement();
253        if ("CommunicationRequest".equals(name))
254            return new CommunicationRequest();
255        if ("TestScript".equals(name))
256            return new TestScript();
257        if ("Basic".equals(name))
258            return new Basic();
259        if ("SubstancePolymer".equals(name))
260            return new SubstancePolymer();
261        if ("TestReport".equals(name))
262            return new TestReport();
263        if ("ClaimResponse".equals(name))
264            return new ClaimResponse();
265        if ("MedicationDispense".equals(name))
266            return new MedicationDispense();
267        if ("DiagnosticReport".equals(name))
268            return new DiagnosticReport();
269        if ("OrganizationAffiliation".equals(name))
270            return new OrganizationAffiliation();
271        if ("HealthcareService".equals(name))
272            return new HealthcareService();
273        if ("MedicinalProductIndication".equals(name))
274            return new MedicinalProductIndication();
275        if ("NutritionOrder".equals(name))
276            return new NutritionOrder();
277        if ("TerminologyCapabilities".equals(name))
278            return new TerminologyCapabilities();
279        if ("Evidence".equals(name))
280            return new Evidence();
281        if ("AuditEvent".equals(name))
282            return new AuditEvent();
283        if ("PaymentReconciliation".equals(name))
284            return new PaymentReconciliation();
285        if ("Condition".equals(name))
286            return new Condition();
287        if ("SpecimenDefinition".equals(name))
288            return new SpecimenDefinition();
289        if ("Composition".equals(name))
290            return new Composition();
291        if ("DetectedIssue".equals(name))
292            return new DetectedIssue();
293        if ("Bundle".equals(name))
294            return new Bundle();
295        if ("CompartmentDefinition".equals(name))
296            return new CompartmentDefinition();
297        if ("MedicinalProductIngredient".equals(name))
298            return new MedicinalProductIngredient();
299        if ("MedicationKnowledge".equals(name))
300            return new MedicationKnowledge();
301        if ("Patient".equals(name))
302            return new Patient();
303        if ("Coverage".equals(name))
304            return new Coverage();
305        if ("QuestionnaireResponse".equals(name))
306            return new QuestionnaireResponse();
307        if ("CoverageEligibilityRequest".equals(name))
308            return new CoverageEligibilityRequest();
309        if ("NamingSystem".equals(name))
310            return new NamingSystem();
311        if ("MedicinalProductUndesirableEffect".equals(name))
312            return new MedicinalProductUndesirableEffect();
313        if ("ExampleScenario".equals(name))
314            return new ExampleScenario();
315        if ("Schedule".equals(name))
316            return new Schedule();
317        if ("SupplyDelivery".equals(name))
318            return new SupplyDelivery();
319        if ("ClinicalImpression".equals(name))
320            return new ClinicalImpression();
321        if ("DeviceDefinition".equals(name))
322            return new DeviceDefinition();
323        if ("PlanDefinition".equals(name))
324            return new PlanDefinition();
325        if ("MedicinalProductAuthorization".equals(name))
326            return new MedicinalProductAuthorization();
327        if ("Claim".equals(name))
328            return new Claim();
329        if ("Location".equals(name))
330            return new Location();
331        else
332            throw new FHIRException("Unknown Resource Name '"+name+"'");
333    }
334
335    public static Element createType(String name) throws FHIRException {
336        if ("date".equals(name))
337            return new DateType();
338        if ("Meta".equals(name))
339            return new Meta();
340        if ("MoneyQuantity".equals(name))
341            return new MoneyQuantity();
342        if ("Address".equals(name))
343            return new Address();
344        if ("Attachment".equals(name))
345            return new Attachment();
346        if ("integer".equals(name))
347            return new IntegerType();
348        if ("Count".equals(name))
349            return new Count();
350        if ("DataRequirement".equals(name))
351            return new DataRequirement();
352        if ("Dosage".equals(name))
353            return new Dosage();
354        if ("uuid".equals(name))
355            return new UuidType();
356        if ("Identifier".equals(name))
357            return new Identifier();
358        if ("SubstanceAmount".equals(name))
359            return new SubstanceAmount();
360        if ("Narrative".equals(name))
361            return new Narrative();
362        if ("Coding".equals(name))
363            return new Coding();
364        if ("SampledData".equals(name))
365            return new SampledData();
366        if ("id".equals(name))
367            return new IdType();
368        if ("positiveInt".equals(name))
369            return new PositiveIntType();
370        if ("ElementDefinition".equals(name))
371            return new ElementDefinition();
372        if ("Distance".equals(name))
373            return new Distance();
374        if ("Period".equals(name))
375            return new Period();
376        if ("Duration".equals(name))
377            return new Duration();
378        if ("canonical".equals(name))
379            return new CanonicalType();
380        if ("Range".equals(name))
381            return new Range();
382        if ("RelatedArtifact".equals(name))
383            return new RelatedArtifact();
384        if ("ProductShelfLife".equals(name))
385            return new ProductShelfLife();
386        if ("base64Binary".equals(name))
387            return new Base64BinaryType();
388        if ("UsageContext".equals(name))
389            return new UsageContext();
390        if ("Timing".equals(name))
391            return new Timing();
392        if ("decimal".equals(name))
393            return new DecimalType();
394        if ("ProdCharacteristic".equals(name))
395            return new ProdCharacteristic();
396        if ("CodeableConcept".equals(name))
397            return new CodeableConcept();
398        if ("ParameterDefinition".equals(name))
399            return new ParameterDefinition();
400        if ("dateTime".equals(name))
401            return new DateTimeType();
402        if ("code".equals(name))
403            return new CodeType();
404        if ("string".equals(name))
405            return new StringType();
406        if ("Contributor".equals(name))
407            return new Contributor();
408        if ("oid".equals(name))
409            return new OidType();
410        if ("instant".equals(name))
411            return new InstantType();
412        if ("Money".equals(name))
413            return new Money();
414        if ("HumanName".equals(name))
415            return new HumanName();
416        if ("ContactPoint".equals(name))
417            return new ContactPoint();
418        if ("MarketingStatus".equals(name))
419            return new MarketingStatus();
420        if ("markdown".equals(name))
421            return new MarkdownType();
422        if ("Population".equals(name))
423            return new Population();
424        if ("Ratio".equals(name))
425            return new Ratio();
426        if ("Age".equals(name))
427            return new Age();
428        if ("Reference".equals(name))
429            return new Reference();
430        if ("TriggerDefinition".equals(name))
431            return new TriggerDefinition();
432        if ("SimpleQuantity".equals(name))
433            return new SimpleQuantity();
434        if ("Quantity".equals(name))
435            return new Quantity();
436        if ("uri".equals(name))
437            return new UriType();
438        if ("url".equals(name))
439            return new UrlType();
440        if ("Annotation".equals(name))
441            return new Annotation();
442        if ("Extension".equals(name))
443            return new Extension();
444        if ("ContactDetail".equals(name))
445            return new ContactDetail();
446        if ("boolean".equals(name))
447            return new BooleanType();
448        if ("Expression".equals(name))
449            return new Expression();
450        if ("Signature".equals(name))
451            return new Signature();
452        if ("unsignedInt".equals(name))
453            return new UnsignedIntType();
454        if ("time".equals(name))
455            return new TimeType();
456        else
457            throw new FHIRException("Unknown Type Name '"+name+"'");
458    }
459
460    public static Base createResourceOrType(String name) throws FHIRException {
461      switch (name.hashCode()) {
462        case 487334413: return new Account();
463        case 851278306: return new ActivityDefinition();
464        case 516961236: return new Address();
465        case -329624856: return new AdverseEvent();
466        case 65759: return new Age();
467        case 1721380104: return new AllergyIntolerance();
468        case 438421327: return new Annotation();
469        case 192873343: return new Appointment();
470        case 1733332192: return new AppointmentResponse();
471        case 29963587: return new Attachment();
472        case -632949857: return new AuditEvent();
473        case 63955982: return new Basic();
474        case 1989867553: return new Binary();
475        case -310041824: return new BiologicallyDerivedProduct();
476        case -202769967: return new BodyStructure();
477        case 2000952482: return new Bundle();
478        case -871422185: return new CapabilityStatement();
479        case 57208314: return new CarePlan();
480        case 57320750: return new CareTeam();
481        case -1007602695: return new CatalogEntry();
482        case -883723257: return new ChargeItem();
483        case -315725638: return new ChargeItemDefinition();
484        case 65189916: return new Claim();
485        case 1488475261: return new ClaimResponse();
486        case -1268501092: return new ClinicalImpression();
487        case 1076953756: return new CodeSystem();
488        case -1153521791: return new CodeableConcept();
489        case 2023747466: return new Coding();
490        case -236322890: return new Communication();
491        case -1874423303: return new CommunicationRequest();
492        case 1287805733: return new CompartmentDefinition();
493        case 828944778: return new Composition();
494        case 57185780: return new ConceptMap();
495        case 1142656251: return new Condition();
496        case -1678813190: return new Consent();
497        case 973193329: return new ContactDetail();
498        case 1428236656: return new ContactPoint();
499        case -502303438: return new Contract();
500        case -227407685: return new Contributor();
501        case 65298671: return new Count();
502        case -287122936: return new Coverage();
503        case -140860822: return new CoverageEligibilityRequest();
504        case -18784314: return new CoverageEligibilityResponse();
505        case -367870439: return new DataRequirement();
506        case 850563927: return new DetectedIssue();
507        case 2043677302: return new Device();
508        case 1083244649: return new DeviceDefinition();
509        case -949306426: return new DeviceMetric();
510        case 776138553: return new DeviceRequest();
511        case 491858238: return new DeviceUseStatement();
512        case -1122842661: return new DiagnosticReport();
513        case 353103893: return new Distance();
514        case 1922784394: return new DocumentManifest();
515        case -1202791344: return new DocumentReference();
516        case 2052815575: return new Dosage();
517        case -1927368268: return new Duration();
518        case 2012162380: return new EffectEvidenceSynthesis();
519        case -1605049009: return new ElementDefinition();
520        case -766867181: return new Encounter();
521        case 1805746613: return new Endpoint();
522        case -1377846581: return new EnrollmentRequest();
523        case 289362821: return new EnrollmentResponse();
524        case -1093178557: return new EpisodeOfCare();
525        case 1851868013: return new EventDefinition();
526        case 447611511: return new Evidence();
527        case -1162161645: return new EvidenceVariable();
528        case 1175230202: return new ExampleScenario();
529        case -1001676601: return new ExplanationOfBenefit();
530        case 198012600: return new Expression();
531        case 1391410207: return new Extension();
532        case 1260711798: return new FamilyMemberHistory();
533        case 2192268: return new Flag();
534        case 2224947: return new Goal();
535        case -180371167: return new GraphDefinition();
536        case 69076575: return new Group();
537        case 997117913: return new GuidanceResponse();
538        case 933423720: return new HealthcareService();
539        case 1592332600: return new HumanName();
540        case 375032009: return new Identifier();
541        case -650580623: return new ImagingStudy();
542        case -2004863454: return new Immunization();
543        case -1768794370: return new ImmunizationEvaluation();
544        case 1728372347: return new ImmunizationRecommendation();
545        case 1410262602: return new ImplementationGuide();
546        case -1503864573: return new InsurancePlan();
547        case -670115059: return new Invoice();
548        case 1830861979: return new Library();
549        case 1841735333: return new Linkage();
550        case 2368702: return new ListResource();
551        case 1965687765: return new Location();
552        case -926250600: return new MarketingStatus();
553        case -1691992770: return new Measure();
554        case 1681397778: return new MeasureReport();
555        case 74219460: return new Media();
556        case -302536977: return new Medication();
557        case -342579923: return new MedicationAdministration();
558        case -408244884: return new MedicationDispense();
559        case 1537687119: return new MedicationKnowledge();
560        case 1627523232: return new MedicationRequest();
561        case -2097348800: return new MedicationStatement();
562        case -1349298375: return new MedicinalProduct();
563        case -29557312: return new MedicinalProductAuthorization();
564        case -1375810986: return new MedicinalProductContraindication();
565        case -961008267: return new MedicinalProductIndication();
566        case -570248726: return new MedicinalProductIngredient();
567        case -844984039: return new MedicinalProductInteraction();
568        case 568246684: return new MedicinalProductManufactured();
569        case -500906185: return new MedicinalProductPackaged();
570        case -1034780964: return new MedicinalProductPharmaceutical();
571        case 1717675156: return new MedicinalProductUndesirableEffect();
572        case -2037697382: return new MessageDefinition();
573        case -1087398572: return new MessageHeader();
574        case 2394661: return new Meta();
575        case -1839726095: return new MolecularSequence();
576        case 74526880: return new Money();
577        case 977885515: return new MoneyQuantity();
578        case 369315063: return new NamingSystem();
579        case -540546990: return new Narrative();
580        case 1247831734: return new NutritionOrder();
581        case 1790214156: return new Observation();
582        case 673706623: return new ObservationDefinition();
583        case -2140710406: return new OperationDefinition();
584        case -526550005: return new OperationOutcome();
585        case 1343242579: return new Organization();
586        case 2069161885: return new OrganizationAffiliation();
587        case 671337916: return new ParameterDefinition();
588        case -1842766326: return new Parameters();
589        case 873235173: return new Patient();
590        case 2082457694: return new PaymentNotice();
591        case 28778089: return new PaymentReconciliation();
592        case -1907858975: return new Period();
593        case -1907849355: return new Person();
594        case 1401244028: return new PlanDefinition();
595        case -30093459: return new Population();
596        case 738893626: return new Practitioner();
597        case -621058352: return new PractitionerRole();
598        case 908763827: return new Procedure();
599        case 458000626: return new ProdCharacteristic();
600        case 1209602103: return new ProductShelfLife();
601        case 2093211201: return new Provenance();
602        case -1220360021: return new Quantity();
603        case -218088061: return new Questionnaire();
604        case 269058788: return new QuestionnaireResponse();
605        case 78727453: return new Range();
606        case 78733291: return new Ratio();
607        case 1078812459: return new Reference();
608        case -330210563: return new RelatedArtifact();
609        case 846088000: return new RelatedPerson();
610        case 1445374288: return new RequestGroup();
611        case 237996398: return new ResearchDefinition();
612        case 463703284: return new ResearchElementDefinition();
613        case 1312904398: return new ResearchStudy();
614        case -1008013583: return new ResearchSubject();
615        case -766422255: return new RiskAssessment();
616        case 1935791054: return new RiskEvidenceSynthesis();
617        case 1824308900: return new SampledData();
618        case -633276745: return new Schedule();
619        case -912457023: return new SearchParameter();
620        case -1944810950: return new ServiceRequest();
621        case -1217415016: return new Signature();
622        case -1097468803: return new SimpleQuantity();
623        case 2579998: return new Slot();
624        case -2068224216: return new Specimen();
625        case 863741595: return new SpecimenDefinition();
626        case 1133777670: return new StructureDefinition();
627        case 1958247177: return new StructureMap();
628        case 505523517: return new Subscription();
629        case -1760959152: return new Substance();
630        case 1549526472: return new SubstanceAmount();
631        case -300807236: return new SubstanceNucleicAcid();
632        case 1272939294: return new SubstancePolymer();
633        case 1361440787: return new SubstanceProtein();
634        case 159007313: return new SubstanceReferenceInformation();
635        case -222622766: return new SubstanceSourceMaterial();
636        case 1472900499: return new SubstanceSpecification();
637        case 383030819: return new SupplyDelivery();
638        case 665843328: return new SupplyRequest();
639        case 2599333: return new Task();
640        case -549565975: return new TerminologyCapabilities();
641        case -616289146: return new TestReport();
642        case -589453283: return new TestScript();
643        case -1789797270: return new Timing();
644        case 770498827: return new TriggerDefinition();
645        case 1071332590: return new UsageContext();
646        case -1345530543: return new ValueSet();
647        case 957089336: return new VerificationResult();
648        case -555387838: return new VisionPrescription();
649        case -1216012752: return new Base64BinaryType();
650        case 64711720: return new BooleanType();
651        case 828351732: return new CanonicalType();
652        case 3059181: return new CodeType();
653        case 3076014: return new DateType();
654        case 1792749467: return new DateTimeType();
655        case 1542263633: return new DecimalType();
656        case 3355: return new IdType();
657        case 1957570017: return new InstantType();
658        case 1958052158: return new IntegerType();
659        case 246938863: return new MarkdownType();
660        case 110026: return new OidType();
661        case -131262666: return new PositiveIntType();
662        case -891985903: return new StringType();
663        case 3560141: return new TimeType();
664        case 1145198778: return new UnsignedIntType();
665        case 116076: return new UriType();
666        case 116079: return new UrlType();
667        case 3601339: return new UuidType();
668      default:
669        throw new FHIRException("Unknown Resource or Type Name '"+name+"'");
670    }
671  }
672
673
674}
675