
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.Reference10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_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.ContactPoint10_30; 010import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 011import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_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.String10_30; 014import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Time10_30; 015import org.hl7.fhir.dstu2.model.Enumeration; 016import org.hl7.fhir.dstu2.model.HealthcareService; 017import org.hl7.fhir.exceptions.FHIRException; 018 019public class HealthcareService10_30 { 020 021 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.HealthcareService.DaysOfWeek> convertDaysOfWeek(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek> src) throws FHIRException { 022 if (src == null || src.isEmpty()) 023 return null; 024 Enumeration<HealthcareService.DaysOfWeek> tgt = new Enumeration<>(new HealthcareService.DaysOfWeekEnumFactory()); 025 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 026 if (src.getValue() == null) { 027 tgt.setValue(null); 028 } else { 029 switch (src.getValue()) { 030 case MON: 031 tgt.setValue(HealthcareService.DaysOfWeek.MON); 032 break; 033 case TUE: 034 tgt.setValue(HealthcareService.DaysOfWeek.TUE); 035 break; 036 case WED: 037 tgt.setValue(HealthcareService.DaysOfWeek.WED); 038 break; 039 case THU: 040 tgt.setValue(HealthcareService.DaysOfWeek.THU); 041 break; 042 case FRI: 043 tgt.setValue(HealthcareService.DaysOfWeek.FRI); 044 break; 045 case SAT: 046 tgt.setValue(HealthcareService.DaysOfWeek.SAT); 047 break; 048 case SUN: 049 tgt.setValue(HealthcareService.DaysOfWeek.SUN); 050 break; 051 default: 052 tgt.setValue(HealthcareService.DaysOfWeek.NULL); 053 break; 054 } 055 } 056 return tgt; 057 } 058 059 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek> convertDaysOfWeek(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.HealthcareService.DaysOfWeek> src) throws FHIRException { 060 if (src == null || src.isEmpty()) 061 return null; 062 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeekEnumFactory()); 063 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 064 if (src.getValue() == null) { 065 tgt.setValue(null); 066 } else { 067 switch (src.getValue()) { 068 case MON: 069 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.MON); 070 break; 071 case TUE: 072 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.TUE); 073 break; 074 case WED: 075 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.WED); 076 break; 077 case THU: 078 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.THU); 079 break; 080 case FRI: 081 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.FRI); 082 break; 083 case SAT: 084 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.SAT); 085 break; 086 case SUN: 087 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.SUN); 088 break; 089 default: 090 tgt.setValue(org.hl7.fhir.dstu3.model.HealthcareService.DaysOfWeek.NULL); 091 break; 092 } 093 } 094 return tgt; 095 } 096 097 public static org.hl7.fhir.dstu2.model.HealthcareService convertHealthcareService(org.hl7.fhir.dstu3.model.HealthcareService src) throws FHIRException { 098 if (src == null || src.isEmpty()) 099 return null; 100 org.hl7.fhir.dstu2.model.HealthcareService tgt = new org.hl7.fhir.dstu2.model.HealthcareService(); 101 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 102 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 103 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 104 if (src.hasProvidedBy()) 105 tgt.setProvidedBy(Reference10_30.convertReference(src.getProvidedBy())); 106 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getSpecialty()) { 107 if (!tgt.hasServiceType()) 108 tgt.addServiceType(); 109 tgt.getServiceType().get(0).addSpecialty(CodeableConcept10_30.convertCodeableConcept(t)); 110 } 111 for (org.hl7.fhir.dstu3.model.Reference t : src.getLocation()) tgt.setLocation(Reference10_30.convertReference(t)); 112 if (src.hasCommentElement()) 113 tgt.setCommentElement(String10_30.convertString(src.getCommentElement())); 114 if (src.hasExtraDetailsElement()) 115 tgt.setExtraDetailsElement(String10_30.convertString(src.getExtraDetailsElement())); 116 if (src.hasPhoto()) 117 tgt.setPhoto(Attachment10_30.convertAttachment(src.getPhoto())); 118 for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) 119 tgt.addTelecom(ContactPoint10_30.convertContactPoint(t)); 120 for (org.hl7.fhir.dstu3.model.Reference t : src.getCoverageArea()) 121 tgt.addCoverageArea(Reference10_30.convertReference(t)); 122 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getServiceProvisionCode()) 123 tgt.addServiceProvisionCode(CodeableConcept10_30.convertCodeableConcept(t)); 124 if (src.hasEligibility()) 125 tgt.setEligibility(CodeableConcept10_30.convertCodeableConcept(src.getEligibility())); 126 if (src.hasEligibilityNoteElement()) 127 tgt.setEligibilityNoteElement(String10_30.convertString(src.getEligibilityNoteElement())); 128 for (org.hl7.fhir.dstu3.model.StringType t : src.getProgramName()) tgt.addProgramName(t.getValue()); 129 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getCharacteristic()) 130 tgt.addCharacteristic(CodeableConcept10_30.convertCodeableConcept(t)); 131 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReferralMethod()) 132 tgt.addReferralMethod(CodeableConcept10_30.convertCodeableConcept(t)); 133 if (src.hasAppointmentRequiredElement()) 134 tgt.setAppointmentRequiredElement(Boolean10_30.convertBoolean(src.getAppointmentRequiredElement())); 135 for (org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) 136 tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); 137 for (org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) 138 tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); 139 if (src.hasAvailabilityExceptionsElement()) 140 tgt.setAvailabilityExceptionsElement(String10_30.convertString(src.getAvailabilityExceptionsElement())); 141 return tgt; 142 } 143 144 public static org.hl7.fhir.dstu3.model.HealthcareService convertHealthcareService(org.hl7.fhir.dstu2.model.HealthcareService src) throws FHIRException { 145 if (src == null || src.isEmpty()) 146 return null; 147 org.hl7.fhir.dstu3.model.HealthcareService tgt = new org.hl7.fhir.dstu3.model.HealthcareService(); 148 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 149 for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier()) 150 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 151 if (src.hasProvidedBy()) 152 tgt.setProvidedBy(Reference10_30.convertReference(src.getProvidedBy())); 153 for (org.hl7.fhir.dstu2.model.HealthcareService.ServiceTypeComponent t : src.getServiceType()) { 154 for (org.hl7.fhir.dstu2.model.CodeableConcept tj : t.getSpecialty()) 155 tgt.addSpecialty(CodeableConcept10_30.convertCodeableConcept(tj)); 156 } 157 if (src.hasLocation()) 158 tgt.addLocation(Reference10_30.convertReference(src.getLocation())); 159 if (src.hasCommentElement()) 160 tgt.setCommentElement(String10_30.convertString(src.getCommentElement())); 161 if (src.hasExtraDetailsElement()) 162 tgt.setExtraDetailsElement(String10_30.convertString(src.getExtraDetailsElement())); 163 if (src.hasPhoto()) 164 tgt.setPhoto(Attachment10_30.convertAttachment(src.getPhoto())); 165 for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) 166 tgt.addTelecom(ContactPoint10_30.convertContactPoint(t)); 167 for (org.hl7.fhir.dstu2.model.Reference t : src.getCoverageArea()) 168 tgt.addCoverageArea(Reference10_30.convertReference(t)); 169 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getServiceProvisionCode()) 170 tgt.addServiceProvisionCode(CodeableConcept10_30.convertCodeableConcept(t)); 171 if (src.hasEligibility()) 172 tgt.setEligibility(CodeableConcept10_30.convertCodeableConcept(src.getEligibility())); 173 if (src.hasEligibilityNoteElement()) 174 tgt.setEligibilityNoteElement(String10_30.convertString(src.getEligibilityNoteElement())); 175 for (org.hl7.fhir.dstu2.model.StringType t : src.getProgramName()) tgt.addProgramName(t.getValue()); 176 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getCharacteristic()) 177 tgt.addCharacteristic(CodeableConcept10_30.convertCodeableConcept(t)); 178 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getReferralMethod()) 179 tgt.addReferralMethod(CodeableConcept10_30.convertCodeableConcept(t)); 180 if (src.hasAppointmentRequiredElement()) 181 tgt.setAppointmentRequiredElement(Boolean10_30.convertBoolean(src.getAppointmentRequiredElement())); 182 for (org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) 183 tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); 184 for (org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) 185 tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); 186 if (src.hasAvailabilityExceptionsElement()) 187 tgt.setAvailabilityExceptionsElement(String10_30.convertString(src.getAvailabilityExceptionsElement())); 188 return tgt; 189 } 190 191 public static org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { 192 if (src == null || src.isEmpty()) 193 return null; 194 org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); 195 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 196 tgt.setDaysOfWeek(src.getDaysOfWeek().stream() 197 .map(HealthcareService10_30::convertDaysOfWeek) 198 .collect(Collectors.toList())); 199 if (src.hasAllDayElement()) 200 tgt.setAllDayElement(Boolean10_30.convertBoolean(src.getAllDayElement())); 201 if (src.hasAvailableStartTimeElement()) 202 tgt.setAvailableStartTimeElement(Time10_30.convertTime(src.getAvailableStartTimeElement())); 203 if (src.hasAvailableEndTimeElement()) 204 tgt.setAvailableEndTimeElement(Time10_30.convertTime(src.getAvailableEndTimeElement())); 205 return tgt; 206 } 207 208 public static org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { 209 if (src == null || src.isEmpty()) 210 return null; 211 org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); 212 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 213 tgt.setDaysOfWeek(src.getDaysOfWeek().stream() 214 .map(HealthcareService10_30::convertDaysOfWeek) 215 .collect(Collectors.toList())); 216 if (src.hasAllDayElement()) 217 tgt.setAllDayElement(Boolean10_30.convertBoolean(src.getAllDayElement())); 218 if (src.hasAvailableStartTimeElement()) 219 tgt.setAvailableStartTimeElement(Time10_30.convertTime(src.getAvailableStartTimeElement())); 220 if (src.hasAvailableEndTimeElement()) 221 tgt.setAvailableEndTimeElement(Time10_30.convertTime(src.getAvailableEndTimeElement())); 222 return tgt; 223 } 224 225 public static org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { 226 if (src == null || src.isEmpty()) 227 return null; 228 org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent(); 229 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 230 if (src.hasDescriptionElement()) 231 tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement())); 232 if (src.hasDuring()) 233 tgt.setDuring(Period10_30.convertPeriod(src.getDuring())); 234 return tgt; 235 } 236 237 public static org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { 238 if (src == null || src.isEmpty()) 239 return null; 240 org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent(); 241 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 242 if (src.hasDescriptionElement()) 243 tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement())); 244 if (src.hasDuring()) 245 tgt.setDuring(Period10_30.convertPeriod(src.getDuring())); 246 return tgt; 247 } 248}