
001package org.hl7.fhir.convertors.conv10_30.resources10_30; 002 003import java.util.stream.Collectors; 004 005import org.hl7.fhir.convertors.context.ConversionContext10_30; 006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Narrative10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; 008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; 009import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 010import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; 011import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; 012import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; 013import org.hl7.fhir.dstu3.model.Composition; 014import org.hl7.fhir.dstu3.model.Enumeration; 015import org.hl7.fhir.exceptions.FHIRException; 016 017public class Composition10_30 { 018 019 public static org.hl7.fhir.dstu3.model.Composition convertComposition(org.hl7.fhir.dstu2.model.Composition src) throws FHIRException { 020 if (src == null || src.isEmpty()) 021 return null; 022 org.hl7.fhir.dstu3.model.Composition tgt = new org.hl7.fhir.dstu3.model.Composition(); 023 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 024 if (src.hasIdentifier()) 025 tgt.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier())); 026 if (src.hasDate()) 027 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 028 if (src.hasType()) 029 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 030 if (src.hasClass_()) 031 tgt.setClass_(CodeableConcept10_30.convertCodeableConcept(src.getClass_())); 032 if (src.hasTitleElement()) 033 tgt.setTitleElement(String10_30.convertString(src.getTitleElement())); 034 if (src.hasStatus()) 035 tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); 036 try { 037 if (src.hasConfidentiality()) 038 tgt.setConfidentiality(org.hl7.fhir.dstu3.model.Composition.DocumentConfidentiality.fromCode(src.getConfidentiality())); 039 } catch (org.hl7.fhir.exceptions.FHIRException e) { 040 throw new FHIRException(e); 041 } 042 if (src.hasSubject()) 043 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 044 for (org.hl7.fhir.dstu2.model.Reference t : src.getAuthor()) tgt.addAuthor(Reference10_30.convertReference(t)); 045 for (org.hl7.fhir.dstu2.model.Composition.CompositionAttesterComponent t : src.getAttester()) 046 tgt.addAttester(convertCompositionAttesterComponent(t)); 047 if (src.hasCustodian()) 048 tgt.setCustodian(Reference10_30.convertReference(src.getCustodian())); 049 for (org.hl7.fhir.dstu2.model.Composition.CompositionEventComponent t : src.getEvent()) 050 tgt.addEvent(convertCompositionEventComponent(t)); 051 if (src.hasEncounter()) 052 tgt.setEncounter(Reference10_30.convertReference(src.getEncounter())); 053 for (org.hl7.fhir.dstu2.model.Composition.SectionComponent t : src.getSection()) 054 tgt.addSection(convertSectionComponent(t)); 055 return tgt; 056 } 057 058 public static org.hl7.fhir.dstu2.model.Composition convertComposition(org.hl7.fhir.dstu3.model.Composition src) throws FHIRException { 059 if (src == null || src.isEmpty()) 060 return null; 061 org.hl7.fhir.dstu2.model.Composition tgt = new org.hl7.fhir.dstu2.model.Composition(); 062 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 063 if (src.hasIdentifier()) 064 tgt.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier())); 065 if (src.hasDate()) 066 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 067 if (src.hasType()) 068 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 069 if (src.hasClass_()) 070 tgt.setClass_(CodeableConcept10_30.convertCodeableConcept(src.getClass_())); 071 if (src.hasTitleElement()) 072 tgt.setTitleElement(String10_30.convertString(src.getTitleElement())); 073 if (src.hasStatus()) 074 tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); 075 tgt.setConfidentiality(src.getConfidentiality().toCode()); 076 if (src.hasSubject()) 077 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 078 for (org.hl7.fhir.dstu3.model.Reference t : src.getAuthor()) tgt.addAuthor(Reference10_30.convertReference(t)); 079 for (org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent t : src.getAttester()) 080 tgt.addAttester(convertCompositionAttesterComponent(t)); 081 if (src.hasCustodian()) 082 tgt.setCustodian(Reference10_30.convertReference(src.getCustodian())); 083 for (org.hl7.fhir.dstu3.model.Composition.CompositionEventComponent t : src.getEvent()) 084 tgt.addEvent(convertCompositionEventComponent(t)); 085 if (src.hasEncounter()) 086 tgt.setEncounter(Reference10_30.convertReference(src.getEncounter())); 087 for (org.hl7.fhir.dstu3.model.Composition.SectionComponent t : src.getSection()) 088 tgt.addSection(convertSectionComponent(t)); 089 return tgt; 090 } 091 092 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Composition.CompositionAttestationMode> convertCompositionAttestationMode(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode> src) throws FHIRException { 093 if (src == null || src.isEmpty()) 094 return null; 095 Enumeration<Composition.CompositionAttestationMode> tgt = new Enumeration<>(new Composition.CompositionAttestationModeEnumFactory()); 096 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 097 if (src.getValue() == null) { 098 tgt.setValue(null); 099 } else { 100 switch (src.getValue()) { 101 case PERSONAL: 102 tgt.setValue(Composition.CompositionAttestationMode.PERSONAL); 103 break; 104 case PROFESSIONAL: 105 tgt.setValue(Composition.CompositionAttestationMode.PROFESSIONAL); 106 break; 107 case LEGAL: 108 tgt.setValue(Composition.CompositionAttestationMode.LEGAL); 109 break; 110 case OFFICIAL: 111 tgt.setValue(Composition.CompositionAttestationMode.OFFICIAL); 112 break; 113 default: 114 tgt.setValue(Composition.CompositionAttestationMode.NULL); 115 break; 116 } 117 } 118 return tgt; 119 } 120 121 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode> convertCompositionAttestationMode(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Composition.CompositionAttestationMode> src) throws FHIRException { 122 if (src == null || src.isEmpty()) 123 return null; 124 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Composition.CompositionAttestationModeEnumFactory()); 125 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 126 if (src.getValue() == null) { 127 tgt.setValue(null); 128 } else { 129 switch (src.getValue()) { 130 case PERSONAL: 131 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode.PERSONAL); 132 break; 133 case PROFESSIONAL: 134 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode.PROFESSIONAL); 135 break; 136 case LEGAL: 137 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode.LEGAL); 138 break; 139 case OFFICIAL: 140 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode.OFFICIAL); 141 break; 142 default: 143 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionAttestationMode.NULL); 144 break; 145 } 146 } 147 return tgt; 148 } 149 150 public static org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent convertCompositionAttesterComponent(org.hl7.fhir.dstu2.model.Composition.CompositionAttesterComponent src) throws FHIRException { 151 if (src == null || src.isEmpty()) 152 return null; 153 org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent tgt = new org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent(); 154 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 155 tgt.setMode(src.getMode().stream() 156 .map(Composition10_30::convertCompositionAttestationMode) 157 .collect(Collectors.toList())); 158 if (src.hasTimeElement()) 159 tgt.setTimeElement(DateTime10_30.convertDateTime(src.getTimeElement())); 160 if (src.hasParty()) 161 tgt.setParty(Reference10_30.convertReference(src.getParty())); 162 return tgt; 163 } 164 165 public static org.hl7.fhir.dstu2.model.Composition.CompositionAttesterComponent convertCompositionAttesterComponent(org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent src) throws FHIRException { 166 if (src == null || src.isEmpty()) 167 return null; 168 org.hl7.fhir.dstu2.model.Composition.CompositionAttesterComponent tgt = new org.hl7.fhir.dstu2.model.Composition.CompositionAttesterComponent(); 169 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 170 tgt.setMode(src.getMode().stream() 171 .map(Composition10_30::convertCompositionAttestationMode) 172 .collect(Collectors.toList())); 173 if (src.hasTimeElement()) 174 tgt.setTimeElement(DateTime10_30.convertDateTime(src.getTimeElement())); 175 if (src.hasParty()) 176 tgt.setParty(Reference10_30.convertReference(src.getParty())); 177 return tgt; 178 } 179 180 public static org.hl7.fhir.dstu2.model.Composition.CompositionEventComponent convertCompositionEventComponent(org.hl7.fhir.dstu3.model.Composition.CompositionEventComponent src) throws FHIRException { 181 if (src == null || src.isEmpty()) 182 return null; 183 org.hl7.fhir.dstu2.model.Composition.CompositionEventComponent tgt = new org.hl7.fhir.dstu2.model.Composition.CompositionEventComponent(); 184 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 185 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getCode()) 186 tgt.addCode(CodeableConcept10_30.convertCodeableConcept(t)); 187 if (src.hasPeriod()) 188 tgt.setPeriod(Period10_30.convertPeriod(src.getPeriod())); 189 for (org.hl7.fhir.dstu3.model.Reference t : src.getDetail()) tgt.addDetail(Reference10_30.convertReference(t)); 190 return tgt; 191 } 192 193 public static org.hl7.fhir.dstu3.model.Composition.CompositionEventComponent convertCompositionEventComponent(org.hl7.fhir.dstu2.model.Composition.CompositionEventComponent src) throws FHIRException { 194 if (src == null || src.isEmpty()) 195 return null; 196 org.hl7.fhir.dstu3.model.Composition.CompositionEventComponent tgt = new org.hl7.fhir.dstu3.model.Composition.CompositionEventComponent(); 197 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 198 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getCode()) 199 tgt.addCode(CodeableConcept10_30.convertCodeableConcept(t)); 200 if (src.hasPeriod()) 201 tgt.setPeriod(Period10_30.convertPeriod(src.getPeriod())); 202 for (org.hl7.fhir.dstu2.model.Reference t : src.getDetail()) tgt.addDetail(Reference10_30.convertReference(t)); 203 return tgt; 204 } 205 206 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Composition.CompositionStatus> convertCompositionStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Composition.CompositionStatus> src) throws FHIRException { 207 if (src == null || src.isEmpty()) 208 return null; 209 Enumeration<Composition.CompositionStatus> tgt = new Enumeration<>(new Composition.CompositionStatusEnumFactory()); 210 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 211 if (src.getValue() == null) { 212 tgt.setValue(null); 213 } else { 214 switch (src.getValue()) { 215 case PRELIMINARY: 216 tgt.setValue(Composition.CompositionStatus.PRELIMINARY); 217 break; 218 case FINAL: 219 tgt.setValue(Composition.CompositionStatus.FINAL); 220 break; 221 case AMENDED: 222 tgt.setValue(Composition.CompositionStatus.AMENDED); 223 break; 224 case ENTEREDINERROR: 225 tgt.setValue(Composition.CompositionStatus.ENTEREDINERROR); 226 break; 227 default: 228 tgt.setValue(Composition.CompositionStatus.NULL); 229 break; 230 } 231 } 232 return tgt; 233 } 234 235 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Composition.CompositionStatus> convertCompositionStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Composition.CompositionStatus> src) throws FHIRException { 236 if (src == null || src.isEmpty()) 237 return null; 238 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Composition.CompositionStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Composition.CompositionStatusEnumFactory()); 239 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 240 if (src.getValue() == null) { 241 tgt.setValue(null); 242 } else { 243 switch (src.getValue()) { 244 case PRELIMINARY: 245 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionStatus.PRELIMINARY); 246 break; 247 case FINAL: 248 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionStatus.FINAL); 249 break; 250 case AMENDED: 251 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionStatus.AMENDED); 252 break; 253 case ENTEREDINERROR: 254 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionStatus.ENTEREDINERROR); 255 break; 256 default: 257 tgt.setValue(org.hl7.fhir.dstu2.model.Composition.CompositionStatus.NULL); 258 break; 259 } 260 } 261 return tgt; 262 } 263 264 public static org.hl7.fhir.dstu3.model.Composition.SectionComponent convertSectionComponent(org.hl7.fhir.dstu2.model.Composition.SectionComponent src) throws FHIRException { 265 if (src == null || src.isEmpty()) 266 return null; 267 org.hl7.fhir.dstu3.model.Composition.SectionComponent tgt = new org.hl7.fhir.dstu3.model.Composition.SectionComponent(); 268 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 269 if (src.hasTitleElement()) 270 tgt.setTitleElement(String10_30.convertString(src.getTitleElement())); 271 if (src.hasCode()) 272 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 273 if (src.hasText()) 274 tgt.setText(Narrative10_30.convertNarrative(src.getText())); 275 try { 276 if (src.hasMode()) 277 tgt.setMode(org.hl7.fhir.dstu3.model.Composition.SectionMode.fromCode(src.getMode())); 278 } catch (org.hl7.fhir.exceptions.FHIRException e) { 279 throw new FHIRException(e); 280 } 281 if (src.hasOrderedBy()) 282 tgt.setOrderedBy(CodeableConcept10_30.convertCodeableConcept(src.getOrderedBy())); 283 for (org.hl7.fhir.dstu2.model.Reference t : src.getEntry()) tgt.addEntry(Reference10_30.convertReference(t)); 284 if (src.hasEmptyReason()) 285 tgt.setEmptyReason(CodeableConcept10_30.convertCodeableConcept(src.getEmptyReason())); 286 for (org.hl7.fhir.dstu2.model.Composition.SectionComponent t : src.getSection()) 287 tgt.addSection(convertSectionComponent(t)); 288 return tgt; 289 } 290 291 public static org.hl7.fhir.dstu2.model.Composition.SectionComponent convertSectionComponent(org.hl7.fhir.dstu3.model.Composition.SectionComponent src) throws FHIRException { 292 if (src == null || src.isEmpty()) 293 return null; 294 org.hl7.fhir.dstu2.model.Composition.SectionComponent tgt = new org.hl7.fhir.dstu2.model.Composition.SectionComponent(); 295 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 296 if (src.hasTitleElement()) 297 tgt.setTitleElement(String10_30.convertString(src.getTitleElement())); 298 if (src.hasCode()) 299 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 300 if (src.hasText()) 301 tgt.setText(Narrative10_30.convertNarrative(src.getText())); 302 tgt.setMode(src.getMode().toCode()); 303 if (src.hasOrderedBy()) 304 tgt.setOrderedBy(CodeableConcept10_30.convertCodeableConcept(src.getOrderedBy())); 305 for (org.hl7.fhir.dstu3.model.Reference t : src.getEntry()) tgt.addEntry(Reference10_30.convertReference(t)); 306 if (src.hasEmptyReason()) 307 tgt.setEmptyReason(CodeableConcept10_30.convertCodeableConcept(src.getEmptyReason())); 308 for (org.hl7.fhir.dstu3.model.Composition.SectionComponent t : src.getSection()) 309 tgt.addSection(convertSectionComponent(t)); 310 return tgt; 311 } 312}