001package org.hl7.fhir.convertors.conv30_40.resources30_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ElementDefinition30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; 010import org.hl7.fhir.exceptions.FHIRException; 011 012public class DataElement30_40 { 013 014 public static org.hl7.fhir.r4.model.StructureDefinition convertDataElement(org.hl7.fhir.dstu3.model.DataElement src) throws FHIRException { 015 if (src == null) 016 return null; 017 org.hl7.fhir.r4.model.StructureDefinition tgt = new org.hl7.fhir.r4.model.StructureDefinition(); 018 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 019 if (src.hasUrl()) 020 tgt.setUrl(src.getUrl().replace("/DataElement/", "/StructureDefinition/de-")); 021 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 022 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 023 if (src.hasVersion()) 024 tgt.setVersionElement(String30_40.convertString(src.getVersionElement())); 025 if (src.hasStatus()) 026 tgt.setStatusElement(Enumerations30_40.convertPublicationStatus(src.getStatusElement())); 027 if (src.hasExperimental()) 028 tgt.setExperimentalElement(Boolean30_40.convertBoolean(src.getExperimentalElement())); 029 if (src.hasDateElement()) 030 tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement())); 031 if (src.hasPublisher()) 032 tgt.setPublisherElement(String30_40.convertString(src.getPublisherElement())); 033 if (src.hasName()) 034 tgt.setNameElement(String30_40.convertString(src.getNameElement())); 035 if (src.hasTitle()) 036 tgt.setTitleElement(String30_40.convertString(src.getTitleElement())); 037 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 038 tgt.addContact(ContactDetail30_40.convertContactDetail(t)); 039 for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext()) 040 tgt.addUseContext(Timing30_40.convertUsageContext(t)); 041 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction()) 042 tgt.addJurisdiction(CodeableConcept30_40.convertCodeableConcept(t)); 043 if (src.hasCopyright()) 044 tgt.setCopyrightElement(MarkDown30_40.convertMarkdown(src.getCopyrightElement())); 045 for (org.hl7.fhir.dstu3.model.DataElement.DataElementMappingComponent t : src.getMapping()) 046 tgt.addMapping(convertDataElementMappingComponent(t)); 047 for (org.hl7.fhir.dstu3.model.ElementDefinition t : src.getElement()) 048 tgt.getSnapshot().addElement(ElementDefinition30_40.convertElementDefinition(t)); 049 tgt.setKind(org.hl7.fhir.r4.model.StructureDefinition.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.r4.model.StructureDefinition.StructureDefinitionMappingComponent convertDataElementMappingComponent(org.hl7.fhir.dstu3.model.DataElement.DataElementMappingComponent src) throws FHIRException { 058 if (src == null) 059 return null; 060 org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionMappingComponent tgt = new org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionMappingComponent(); 061 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 062 if (src.hasIdentity()) 063 tgt.setIdentityElement(Id30_40.convertId(src.getIdentityElement())); 064 if (src.hasUri()) 065 tgt.setUriElement(Uri30_40.convertUri(src.getUriElement())); 066 if (src.hasName()) 067 tgt.setNameElement(String30_40.convertString(src.getNameElement())); 068 if (src.hasComment()) 069 tgt.setCommentElement(String30_40.convertString(src.getCommentElement())); 070 return tgt; 071 } 072}