001package org.hl7.fhir.convertors.conv14_40.resources14_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext14_40; 004import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; 005import org.hl7.fhir.convertors.conv14_40.datatypes14_40.ElementDefinition14_40; 006import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; 007import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; 008import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; 009import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; 010import org.hl7.fhir.exceptions.FHIRException; 011import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; 012 013public class DataElement14_40 { 014 015 public static org.hl7.fhir.r4.model.StructureDefinition convertDataElement(org.hl7.fhir.dstu2016may.model.DataElement src) throws FHIRException { 016 if (src == null || src.isEmpty()) 017 return null; 018 org.hl7.fhir.r4.model.StructureDefinition tgt = new org.hl7.fhir.r4.model.StructureDefinition(); 019 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyDomainResource(src, tgt); 020 if (src.hasUrl()) 021 tgt.setUrlElement(Uri14_40.convertUri(src.getUrlElement())); 022 for (org.hl7.fhir.dstu2016may.model.Identifier t : src.getIdentifier()) 023 tgt.addIdentifier(Identifier14_40.convertIdentifier(t)); 024 if (src.hasVersion()) 025 tgt.setVersionElement(String14_40.convertString(src.getVersionElement())); 026 if (src.hasStatus()) 027 tgt.setStatusElement(Enumerations14_40.convertConformanceResourceStatus(src.getStatusElement())); 028 if (src.hasExperimental()) 029 tgt.setExperimentalElement(Boolean14_40.convertBoolean(src.getExperimentalElement())); 030 if (src.hasPublisher()) 031 tgt.setPublisherElement(String14_40.convertString(src.getPublisherElement())); 032 if (src.hasDate()) 033 tgt.setDateElement(DateTime14_40.convertDateTime(src.getDateElement())); 034 if (src.hasName()) 035 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 036 for (org.hl7.fhir.dstu2016may.model.DataElement.DataElementContactComponent t : src.getContact()) 037 tgt.addContact(convertDataElementContactComponent(t)); 038 for (org.hl7.fhir.dstu2016may.model.CodeableConcept t : src.getUseContext()) 039 if (VersionConvertor_14_40.isJurisdiction(t)) 040 tgt.addJurisdiction(CodeableConcept14_40.convertCodeableConcept(t)); 041 else 042 tgt.addUseContext(CodeableConcept14_40.convertCodeableConceptToUsageContext(t)); 043 if (src.hasCopyright()) 044 tgt.setCopyright(src.getCopyright()); 045 for (org.hl7.fhir.dstu2016may.model.DataElement.DataElementMappingComponent t : src.getMapping()) 046 tgt.addMapping(convertDataElementMappingComponent(t)); 047 for (org.hl7.fhir.dstu2016may.model.ElementDefinition t : src.getElement()) 048 tgt.getSnapshot().addElement(ElementDefinition14_40.convertElementDefinition(t, src.getElement(), src.getElement().indexOf(t))); 049 tgt.setKind(StructureDefinitionKind.COMPLEXTYPE); 050 tgt.setAbstract(false); 051 tgt.setType(tgt.getName()); 052 tgt.setBaseDefinition("http://hl7.org/fhir/StructureDefinition/Element"); 053 tgt.setDerivation(org.hl7.fhir.r4.model.StructureDefinition.TypeDerivationRule.SPECIALIZATION); 054 return tgt; 055 } 056 057 public static org.hl7.fhir.dstu2016may.model.DataElement.DataElementContactComponent convertDataElementContactComponent(org.hl7.fhir.r4.model.ContactDetail src) throws FHIRException { 058 if (src == null || src.isEmpty()) 059 return null; 060 org.hl7.fhir.dstu2016may.model.DataElement.DataElementContactComponent tgt = new org.hl7.fhir.dstu2016may.model.DataElement.DataElementContactComponent(); 061 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 062 if (src.hasName()) 063 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 064 for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) 065 tgt.addTelecom(ContactPoint14_40.convertContactPoint(t)); 066 return tgt; 067 } 068 069 public static org.hl7.fhir.r4.model.ContactDetail convertDataElementContactComponent(org.hl7.fhir.dstu2016may.model.DataElement.DataElementContactComponent src) throws FHIRException { 070 if (src == null || src.isEmpty()) 071 return null; 072 org.hl7.fhir.r4.model.ContactDetail tgt = new org.hl7.fhir.r4.model.ContactDetail(); 073 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 074 if (src.hasName()) 075 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 076 for (org.hl7.fhir.dstu2016may.model.ContactPoint t : src.getTelecom()) 077 tgt.addTelecom(ContactPoint14_40.convertContactPoint(t)); 078 return tgt; 079 } 080 081 public static org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionMappingComponent convertDataElementMappingComponent(org.hl7.fhir.dstu2016may.model.DataElement.DataElementMappingComponent src) throws FHIRException { 082 if (src == null || src.isEmpty()) 083 return null; 084 org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionMappingComponent tgt = new org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionMappingComponent(); 085 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 086 if (src.hasIdentityElement()) 087 tgt.setIdentityElement(Id14_40.convertId(src.getIdentityElement())); 088 if (src.hasUri()) 089 tgt.setUriElement(Uri14_40.convertUri(src.getUriElement())); 090 if (src.hasName()) 091 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 092 if (src.hasComment()) 093 tgt.setCommentElement(String14_40.convertString(src.getCommentElement())); 094 return tgt; 095 } 096}