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