
001package org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50; 002 003import java.util.Collections; 004 005import org.hl7.fhir.convertors.context.ConversionContext10_50; 006import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Decimal10_50; 007import org.hl7.fhir.exceptions.FHIRException; 008import org.hl7.fhir.r5.model.Timing; 009 010public class Timing10_50 { 011 public static org.hl7.fhir.r5.model.Timing convertTiming(org.hl7.fhir.dstu2.model.Timing src) throws FHIRException { 012 if (src == null || src.isEmpty()) return null; 013 org.hl7.fhir.r5.model.Timing tgt = new org.hl7.fhir.r5.model.Timing(); 014 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 015 for (org.hl7.fhir.dstu2.model.DateTimeType t : src.getEvent()) tgt.addEvent(t.getValue()); 016 if (src.hasRepeat()) tgt.setRepeat(convertTimingRepeatComponent(src.getRepeat())); 017 if (src.hasCode()) tgt.setCode(CodeableConcept10_50.convertCodeableConcept(src.getCode())); 018 return tgt; 019 } 020 021 public static org.hl7.fhir.dstu2.model.Timing convertTiming(org.hl7.fhir.r5.model.Timing src) throws FHIRException { 022 if (src == null || src.isEmpty()) return null; 023 org.hl7.fhir.dstu2.model.Timing tgt = new org.hl7.fhir.dstu2.model.Timing(); 024 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 025 for (org.hl7.fhir.r5.model.DateTimeType t : src.getEvent()) tgt.addEvent(t.getValue()); 026 if (src.hasRepeat()) tgt.setRepeat(convertTimingRepeatComponent(src.getRepeat())); 027 if (src.hasCode()) tgt.setCode(CodeableConcept10_50.convertCodeableConcept(src.getCode())); 028 return tgt; 029 } 030 031 public static org.hl7.fhir.r5.model.Timing.TimingRepeatComponent convertTimingRepeatComponent(org.hl7.fhir.dstu2.model.Timing.TimingRepeatComponent src) throws FHIRException { 032 if (src == null || src.isEmpty()) return null; 033 org.hl7.fhir.r5.model.Timing.TimingRepeatComponent tgt = new org.hl7.fhir.r5.model.Timing.TimingRepeatComponent(); 034 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 035 if (src.hasBounds()) 036 tgt.setBounds(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getBounds())); 037 if (src.hasCount()) tgt.setCount(src.getCount()); 038 if (src.hasDurationElement()) tgt.setDurationElement(Decimal10_50.convertDecimal(src.getDurationElement())); 039 if (src.hasDurationMaxElement()) 040 tgt.setDurationMaxElement(Decimal10_50.convertDecimal(src.getDurationMaxElement())); 041 if (src.hasDurationUnits()) tgt.setDurationUnitElement(convertUnitsOfTime(src.getDurationUnitsElement())); 042 if (src.hasFrequency()) tgt.setFrequency(src.getFrequency()); 043 if (src.hasFrequencyMax()) tgt.setFrequencyMax(src.getFrequencyMax()); 044 if (src.hasPeriodElement()) tgt.setPeriodElement(Decimal10_50.convertDecimal(src.getPeriodElement())); 045 if (src.hasPeriodMaxElement()) tgt.setPeriodMaxElement(Decimal10_50.convertDecimal(src.getPeriodMaxElement())); 046 if (src.hasPeriodUnits()) tgt.setPeriodUnitElement(convertUnitsOfTime(src.getPeriodUnitsElement())); 047 if (src.hasWhen()) tgt.setWhen(Collections.singletonList(convertEventTiming(src.getWhenElement()))); 048 return tgt; 049 } 050 051 public static org.hl7.fhir.dstu2.model.Timing.TimingRepeatComponent convertTimingRepeatComponent(org.hl7.fhir.r5.model.Timing.TimingRepeatComponent src) throws FHIRException { 052 if (src == null || src.isEmpty()) return null; 053 org.hl7.fhir.dstu2.model.Timing.TimingRepeatComponent tgt = new org.hl7.fhir.dstu2.model.Timing.TimingRepeatComponent(); 054 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 055 if (src.hasBounds()) 056 tgt.setBounds(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getBounds())); 057 if (src.hasCount()) tgt.setCount(src.getCount()); 058 if (src.hasDurationElement()) tgt.setDurationElement(Decimal10_50.convertDecimal(src.getDurationElement())); 059 if (src.hasDurationMaxElement()) 060 tgt.setDurationMaxElement(Decimal10_50.convertDecimal(src.getDurationMaxElement())); 061 if (src.hasDurationUnit()) tgt.setDurationUnitsElement(convertUnitsOfTime(src.getDurationUnitElement())); 062 if (src.hasFrequency()) tgt.setFrequency(src.getFrequency()); 063 if (src.hasFrequencyMax()) tgt.setFrequencyMax(src.getFrequencyMax()); 064 if (src.hasPeriodElement()) tgt.setPeriodElement(Decimal10_50.convertDecimal(src.getPeriodElement())); 065 if (src.hasPeriodMaxElement()) tgt.setPeriodMaxElement(Decimal10_50.convertDecimal(src.getPeriodMaxElement())); 066 if (src.hasPeriodUnit()) tgt.setPeriodUnitsElement(convertUnitsOfTime(src.getPeriodUnitElement())); 067 if (src.hasWhen()) tgt.setWhenElement(convertEventTiming(src.getWhen().get(0))); 068 return tgt; 069 } 070 071 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Timing.UnitsOfTime> convertUnitsOfTime(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Timing.UnitsOfTime> src) throws FHIRException { 072 if (src == null || src.isEmpty()) return null; 073 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Timing.UnitsOfTime> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Timing.UnitsOfTimeEnumFactory()); 074 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 075 if (src.getValue() == null) { 076 tgt.setValue(null); 077} else { 078 switch(src.getValue()) { 079 case S: 080 tgt.setValue(Timing.UnitsOfTime.S); 081 break; 082 case MIN: 083 tgt.setValue(Timing.UnitsOfTime.MIN); 084 break; 085 case H: 086 tgt.setValue(Timing.UnitsOfTime.H); 087 break; 088 case D: 089 tgt.setValue(Timing.UnitsOfTime.D); 090 break; 091 case WK: 092 tgt.setValue(Timing.UnitsOfTime.WK); 093 break; 094 case MO: 095 tgt.setValue(Timing.UnitsOfTime.MO); 096 break; 097 case A: 098 tgt.setValue(Timing.UnitsOfTime.A); 099 break; 100 default: 101 tgt.setValue(Timing.UnitsOfTime.NULL); 102 break; 103 } 104} 105 return tgt; 106 } 107 108 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Timing.UnitsOfTime> convertUnitsOfTime(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Timing.UnitsOfTime> src) throws FHIRException { 109 if (src == null || src.isEmpty()) return null; 110 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Timing.UnitsOfTime> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Timing.UnitsOfTimeEnumFactory()); 111 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 112 if (src.getValue() == null) { 113 tgt.setValue(null); 114} else { 115 switch(src.getValue()) { 116 case S: 117 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.S); 118 break; 119 case MIN: 120 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.MIN); 121 break; 122 case H: 123 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.H); 124 break; 125 case D: 126 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.D); 127 break; 128 case WK: 129 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.WK); 130 break; 131 case MO: 132 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.MO); 133 break; 134 case A: 135 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.A); 136 break; 137 default: 138 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.UnitsOfTime.NULL); 139 break; 140 } 141} 142 return tgt; 143 } 144 145 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Timing.EventTiming> convertEventTiming(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Timing.EventTiming> src) throws FHIRException { 146 if (src == null || src.isEmpty()) return null; 147 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Timing.EventTiming> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Timing.EventTimingEnumFactory()); 148 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 149 if (src.getValue() == null) { 150 tgt.setValue(null); 151} else { 152 switch(src.getValue()) { 153 case HS: 154 tgt.setValue(Timing.EventTiming.HS); 155 break; 156 case WAKE: 157 tgt.setValue(Timing.EventTiming.WAKE); 158 break; 159 case C: 160 tgt.setValue(Timing.EventTiming.C); 161 break; 162 case CM: 163 tgt.setValue(Timing.EventTiming.CM); 164 break; 165 case CD: 166 tgt.setValue(Timing.EventTiming.CD); 167 break; 168 case CV: 169 tgt.setValue(Timing.EventTiming.CV); 170 break; 171 case AC: 172 tgt.setValue(Timing.EventTiming.AC); 173 break; 174 case ACM: 175 tgt.setValue(Timing.EventTiming.ACM); 176 break; 177 case ACD: 178 tgt.setValue(Timing.EventTiming.ACD); 179 break; 180 case ACV: 181 tgt.setValue(Timing.EventTiming.ACV); 182 break; 183 case PC: 184 tgt.setValue(Timing.EventTiming.PC); 185 break; 186 case PCM: 187 tgt.setValue(Timing.EventTiming.PCM); 188 break; 189 case PCD: 190 tgt.setValue(Timing.EventTiming.PCD); 191 break; 192 case PCV: 193 tgt.setValue(Timing.EventTiming.PCV); 194 break; 195 default: 196 tgt.setValue(Timing.EventTiming.NULL); 197 break; 198 } 199} 200 return tgt; 201 } 202 203 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Timing.EventTiming> convertEventTiming(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Timing.EventTiming> src) throws FHIRException { 204 if (src == null || src.isEmpty()) return null; 205 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Timing.EventTiming> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Timing.EventTimingEnumFactory()); 206 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 207 if (src.getValue() == null) { 208 tgt.setValue(null); 209} else { 210 switch(src.getValue()) { 211 case HS: 212 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.HS); 213 break; 214 case WAKE: 215 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.WAKE); 216 break; 217 case C: 218 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.C); 219 break; 220 case CM: 221 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.CM); 222 break; 223 case CD: 224 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.CD); 225 break; 226 case CV: 227 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.CV); 228 break; 229 case AC: 230 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.AC); 231 break; 232 case ACM: 233 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.ACM); 234 break; 235 case ACD: 236 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.ACD); 237 break; 238 case ACV: 239 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.ACV); 240 break; 241 case PC: 242 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.PC); 243 break; 244 case PCM: 245 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.PCM); 246 break; 247 case PCD: 248 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.PCD); 249 break; 250 case PCV: 251 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.PCV); 252 break; 253 default: 254 tgt.setValue(org.hl7.fhir.dstu2.model.Timing.EventTiming.NULL); 255 break; 256 } 257} 258 return tgt; 259 } 260}