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