
001package org.hl7.fhir.convertors.conv10_30.resources10_30; 002 003import java.util.ArrayList; 004import java.util.List; 005 006import org.hl7.fhir.convertors.context.ConversionContext10_30; 007import org.hl7.fhir.convertors.conv10_30.VersionConvertor_10_30; 008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.ElementDefinition10_30; 009import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; 010import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; 011import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 012import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; 013import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; 014import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; 015import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; 016import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; 017import org.hl7.fhir.dstu2.model.DataElement; 018import org.hl7.fhir.dstu2.model.Enumeration; 019import org.hl7.fhir.exceptions.FHIRException; 020 021public class DataElement10_30 { 022 023 public static org.hl7.fhir.dstu2.model.DataElement convertDataElement(org.hl7.fhir.dstu3.model.DataElement src) throws FHIRException { 024 if (src == null || src.isEmpty()) 025 return null; 026 org.hl7.fhir.dstu2.model.DataElement tgt = new org.hl7.fhir.dstu2.model.DataElement(); 027 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 028 if (src.hasUrlElement()) 029 tgt.setUrlElement(Uri10_30.convertUri(src.getUrlElement())); 030 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 031 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 032 if (src.hasVersionElement()) 033 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 034 if (src.hasStatus()) 035 tgt.setStatusElement(Enumerations10_30.convertConformanceResourceStatus(src.getStatusElement())); 036 if (src.hasExperimental()) 037 tgt.setExperimentalElement(Boolean10_30.convertBoolean(src.getExperimentalElement())); 038 if (src.hasPublisherElement()) 039 tgt.setPublisherElement(String10_30.convertString(src.getPublisherElement())); 040 if (src.hasDate()) 041 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 042 if (src.hasNameElement()) 043 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 044 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 045 tgt.addContact(convertDataElementContactComponent(t)); 046 for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext()) 047 if (t.hasValueCodeableConcept()) 048 tgt.addUseContext(CodeableConcept10_30.convertCodeableConcept(t.getValueCodeableConcept())); 049 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction()) 050 tgt.addUseContext(CodeableConcept10_30.convertCodeableConcept(t)); 051 if (src.hasCopyright()) 052 tgt.setCopyright(src.getCopyright()); 053 if (src.hasStringency()) 054 tgt.setStringencyElement(convertDataElementStringency(src.getStringencyElement())); 055 for (org.hl7.fhir.dstu3.model.DataElement.DataElementMappingComponent t : src.getMapping()) 056 tgt.addMapping(convertDataElementMappingComponent(t)); 057 for (org.hl7.fhir.dstu3.model.ElementDefinition t : src.getElement()) 058 tgt.addElement(ElementDefinition10_30.convertElementDefinition(t)); 059 return tgt; 060 } 061 062 public static org.hl7.fhir.dstu3.model.DataElement convertDataElement(org.hl7.fhir.dstu2.model.DataElement src) throws FHIRException { 063 if (src == null || src.isEmpty()) 064 return null; 065 org.hl7.fhir.dstu3.model.DataElement tgt = new org.hl7.fhir.dstu3.model.DataElement(); 066 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 067 if (src.hasUrlElement()) 068 tgt.setUrlElement(Uri10_30.convertUri(src.getUrlElement())); 069 for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier()) 070 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 071 if (src.hasVersionElement()) 072 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 073 if (src.hasStatus()) 074 tgt.setStatusElement(Enumerations10_30.convertConformanceResourceStatus(src.getStatusElement())); 075 if (src.hasExperimental()) 076 tgt.setExperimentalElement(Boolean10_30.convertBoolean(src.getExperimentalElement())); 077 if (src.hasPublisherElement()) 078 tgt.setPublisherElement(String10_30.convertString(src.getPublisherElement())); 079 if (src.hasDate()) 080 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 081 if (src.hasNameElement()) 082 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 083 for (org.hl7.fhir.dstu2.model.DataElement.DataElementContactComponent t : src.getContact()) 084 tgt.addContact(convertDataElementContactComponent(t)); 085 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getUseContext()) 086 if (VersionConvertor_10_30.isJurisdiction(t)) 087 tgt.addJurisdiction(CodeableConcept10_30.convertCodeableConcept(t)); 088 else 089 tgt.addUseContext(CodeableConcept10_30.convertCodeableConceptToUsageContext(t)); 090 if (src.hasCopyright()) 091 tgt.setCopyright(src.getCopyright()); 092 if (src.hasStringency()) 093 tgt.setStringencyElement(convertDataElementStringency(src.getStringencyElement())); 094 for (org.hl7.fhir.dstu2.model.DataElement.DataElementMappingComponent t : src.getMapping()) 095 tgt.addMapping(convertDataElementMappingComponent(t)); 096 List<String> slicePaths = new ArrayList<String>(); 097 for (org.hl7.fhir.dstu2.model.ElementDefinition t : src.getElement()) { 098 if (t.hasSlicing()) 099 slicePaths.add(t.getPath()); 100 tgt.addElement(ElementDefinition10_30.convertElementDefinition(t, slicePaths)); 101 } 102 return tgt; 103 } 104 105 public static org.hl7.fhir.dstu3.model.ContactDetail convertDataElementContactComponent(org.hl7.fhir.dstu2.model.DataElement.DataElementContactComponent src) throws FHIRException { 106 if (src == null || src.isEmpty()) 107 return null; 108 org.hl7.fhir.dstu3.model.ContactDetail tgt = new org.hl7.fhir.dstu3.model.ContactDetail(); 109 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 110 if (src.hasNameElement()) 111 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 112 for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) 113 tgt.addTelecom(ContactPoint10_30.convertContactPoint(t)); 114 return tgt; 115 } 116 117 public static org.hl7.fhir.dstu2.model.DataElement.DataElementContactComponent convertDataElementContactComponent(org.hl7.fhir.dstu3.model.ContactDetail src) throws FHIRException { 118 if (src == null || src.isEmpty()) 119 return null; 120 org.hl7.fhir.dstu2.model.DataElement.DataElementContactComponent tgt = new org.hl7.fhir.dstu2.model.DataElement.DataElementContactComponent(); 121 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 122 if (src.hasNameElement()) 123 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 124 for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) 125 tgt.addTelecom(ContactPoint10_30.convertContactPoint(t)); 126 return tgt; 127 } 128 129 public static org.hl7.fhir.dstu3.model.DataElement.DataElementMappingComponent convertDataElementMappingComponent(org.hl7.fhir.dstu2.model.DataElement.DataElementMappingComponent src) throws FHIRException { 130 if (src == null || src.isEmpty()) 131 return null; 132 org.hl7.fhir.dstu3.model.DataElement.DataElementMappingComponent tgt = new org.hl7.fhir.dstu3.model.DataElement.DataElementMappingComponent(); 133 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 134 if (src.hasIdentityElement()) 135 tgt.setIdentityElement(Id10_30.convertId(src.getIdentityElement())); 136 if (src.hasUriElement()) 137 tgt.setUriElement(Uri10_30.convertUri(src.getUriElement())); 138 if (src.hasNameElement()) 139 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 140 if (src.hasCommentsElement()) 141 tgt.setCommentElement(String10_30.convertString(src.getCommentsElement())); 142 return tgt; 143 } 144 145 public static org.hl7.fhir.dstu2.model.DataElement.DataElementMappingComponent convertDataElementMappingComponent(org.hl7.fhir.dstu3.model.DataElement.DataElementMappingComponent src) throws FHIRException { 146 if (src == null || src.isEmpty()) 147 return null; 148 org.hl7.fhir.dstu2.model.DataElement.DataElementMappingComponent tgt = new org.hl7.fhir.dstu2.model.DataElement.DataElementMappingComponent(); 149 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 150 if (src.hasIdentityElement()) 151 tgt.setIdentityElement(Id10_30.convertId(src.getIdentityElement())); 152 if (src.hasUriElement()) 153 tgt.setUriElement(Uri10_30.convertUri(src.getUriElement())); 154 if (src.hasNameElement()) 155 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 156 if (src.hasCommentElement()) 157 tgt.setCommentsElement(String10_30.convertString(src.getCommentElement())); 158 return tgt; 159 } 160 161 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DataElement.DataElementStringency> convertDataElementStringency(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DataElement.DataElementStringency> src) throws FHIRException { 162 if (src == null || src.isEmpty()) 163 return null; 164 Enumeration<DataElement.DataElementStringency> tgt = new Enumeration<>(new DataElement.DataElementStringencyEnumFactory()); 165 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 166 if (src.getValue() == null) { 167 tgt.setValue(null); 168 } else { 169 switch (src.getValue()) { 170 case COMPARABLE: 171 tgt.setValue(DataElement.DataElementStringency.COMPARABLE); 172 break; 173 case FULLYSPECIFIED: 174 tgt.setValue(DataElement.DataElementStringency.FULLYSPECIFIED); 175 break; 176 case EQUIVALENT: 177 tgt.setValue(DataElement.DataElementStringency.EQUIVALENT); 178 break; 179 case CONVERTABLE: 180 tgt.setValue(DataElement.DataElementStringency.CONVERTABLE); 181 break; 182 case SCALEABLE: 183 tgt.setValue(DataElement.DataElementStringency.SCALEABLE); 184 break; 185 case FLEXIBLE: 186 tgt.setValue(DataElement.DataElementStringency.FLEXIBLE); 187 break; 188 default: 189 tgt.setValue(DataElement.DataElementStringency.NULL); 190 break; 191 } 192 } 193 return tgt; 194 } 195 196 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DataElement.DataElementStringency> convertDataElementStringency(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DataElement.DataElementStringency> src) throws FHIRException { 197 if (src == null || src.isEmpty()) 198 return null; 199 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DataElement.DataElementStringency> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.DataElement.DataElementStringencyEnumFactory()); 200 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 201 if (src.getValue() == null) { 202 tgt.setValue(null); 203 } else { 204 switch (src.getValue()) { 205 case COMPARABLE: 206 tgt.setValue(org.hl7.fhir.dstu3.model.DataElement.DataElementStringency.COMPARABLE); 207 break; 208 case FULLYSPECIFIED: 209 tgt.setValue(org.hl7.fhir.dstu3.model.DataElement.DataElementStringency.FULLYSPECIFIED); 210 break; 211 case EQUIVALENT: 212 tgt.setValue(org.hl7.fhir.dstu3.model.DataElement.DataElementStringency.EQUIVALENT); 213 break; 214 case CONVERTABLE: 215 tgt.setValue(org.hl7.fhir.dstu3.model.DataElement.DataElementStringency.CONVERTABLE); 216 break; 217 case SCALEABLE: 218 tgt.setValue(org.hl7.fhir.dstu3.model.DataElement.DataElementStringency.SCALEABLE); 219 break; 220 case FLEXIBLE: 221 tgt.setValue(org.hl7.fhir.dstu3.model.DataElement.DataElementStringency.FLEXIBLE); 222 break; 223 default: 224 tgt.setValue(org.hl7.fhir.dstu3.model.DataElement.DataElementStringency.NULL); 225 break; 226 } 227 } 228 return tgt; 229 } 230}