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