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