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