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