001package org.hl7.fhir.convertors.conv30_40.resources30_40; 002 003import java.util.stream.Collectors; 004 005import org.hl7.fhir.convertors.context.ConversionContext30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; 011import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; 012import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 013import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Time30_40; 014import org.hl7.fhir.exceptions.FHIRException; 015 016public class PractitionerRole30_40 { 017 018 public static org.hl7.fhir.r4.model.PractitionerRole convertPractitionerRole(org.hl7.fhir.dstu3.model.PractitionerRole src) throws FHIRException { 019 if (src == null) 020 return null; 021 org.hl7.fhir.r4.model.PractitionerRole tgt = new org.hl7.fhir.r4.model.PractitionerRole(); 022 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 023 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 024 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 025 if (src.hasActive()) 026 tgt.setActiveElement(Boolean30_40.convertBoolean(src.getActiveElement())); 027 if (src.hasPeriod()) 028 tgt.setPeriod(Period30_40.convertPeriod(src.getPeriod())); 029 if (src.hasPractitioner()) 030 tgt.setPractitioner(Reference30_40.convertReference(src.getPractitioner())); 031 if (src.hasOrganization()) 032 tgt.setOrganization(Reference30_40.convertReference(src.getOrganization())); 033 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getCode()) 034 tgt.addCode(CodeableConcept30_40.convertCodeableConcept(t)); 035 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getSpecialty()) 036 tgt.addSpecialty(CodeableConcept30_40.convertCodeableConcept(t)); 037 for (org.hl7.fhir.dstu3.model.Reference t : src.getLocation()) tgt.addLocation(Reference30_40.convertReference(t)); 038 for (org.hl7.fhir.dstu3.model.Reference t : src.getHealthcareService()) 039 tgt.addHealthcareService(Reference30_40.convertReference(t)); 040 for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) 041 tgt.addTelecom(ContactPoint30_40.convertContactPoint(t)); 042 for (org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) 043 tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); 044 for (org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) 045 tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); 046 if (src.hasAvailabilityExceptions()) 047 tgt.setAvailabilityExceptionsElement(String30_40.convertString(src.getAvailabilityExceptionsElement())); 048 for (org.hl7.fhir.dstu3.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference30_40.convertReference(t)); 049 return tgt; 050 } 051 052 public static org.hl7.fhir.dstu3.model.PractitionerRole convertPractitionerRole(org.hl7.fhir.r4.model.PractitionerRole src) throws FHIRException { 053 if (src == null) 054 return null; 055 org.hl7.fhir.dstu3.model.PractitionerRole tgt = new org.hl7.fhir.dstu3.model.PractitionerRole(); 056 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 057 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 058 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 059 if (src.hasActive()) 060 tgt.setActiveElement(Boolean30_40.convertBoolean(src.getActiveElement())); 061 if (src.hasPeriod()) 062 tgt.setPeriod(Period30_40.convertPeriod(src.getPeriod())); 063 if (src.hasPractitioner()) 064 tgt.setPractitioner(Reference30_40.convertReference(src.getPractitioner())); 065 if (src.hasOrganization()) 066 tgt.setOrganization(Reference30_40.convertReference(src.getOrganization())); 067 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCode()) 068 tgt.addCode(CodeableConcept30_40.convertCodeableConcept(t)); 069 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSpecialty()) 070 tgt.addSpecialty(CodeableConcept30_40.convertCodeableConcept(t)); 071 for (org.hl7.fhir.r4.model.Reference t : src.getLocation()) tgt.addLocation(Reference30_40.convertReference(t)); 072 for (org.hl7.fhir.r4.model.Reference t : src.getHealthcareService()) 073 tgt.addHealthcareService(Reference30_40.convertReference(t)); 074 for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) 075 tgt.addTelecom(ContactPoint30_40.convertContactPoint(t)); 076 for (org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) 077 tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); 078 for (org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) 079 tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); 080 if (src.hasAvailabilityExceptions()) 081 tgt.setAvailabilityExceptionsElement(String30_40.convertString(src.getAvailabilityExceptionsElement())); 082 for (org.hl7.fhir.r4.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference30_40.convertReference(t)); 083 return tgt; 084 } 085 086 public static org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { 087 if (src == null) 088 return null; 089 org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); 090 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 091 tgt.setDaysOfWeek(src.getDaysOfWeek().stream() 092 .map(PractitionerRole30_40::convertDaysOfWeek) 093 .collect(Collectors.toList())); 094 if (src.hasAllDay()) 095 tgt.setAllDayElement(Boolean30_40.convertBoolean(src.getAllDayElement())); 096 if (src.hasAvailableStartTime()) 097 tgt.setAvailableStartTimeElement(Time30_40.convertTime(src.getAvailableStartTimeElement())); 098 if (src.hasAvailableEndTime()) 099 tgt.setAvailableEndTimeElement(Time30_40.convertTime(src.getAvailableEndTimeElement())); 100 return tgt; 101 } 102 103 public static org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { 104 if (src == null) 105 return null; 106 org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); 107 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 108 tgt.setDaysOfWeek(src.getDaysOfWeek().stream() 109 .map(PractitionerRole30_40::convertDaysOfWeek) 110 .collect(Collectors.toList())); 111 if (src.hasAllDay()) 112 tgt.setAllDayElement(Boolean30_40.convertBoolean(src.getAllDayElement())); 113 if (src.hasAvailableStartTime()) 114 tgt.setAvailableStartTimeElement(Time30_40.convertTime(src.getAvailableStartTimeElement())); 115 if (src.hasAvailableEndTime()) 116 tgt.setAvailableEndTimeElement(Time30_40.convertTime(src.getAvailableEndTimeElement())); 117 return tgt; 118 } 119 120 public static org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { 121 if (src == null) 122 return null; 123 org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); 124 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 125 if (src.hasDescription()) 126 tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement())); 127 if (src.hasDuring()) 128 tgt.setDuring(Period30_40.convertPeriod(src.getDuring())); 129 return tgt; 130 } 131 132 public static org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { 133 if (src == null) 134 return null; 135 org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); 136 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 137 if (src.hasDescription()) 138 tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement())); 139 if (src.hasDuring()) 140 tgt.setDuring(Period30_40.convertPeriod(src.getDuring())); 141 return tgt; 142 } 143 144 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek> convertDaysOfWeek(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek> src) throws FHIRException { 145 if (src == null || src.isEmpty()) return null; 146 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeekEnumFactory()); 147 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 148 if (src.getValue() == null) { 149 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.NULL); 150 } else { 151 switch (src.getValue()) { 152 case MON: 153 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.MON); 154 break; 155 case TUE: 156 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.TUE); 157 break; 158 case WED: 159 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.WED); 160 break; 161 case THU: 162 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.THU); 163 break; 164 case FRI: 165 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.FRI); 166 break; 167 case SAT: 168 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.SAT); 169 break; 170 case SUN: 171 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.SUN); 172 break; 173 default: 174 tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.NULL); 175 break; 176 } 177 } 178 return tgt; 179 } 180 181 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek> convertDaysOfWeek(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek> src) throws FHIRException { 182 if (src == null || src.isEmpty()) return null; 183 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeekEnumFactory()); 184 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 185 if (src.getValue() == null) { 186 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.NULL); 187 } else { 188 switch (src.getValue()) { 189 case MON: 190 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.MON); 191 break; 192 case TUE: 193 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.TUE); 194 break; 195 case WED: 196 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.WED); 197 break; 198 case THU: 199 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.THU); 200 break; 201 case FRI: 202 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.FRI); 203 break; 204 case SAT: 205 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.SAT); 206 break; 207 case SUN: 208 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.SUN); 209 break; 210 default: 211 tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.NULL); 212 break; 213 } 214 } 215 return tgt; 216 } 217}