001package org.hl7.fhir.dstu3.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 Mon, Apr 17, 2017 17:38-0400 for FHIR v3.0.1 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 ("ReferralRequest".equals(name)) 042 return new ReferralRequest(); 043 if ("Account".equals(name)) 044 return new Account(); 045 if ("DocumentManifest".equals(name)) 046 return new DocumentManifest(); 047 if ("MessageDefinition".equals(name)) 048 return new MessageDefinition(); 049 if ("Goal".equals(name)) 050 return new Goal(); 051 if ("Endpoint".equals(name)) 052 return new Endpoint(); 053 if ("EnrollmentRequest".equals(name)) 054 return new EnrollmentRequest(); 055 if ("Consent".equals(name)) 056 return new Consent(); 057 if ("CapabilityStatement".equals(name)) 058 return new CapabilityStatement(); 059 if ("Medication".equals(name)) 060 return new Medication(); 061 if ("Measure".equals(name)) 062 return new Measure(); 063 if ("ResearchSubject".equals(name)) 064 return new ResearchSubject(); 065 if ("Subscription".equals(name)) 066 return new Subscription(); 067 if ("DocumentReference".equals(name)) 068 return new DocumentReference(); 069 if ("GraphDefinition".equals(name)) 070 return new GraphDefinition(); 071 if ("ImagingManifest".equals(name)) 072 return new ImagingManifest(); 073 if ("Parameters".equals(name)) 074 return new Parameters(); 075 if ("MeasureReport".equals(name)) 076 return new MeasureReport(); 077 if ("PractitionerRole".equals(name)) 078 return new PractitionerRole(); 079 if ("RelatedPerson".equals(name)) 080 return new RelatedPerson(); 081 if ("SupplyRequest".equals(name)) 082 return new SupplyRequest(); 083 if ("Practitioner".equals(name)) 084 return new Practitioner(); 085 if ("ExpansionProfile".equals(name)) 086 return new ExpansionProfile(); 087 if ("Slot".equals(name)) 088 return new Slot(); 089 if ("Person".equals(name)) 090 return new Person(); 091 if ("Contract".equals(name)) 092 return new Contract(); 093 if ("RiskAssessment".equals(name)) 094 return new RiskAssessment(); 095 if ("Group".equals(name)) 096 return new Group(); 097 if ("PaymentNotice".equals(name)) 098 return new PaymentNotice(); 099 if ("Organization".equals(name)) 100 return new Organization(); 101 if ("CareTeam".equals(name)) 102 return new CareTeam(); 103 if ("ImplementationGuide".equals(name)) 104 return new ImplementationGuide(); 105 if ("ImagingStudy".equals(name)) 106 return new ImagingStudy(); 107 if ("DeviceComponent".equals(name)) 108 return new DeviceComponent(); 109 if ("FamilyMemberHistory".equals(name)) 110 return new FamilyMemberHistory(); 111 if ("ChargeItem".equals(name)) 112 return new ChargeItem(); 113 if ("Encounter".equals(name)) 114 return new Encounter(); 115 if ("Substance".equals(name)) 116 return new Substance(); 117 if ("SearchParameter".equals(name)) 118 return new SearchParameter(); 119 if ("ServiceDefinition".equals(name)) 120 return new ServiceDefinition(); 121 if ("Communication".equals(name)) 122 return new Communication(); 123 if ("ActivityDefinition".equals(name)) 124 return new ActivityDefinition(); 125 if ("Linkage".equals(name)) 126 return new Linkage(); 127 if ("DeviceUseStatement".equals(name)) 128 return new DeviceUseStatement(); 129 if ("RequestGroup".equals(name)) 130 return new RequestGroup(); 131 if ("DeviceRequest".equals(name)) 132 return new DeviceRequest(); 133 if ("MessageHeader".equals(name)) 134 return new MessageHeader(); 135 if ("ImmunizationRecommendation".equals(name)) 136 return new ImmunizationRecommendation(); 137 if ("BodySite".equals(name)) 138 return new BodySite(); 139 if ("Provenance".equals(name)) 140 return new Provenance(); 141 if ("Task".equals(name)) 142 return new Task(); 143 if ("Questionnaire".equals(name)) 144 return new Questionnaire(); 145 if ("ExplanationOfBenefit".equals(name)) 146 return new ExplanationOfBenefit(); 147 if ("ResearchStudy".equals(name)) 148 return new ResearchStudy(); 149 if ("Specimen".equals(name)) 150 return new Specimen(); 151 if ("AllergyIntolerance".equals(name)) 152 return new AllergyIntolerance(); 153 if ("CarePlan".equals(name)) 154 return new CarePlan(); 155 if ("StructureDefinition".equals(name)) 156 return new StructureDefinition(); 157 if ("EpisodeOfCare".equals(name)) 158 return new EpisodeOfCare(); 159 if ("OperationOutcome".equals(name)) 160 return new OperationOutcome(); 161 if ("Procedure".equals(name)) 162 return new Procedure(); 163 if ("List".equals(name)) 164 return new ListResource(); 165 if ("ConceptMap".equals(name)) 166 return new ConceptMap(); 167 if ("ValueSet".equals(name)) 168 return new ValueSet(); 169 if ("OperationDefinition".equals(name)) 170 return new OperationDefinition(); 171 if ("Immunization".equals(name)) 172 return new Immunization(); 173 if ("MedicationRequest".equals(name)) 174 return new MedicationRequest(); 175 if ("Device".equals(name)) 176 return new Device(); 177 if ("VisionPrescription".equals(name)) 178 return new VisionPrescription(); 179 if ("Media".equals(name)) 180 return new Media(); 181 if ("ProcedureRequest".equals(name)) 182 return new ProcedureRequest(); 183 if ("EligibilityResponse".equals(name)) 184 return new EligibilityResponse(); 185 if ("Sequence".equals(name)) 186 return new Sequence(); 187 if ("DeviceMetric".equals(name)) 188 return new DeviceMetric(); 189 if ("Flag".equals(name)) 190 return new Flag(); 191 if ("CodeSystem".equals(name)) 192 return new CodeSystem(); 193 if ("AppointmentResponse".equals(name)) 194 return new AppointmentResponse(); 195 if ("StructureMap".equals(name)) 196 return new StructureMap(); 197 if ("AdverseEvent".equals(name)) 198 return new AdverseEvent(); 199 if ("GuidanceResponse".equals(name)) 200 return new GuidanceResponse(); 201 if ("Observation".equals(name)) 202 return new Observation(); 203 if ("MedicationAdministration".equals(name)) 204 return new MedicationAdministration(); 205 if ("EnrollmentResponse".equals(name)) 206 return new EnrollmentResponse(); 207 if ("Binary".equals(name)) 208 return new Binary(); 209 if ("Library".equals(name)) 210 return new Library(); 211 if ("MedicationStatement".equals(name)) 212 return new MedicationStatement(); 213 if ("CommunicationRequest".equals(name)) 214 return new CommunicationRequest(); 215 if ("TestScript".equals(name)) 216 return new TestScript(); 217 if ("Basic".equals(name)) 218 return new Basic(); 219 if ("TestReport".equals(name)) 220 return new TestReport(); 221 if ("ClaimResponse".equals(name)) 222 return new ClaimResponse(); 223 if ("EligibilityRequest".equals(name)) 224 return new EligibilityRequest(); 225 if ("ProcessRequest".equals(name)) 226 return new ProcessRequest(); 227 if ("MedicationDispense".equals(name)) 228 return new MedicationDispense(); 229 if ("DiagnosticReport".equals(name)) 230 return new DiagnosticReport(); 231 if ("HealthcareService".equals(name)) 232 return new HealthcareService(); 233 if ("DataElement".equals(name)) 234 return new DataElement(); 235 if ("NutritionOrder".equals(name)) 236 return new NutritionOrder(); 237 if ("AuditEvent".equals(name)) 238 return new AuditEvent(); 239 if ("PaymentReconciliation".equals(name)) 240 return new PaymentReconciliation(); 241 if ("Condition".equals(name)) 242 return new Condition(); 243 if ("Composition".equals(name)) 244 return new Composition(); 245 if ("DetectedIssue".equals(name)) 246 return new DetectedIssue(); 247 if ("Bundle".equals(name)) 248 return new Bundle(); 249 if ("CompartmentDefinition".equals(name)) 250 return new CompartmentDefinition(); 251 if ("Patient".equals(name)) 252 return new Patient(); 253 if ("Coverage".equals(name)) 254 return new Coverage(); 255 if ("QuestionnaireResponse".equals(name)) 256 return new QuestionnaireResponse(); 257 if ("ProcessResponse".equals(name)) 258 return new ProcessResponse(); 259 if ("NamingSystem".equals(name)) 260 return new NamingSystem(); 261 if ("Schedule".equals(name)) 262 return new Schedule(); 263 if ("SupplyDelivery".equals(name)) 264 return new SupplyDelivery(); 265 if ("ClinicalImpression".equals(name)) 266 return new ClinicalImpression(); 267 if ("PlanDefinition".equals(name)) 268 return new PlanDefinition(); 269 if ("Claim".equals(name)) 270 return new Claim(); 271 if ("Location".equals(name)) 272 return new Location(); 273 else 274 throw new FHIRException("Unknown Resource Name '"+name+"'"); 275 } 276 277 public static Element createType(String name) throws FHIRException { 278 if ("date".equals(name)) 279 return new DateType(); 280 if ("Meta".equals(name)) 281 return new Meta(); 282 if ("Address".equals(name)) 283 return new Address(); 284 if ("Attachment".equals(name)) 285 return new Attachment(); 286 if ("integer".equals(name)) 287 return new IntegerType(); 288 if ("Count".equals(name)) 289 return new Count(); 290 if ("DataRequirement".equals(name)) 291 return new DataRequirement(); 292 if ("Dosage".equals(name)) 293 return new Dosage(); 294 if ("uuid".equals(name)) 295 return new UuidType(); 296 if ("Identifier".equals(name)) 297 return new Identifier(); 298 if ("Narrative".equals(name)) 299 return new Narrative(); 300 if ("Coding".equals(name)) 301 return new Coding(); 302 if ("SampledData".equals(name)) 303 return new SampledData(); 304 if ("id".equals(name)) 305 return new IdType(); 306 if ("positiveInt".equals(name)) 307 return new PositiveIntType(); 308 if ("ElementDefinition".equals(name)) 309 return new ElementDefinition(); 310 if ("Distance".equals(name)) 311 return new Distance(); 312 if ("Period".equals(name)) 313 return new Period(); 314 if ("Duration".equals(name)) 315 return new Duration(); 316 if ("Range".equals(name)) 317 return new Range(); 318 if ("RelatedArtifact".equals(name)) 319 return new RelatedArtifact(); 320 if ("base64Binary".equals(name)) 321 return new Base64BinaryType(); 322 if ("UsageContext".equals(name)) 323 return new UsageContext(); 324 if ("Timing".equals(name)) 325 return new Timing(); 326 if ("decimal".equals(name)) 327 return new DecimalType(); 328 if ("CodeableConcept".equals(name)) 329 return new CodeableConcept(); 330 if ("ParameterDefinition".equals(name)) 331 return new ParameterDefinition(); 332 if ("dateTime".equals(name)) 333 return new DateTimeType(); 334 if ("code".equals(name)) 335 return new CodeType(); 336 if ("string".equals(name)) 337 return new StringType(); 338 if ("Contributor".equals(name)) 339 return new Contributor(); 340 if ("oid".equals(name)) 341 return new OidType(); 342 if ("instant".equals(name)) 343 return new InstantType(); 344 if ("Money".equals(name)) 345 return new Money(); 346 if ("HumanName".equals(name)) 347 return new HumanName(); 348 if ("ContactPoint".equals(name)) 349 return new ContactPoint(); 350 if ("markdown".equals(name)) 351 return new MarkdownType(); 352 if ("Ratio".equals(name)) 353 return new Ratio(); 354 if ("Age".equals(name)) 355 return new Age(); 356 if ("Reference".equals(name)) 357 return new Reference(); 358 if ("TriggerDefinition".equals(name)) 359 return new TriggerDefinition(); 360 if ("SimpleQuantity".equals(name)) 361 return new SimpleQuantity(); 362 if ("Quantity".equals(name)) 363 return new Quantity(); 364 if ("uri".equals(name)) 365 return new UriType(); 366 if ("Annotation".equals(name)) 367 return new Annotation(); 368 if ("Extension".equals(name)) 369 return new Extension(); 370 if ("ContactDetail".equals(name)) 371 return new ContactDetail(); 372 if ("boolean".equals(name)) 373 return new BooleanType(); 374 if ("Signature".equals(name)) 375 return new Signature(); 376 if ("unsignedInt".equals(name)) 377 return new UnsignedIntType(); 378 if ("time".equals(name)) 379 return new TimeType(); 380 else 381 throw new FHIRException("Unknown Type Name '"+name+"'"); 382 } 383 384 public static Base createResourceOrType(String name) throws FHIRException { 385 switch (name.hashCode()) { 386 case 487334413: return new Account(); 387 case 851278306: return new ActivityDefinition(); 388 case 516961236: return new Address(); 389 case -329624856: return new AdverseEvent(); 390 case 65759: return new Age(); 391 case 1721380104: return new AllergyIntolerance(); 392 case 438421327: return new Annotation(); 393 case 192873343: return new Appointment(); 394 case 1733332192: return new AppointmentResponse(); 395 case 29963587: return new Attachment(); 396 case -632949857: return new AuditEvent(); 397 case 63955982: return new Basic(); 398 case 1989867553: return new Binary(); 399 case 1767264297: return new BodySite(); 400 case 2000952482: return new Bundle(); 401 case -871422185: return new CapabilityStatement(); 402 case 57208314: return new CarePlan(); 403 case 57320750: return new CareTeam(); 404 case -883723257: return new ChargeItem(); 405 case 65189916: return new Claim(); 406 case 1488475261: return new ClaimResponse(); 407 case -1268501092: return new ClinicalImpression(); 408 case 1076953756: return new CodeSystem(); 409 case -1153521791: return new CodeableConcept(); 410 case 2023747466: return new Coding(); 411 case -236322890: return new Communication(); 412 case -1874423303: return new CommunicationRequest(); 413 case 1287805733: return new CompartmentDefinition(); 414 case 828944778: return new Composition(); 415 case 57185780: return new ConceptMap(); 416 case 1142656251: return new Condition(); 417 case -1678813190: return new Consent(); 418 case 973193329: return new ContactDetail(); 419 case 1428236656: return new ContactPoint(); 420 case -502303438: return new Contract(); 421 case -227407685: return new Contributor(); 422 case 65298671: return new Count(); 423 case -287122936: return new Coverage(); 424 case -1476174894: return new DataElement(); 425 case -367870439: return new DataRequirement(); 426 case 850563927: return new DetectedIssue(); 427 case 2043677302: return new Device(); 428 case 745969447: return new DeviceComponent(); 429 case -949306426: return new DeviceMetric(); 430 case 776138553: return new DeviceRequest(); 431 case 491858238: return new DeviceUseStatement(); 432 case -1122842661: return new DiagnosticReport(); 433 case 353103893: return new Distance(); 434 case 1922784394: return new DocumentManifest(); 435 case -1202791344: return new DocumentReference(); 436 case 2052815575: return new Dosage(); 437 case -1927368268: return new Duration(); 438 case -1605049009: return new ElementDefinition(); 439 case -1197000094: return new EligibilityRequest(); 440 case 1600636622: return new EligibilityResponse(); 441 case -766867181: return new Encounter(); 442 case 1805746613: return new Endpoint(); 443 case -1377846581: return new EnrollmentRequest(); 444 case 289362821: return new EnrollmentResponse(); 445 case -1093178557: return new EpisodeOfCare(); 446 case -1136815094: return new ExpansionProfile(); 447 case -1001676601: return new ExplanationOfBenefit(); 448 case 1391410207: return new Extension(); 449 case 1260711798: return new FamilyMemberHistory(); 450 case 2192268: return new Flag(); 451 case 2224947: return new Goal(); 452 case -180371167: return new GraphDefinition(); 453 case 69076575: return new Group(); 454 case 997117913: return new GuidanceResponse(); 455 case 933423720: return new HealthcareService(); 456 case 1592332600: return new HumanName(); 457 case 375032009: return new Identifier(); 458 case -5812857: return new ImagingManifest(); 459 case -650580623: return new ImagingStudy(); 460 case -2004863454: return new Immunization(); 461 case 1728372347: return new ImmunizationRecommendation(); 462 case 1410262602: return new ImplementationGuide(); 463 case 1830861979: return new Library(); 464 case 1841735333: return new Linkage(); 465 case 2368702: return new ListResource(); 466 case 1965687765: return new Location(); 467 case -1691992770: return new Measure(); 468 case 1681397778: return new MeasureReport(); 469 case 74219460: return new Media(); 470 case -302536977: return new Medication(); 471 case -342579923: return new MedicationAdministration(); 472 case -408244884: return new MedicationDispense(); 473 case 1627523232: return new MedicationRequest(); 474 case -2097348800: return new MedicationStatement(); 475 case -2037697382: return new MessageDefinition(); 476 case -1087398572: return new MessageHeader(); 477 case 2394661: return new Meta(); 478 case 74526880: return new Money(); 479 case 369315063: return new NamingSystem(); 480 case -540546990: return new Narrative(); 481 case 1247831734: return new NutritionOrder(); 482 case 1790214156: return new Observation(); 483 case -2140710406: return new OperationDefinition(); 484 case -526550005: return new OperationOutcome(); 485 case 1343242579: return new Organization(); 486 case 671337916: return new ParameterDefinition(); 487 case -1842766326: return new Parameters(); 488 case 873235173: return new Patient(); 489 case 2082457694: return new PaymentNotice(); 490 case 28778089: return new PaymentReconciliation(); 491 case -1907858975: return new Period(); 492 case -1907849355: return new Person(); 493 case 1401244028: return new PlanDefinition(); 494 case 738893626: return new Practitioner(); 495 case -621058352: return new PractitionerRole(); 496 case 908763827: return new Procedure(); 497 case 737478748: return new ProcedureRequest(); 498 case 8777024: return new ProcessRequest(); 499 case 325021616: return new ProcessResponse(); 500 case 2093211201: return new Provenance(); 501 case -1220360021: return new Quantity(); 502 case -218088061: return new Questionnaire(); 503 case 269058788: return new QuestionnaireResponse(); 504 case 78727453: return new Range(); 505 case 78733291: return new Ratio(); 506 case 1078812459: return new Reference(); 507 case -1307317230: return new ReferralRequest(); 508 case -330210563: return new RelatedArtifact(); 509 case 846088000: return new RelatedPerson(); 510 case 1445374288: return new RequestGroup(); 511 case 1312904398: return new ResearchStudy(); 512 case -1008013583: return new ResearchSubject(); 513 case -766422255: return new RiskAssessment(); 514 case 1824308900: return new SampledData(); 515 case -633276745: return new Schedule(); 516 case -912457023: return new SearchParameter(); 517 case 1414192097: return new Sequence(); 518 case 194378184: return new ServiceDefinition(); 519 case -1217415016: return new Signature(); 520 case -1097468803: return new SimpleQuantity(); 521 case 2579998: return new Slot(); 522 case -2068224216: return new Specimen(); 523 case 1133777670: return new StructureDefinition(); 524 case 1958247177: return new StructureMap(); 525 case 505523517: return new Subscription(); 526 case -1760959152: return new Substance(); 527 case 383030819: return new SupplyDelivery(); 528 case 665843328: return new SupplyRequest(); 529 case 2599333: return new Task(); 530 case -616289146: return new TestReport(); 531 case -589453283: return new TestScript(); 532 case -1789797270: return new Timing(); 533 case 770498827: return new TriggerDefinition(); 534 case 1071332590: return new UsageContext(); 535 case -1345530543: return new ValueSet(); 536 case -555387838: return new VisionPrescription(); 537 case -1216012752: return new Base64BinaryType(); 538 case 64711720: return new BooleanType(); 539 case 3059181: return new CodeType(); 540 case 3076014: return new DateType(); 541 case 1792749467: return new DateTimeType(); 542 case 1542263633: return new DecimalType(); 543 case 3355: return new IdType(); 544 case 1957570017: return new InstantType(); 545 case 1958052158: return new IntegerType(); 546 case 246938863: return new MarkdownType(); 547 case 110026: return new OidType(); 548 case -131262666: return new PositiveIntType(); 549 case -891985903: return new StringType(); 550 case 3560141: return new TimeType(); 551 case 1145198778: return new UnsignedIntType(); 552 case 116076: return new UriType(); 553 case 3601339: return new UuidType(); 554 default: 555 throw new FHIRException("Unknown Resource or Type Name '"+name+"'"); 556 } 557 } 558 559 560} 561