001package org.hl7.fhir.convertors.conv30_40.resources30_40;
002
003import org.hl7.fhir.convertors.context.ConversionContext30_40;
004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40;
005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40;
006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.RelatedArtifact30_40;
007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.TriggerDefinition30_40;
008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40;
009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40;
010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Duration30_40;
011import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40;
012import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40;
013import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40;
014import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40;
015import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40;
016import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40;
017import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40;
018import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40;
019import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40;
020import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40;
021import org.hl7.fhir.dstu3.model.ContactDetail;
022import org.hl7.fhir.dstu3.model.Contributor.ContributorType;
023import org.hl7.fhir.exceptions.FHIRException;
024
025public class PlanDefinition30_40 {
026
027  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionCardinalityBehavior> convertActionCardinalityBehavior(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionCardinalityBehavior> src) throws FHIRException {
028    if (src == null || src.isEmpty())
029      return null;
030    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionCardinalityBehavior> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionCardinalityBehaviorEnumFactory());
031    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
032    switch (src.getValue()) {
033      case SINGLE:
034        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionCardinalityBehavior.SINGLE);
035        break;
036      case MULTIPLE:
037        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionCardinalityBehavior.MULTIPLE);
038        break;
039      default:
040        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionCardinalityBehavior.NULL);
041        break;
042    }
043    return tgt;
044  }
045
046  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionCardinalityBehavior> convertActionCardinalityBehavior(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionCardinalityBehavior> src) throws FHIRException {
047    if (src == null || src.isEmpty())
048      return null;
049    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionCardinalityBehavior> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionCardinalityBehaviorEnumFactory());
050    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
051    switch (src.getValue()) {
052      case SINGLE:
053        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionCardinalityBehavior.SINGLE);
054        break;
055      case MULTIPLE:
056        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionCardinalityBehavior.MULTIPLE);
057        break;
058      default:
059        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionCardinalityBehavior.NULL);
060        break;
061    }
062    return tgt;
063  }
064
065  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKind> convertActionConditionKind(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKind> src) throws FHIRException {
066    if (src == null || src.isEmpty())
067      return null;
068    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKind> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKindEnumFactory());
069    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
070    switch (src.getValue()) {
071      case APPLICABILITY:
072        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKind.APPLICABILITY);
073        break;
074      case START:
075        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKind.START);
076        break;
077      case STOP:
078        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKind.STOP);
079        break;
080      default:
081        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKind.NULL);
082        break;
083    }
084    return tgt;
085  }
086
087  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKind> convertActionConditionKind(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionConditionKind> src) throws FHIRException {
088    if (src == null || src.isEmpty())
089      return null;
090    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKind> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKindEnumFactory());
091    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
092    switch (src.getValue()) {
093      case APPLICABILITY:
094        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKind.APPLICABILITY);
095        break;
096      case START:
097        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKind.START);
098        break;
099      case STOP:
100        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKind.STOP);
101        break;
102      default:
103        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionConditionKind.NULL);
104        break;
105    }
106    return tgt;
107  }
108
109  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehavior> convertActionGroupingBehavior(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehavior> src) throws FHIRException {
110    if (src == null || src.isEmpty())
111      return null;
112    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehavior> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehaviorEnumFactory());
113    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
114    switch (src.getValue()) {
115      case VISUALGROUP:
116        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehavior.VISUALGROUP);
117        break;
118      case LOGICALGROUP:
119        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehavior.LOGICALGROUP);
120        break;
121      case SENTENCEGROUP:
122        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehavior.SENTENCEGROUP);
123        break;
124      default:
125        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehavior.NULL);
126        break;
127    }
128    return tgt;
129  }
130
131  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehavior> convertActionGroupingBehavior(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionGroupingBehavior> src) throws FHIRException {
132    if (src == null || src.isEmpty())
133      return null;
134    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehavior> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehaviorEnumFactory());
135    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
136    switch (src.getValue()) {
137      case VISUALGROUP:
138        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehavior.VISUALGROUP);
139        break;
140      case LOGICALGROUP:
141        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehavior.LOGICALGROUP);
142        break;
143      case SENTENCEGROUP:
144        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehavior.SENTENCEGROUP);
145        break;
146      default:
147        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionGroupingBehavior.NULL);
148        break;
149    }
150    return tgt;
151  }
152
153  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantType> convertActionParticipantType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantType> src) throws FHIRException {
154    if (src == null || src.isEmpty())
155      return null;
156    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantTypeEnumFactory());
157    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
158    switch (src.getValue()) {
159      case PATIENT:
160        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantType.PATIENT);
161        break;
162      case PRACTITIONER:
163        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantType.PRACTITIONER);
164        break;
165      case RELATEDPERSON:
166        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantType.RELATEDPERSON);
167        break;
168      default:
169        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantType.NULL);
170        break;
171    }
172    return tgt;
173  }
174
175  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantType> convertActionParticipantType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionParticipantType> src) throws FHIRException {
176    if (src == null || src.isEmpty())
177      return null;
178    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantTypeEnumFactory());
179    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
180    switch (src.getValue()) {
181      case PATIENT:
182        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantType.PATIENT);
183        break;
184      case PRACTITIONER:
185        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantType.PRACTITIONER);
186        break;
187      case RELATEDPERSON:
188        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantType.RELATEDPERSON);
189        break;
190      default:
191        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionParticipantType.NULL);
192        break;
193    }
194    return tgt;
195  }
196
197  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionPrecheckBehavior> convertActionPrecheckBehavior(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionPrecheckBehavior> src) throws FHIRException {
198    if (src == null || src.isEmpty())
199      return null;
200    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionPrecheckBehavior> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionPrecheckBehaviorEnumFactory());
201    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
202    switch (src.getValue()) {
203      case YES:
204        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionPrecheckBehavior.YES);
205        break;
206      case NO:
207        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionPrecheckBehavior.NO);
208        break;
209      default:
210        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionPrecheckBehavior.NULL);
211        break;
212    }
213    return tgt;
214  }
215
216  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionPrecheckBehavior> convertActionPrecheckBehavior(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionPrecheckBehavior> src) throws FHIRException {
217    if (src == null || src.isEmpty())
218      return null;
219    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionPrecheckBehavior> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionPrecheckBehaviorEnumFactory());
220    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
221    switch (src.getValue()) {
222      case YES:
223        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionPrecheckBehavior.YES);
224        break;
225      case NO:
226        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionPrecheckBehavior.NO);
227        break;
228      default:
229        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionPrecheckBehavior.NULL);
230        break;
231    }
232    return tgt;
233  }
234
235  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType> convertActionRelationshipType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType> src) throws FHIRException {
236    if (src == null || src.isEmpty())
237      return null;
238    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipTypeEnumFactory());
239    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
240    switch (src.getValue()) {
241      case BEFORESTART:
242        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.BEFORESTART);
243        break;
244      case BEFORE:
245        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.BEFORE);
246        break;
247      case BEFOREEND:
248        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.BEFOREEND);
249        break;
250      case CONCURRENTWITHSTART:
251        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.CONCURRENTWITHSTART);
252        break;
253      case CONCURRENT:
254        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.CONCURRENT);
255        break;
256      case CONCURRENTWITHEND:
257        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.CONCURRENTWITHEND);
258        break;
259      case AFTERSTART:
260        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.AFTERSTART);
261        break;
262      case AFTER:
263        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.AFTER);
264        break;
265      case AFTEREND:
266        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.AFTEREND);
267        break;
268      default:
269        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType.NULL);
270        break;
271    }
272    return tgt;
273  }
274
275  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType> convertActionRelationshipType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionRelationshipType> src) throws FHIRException {
276    if (src == null || src.isEmpty())
277      return null;
278    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipTypeEnumFactory());
279    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
280    switch (src.getValue()) {
281      case BEFORESTART:
282        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.BEFORESTART);
283        break;
284      case BEFORE:
285        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.BEFORE);
286        break;
287      case BEFOREEND:
288        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.BEFOREEND);
289        break;
290      case CONCURRENTWITHSTART:
291        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.CONCURRENTWITHSTART);
292        break;
293      case CONCURRENT:
294        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.CONCURRENT);
295        break;
296      case CONCURRENTWITHEND:
297        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.CONCURRENTWITHEND);
298        break;
299      case AFTERSTART:
300        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.AFTERSTART);
301        break;
302      case AFTER:
303        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.AFTER);
304        break;
305      case AFTEREND:
306        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.AFTEREND);
307        break;
308      default:
309        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRelationshipType.NULL);
310        break;
311    }
312    return tgt;
313  }
314
315  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehavior> convertActionRequiredBehavior(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehavior> src) throws FHIRException {
316    if (src == null || src.isEmpty())
317      return null;
318    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehavior> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehaviorEnumFactory());
319    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
320    switch (src.getValue()) {
321      case MUST:
322        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehavior.MUST);
323        break;
324      case COULD:
325        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehavior.COULD);
326        break;
327      case MUSTUNLESSDOCUMENTED:
328        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehavior.MUSTUNLESSDOCUMENTED);
329        break;
330      default:
331        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehavior.NULL);
332        break;
333    }
334    return tgt;
335  }
336
337  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehavior> convertActionRequiredBehavior(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionRequiredBehavior> src) throws FHIRException {
338    if (src == null || src.isEmpty())
339      return null;
340    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehavior> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehaviorEnumFactory());
341    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
342    switch (src.getValue()) {
343      case MUST:
344        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehavior.MUST);
345        break;
346      case COULD:
347        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehavior.COULD);
348        break;
349      case MUSTUNLESSDOCUMENTED:
350        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehavior.MUSTUNLESSDOCUMENTED);
351        break;
352      default:
353        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionRequiredBehavior.NULL);
354        break;
355    }
356    return tgt;
357  }
358
359  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior> convertActionSelectionBehavior(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior> src) throws FHIRException {
360    if (src == null || src.isEmpty())
361      return null;
362    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehaviorEnumFactory());
363    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
364    switch (src.getValue()) {
365      case ANY:
366        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior.ANY);
367        break;
368      case ALL:
369        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior.ALL);
370        break;
371      case ALLORNONE:
372        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior.ALLORNONE);
373        break;
374      case EXACTLYONE:
375        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior.EXACTLYONE);
376        break;
377      case ATMOSTONE:
378        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior.ATMOSTONE);
379        break;
380      case ONEORMORE:
381        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior.ONEORMORE);
382        break;
383      default:
384        tgt.setValue(org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior.NULL);
385        break;
386    }
387    return tgt;
388  }
389
390  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior> convertActionSelectionBehavior(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.PlanDefinition.ActionSelectionBehavior> src) throws FHIRException {
391    if (src == null || src.isEmpty())
392      return null;
393    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehaviorEnumFactory());
394    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
395    switch (src.getValue()) {
396      case ANY:
397        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior.ANY);
398        break;
399      case ALL:
400        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior.ALL);
401        break;
402      case ALLORNONE:
403        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior.ALLORNONE);
404        break;
405      case EXACTLYONE:
406        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior.EXACTLYONE);
407        break;
408      case ATMOSTONE:
409        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior.ATMOSTONE);
410        break;
411      case ONEORMORE:
412        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior.ONEORMORE);
413        break;
414      default:
415        tgt.setValue(org.hl7.fhir.dstu3.model.PlanDefinition.ActionSelectionBehavior.NULL);
416        break;
417    }
418    return tgt;
419  }
420
421  public static org.hl7.fhir.r4.model.PlanDefinition convertPlanDefinition(org.hl7.fhir.dstu3.model.PlanDefinition src) throws FHIRException {
422    if (src == null)
423      return null;
424    org.hl7.fhir.r4.model.PlanDefinition tgt = new org.hl7.fhir.r4.model.PlanDefinition();
425    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
426    if (src.hasUrl())
427      tgt.setUrlElement(Uri30_40.convertUri(src.getUrlElement()));
428    for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier())
429      tgt.addIdentifier(Identifier30_40.convertIdentifier(t));
430    if (src.hasVersion())
431      tgt.setVersionElement(String30_40.convertString(src.getVersionElement()));
432    if (src.hasName())
433      tgt.setNameElement(String30_40.convertString(src.getNameElement()));
434    if (src.hasTitle())
435      tgt.setTitleElement(String30_40.convertString(src.getTitleElement()));
436    if (src.hasType())
437      tgt.setType(CodeableConcept30_40.convertCodeableConcept(src.getType()));
438    if (src.hasStatus())
439      tgt.setStatusElement(Enumerations30_40.convertPublicationStatus(src.getStatusElement()));
440    if (src.hasExperimental())
441      tgt.setExperimentalElement(Boolean30_40.convertBoolean(src.getExperimentalElement()));
442    if (src.hasDateElement())
443      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
444    if (src.hasPublisher())
445      tgt.setPublisherElement(String30_40.convertString(src.getPublisherElement()));
446    if (src.hasDescription())
447      tgt.setDescriptionElement(MarkDown30_40.convertMarkdown(src.getDescriptionElement()));
448    if (src.hasPurpose())
449      tgt.setPurposeElement(MarkDown30_40.convertMarkdown(src.getPurposeElement()));
450    if (src.hasUsage())
451      tgt.setUsageElement(String30_40.convertString(src.getUsageElement()));
452    if (src.hasApprovalDate())
453      tgt.setApprovalDateElement(Date30_40.convertDate(src.getApprovalDateElement()));
454    if (src.hasLastReviewDate())
455      tgt.setLastReviewDateElement(Date30_40.convertDate(src.getLastReviewDateElement()));
456    if (src.hasEffectivePeriod())
457      tgt.setEffectivePeriod(Period30_40.convertPeriod(src.getEffectivePeriod()));
458    for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext())
459      tgt.addUseContext(Timing30_40.convertUsageContext(t));
460    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction())
461      tgt.addJurisdiction(CodeableConcept30_40.convertCodeableConcept(t));
462    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getTopic())
463      tgt.addTopic(CodeableConcept30_40.convertCodeableConcept(t));
464    for (org.hl7.fhir.dstu3.model.Contributor t : src.getContributor()) {
465      if (t.getType() == ContributorType.AUTHOR)
466        for (ContactDetail c : t.getContact()) tgt.addAuthor(ContactDetail30_40.convertContactDetail(c));
467      if (t.getType() == ContributorType.EDITOR)
468        for (ContactDetail c : t.getContact()) tgt.addEditor(ContactDetail30_40.convertContactDetail(c));
469      if (t.getType() == ContributorType.REVIEWER)
470        for (ContactDetail c : t.getContact()) tgt.addReviewer(ContactDetail30_40.convertContactDetail(c));
471      if (t.getType() == ContributorType.ENDORSER)
472        for (ContactDetail c : t.getContact()) tgt.addEndorser(ContactDetail30_40.convertContactDetail(c));
473    }
474    for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact())
475      tgt.addContact(ContactDetail30_40.convertContactDetail(t));
476    if (src.hasCopyright())
477      tgt.setCopyrightElement(MarkDown30_40.convertMarkdown(src.getCopyrightElement()));
478    for (org.hl7.fhir.dstu3.model.RelatedArtifact t : src.getRelatedArtifact())
479      tgt.addRelatedArtifact(RelatedArtifact30_40.convertRelatedArtifact(t));
480    for (org.hl7.fhir.dstu3.model.Reference t : src.getLibrary())
481      tgt.getLibrary().add(Reference30_40.convertReferenceToCanonical(t));
482    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalComponent t : src.getGoal())
483      tgt.addGoal(convertPlanDefinitionGoalComponent(t));
484    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionComponent t : src.getAction())
485      tgt.addAction(convertPlanDefinitionActionComponent(t));
486    return tgt;
487  }
488
489  public static org.hl7.fhir.dstu3.model.PlanDefinition convertPlanDefinition(org.hl7.fhir.r4.model.PlanDefinition src) throws FHIRException {
490    if (src == null)
491      return null;
492    org.hl7.fhir.dstu3.model.PlanDefinition tgt = new org.hl7.fhir.dstu3.model.PlanDefinition();
493    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
494    if (src.hasUrl())
495      tgt.setUrlElement(Uri30_40.convertUri(src.getUrlElement()));
496    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
497      tgt.addIdentifier(Identifier30_40.convertIdentifier(t));
498    if (src.hasVersion())
499      tgt.setVersionElement(String30_40.convertString(src.getVersionElement()));
500    if (src.hasName())
501      tgt.setNameElement(String30_40.convertString(src.getNameElement()));
502    if (src.hasTitle())
503      tgt.setTitleElement(String30_40.convertString(src.getTitleElement()));
504    if (src.hasType())
505      tgt.setType(CodeableConcept30_40.convertCodeableConcept(src.getType()));
506    if (src.hasStatus())
507      tgt.setStatusElement(Enumerations30_40.convertPublicationStatus(src.getStatusElement()));
508    if (src.hasExperimental())
509      tgt.setExperimentalElement(Boolean30_40.convertBoolean(src.getExperimentalElement()));
510    if (src.hasDateElement())
511      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
512    if (src.hasPublisher())
513      tgt.setPublisherElement(String30_40.convertString(src.getPublisherElement()));
514    if (src.hasDescription())
515      tgt.setDescriptionElement(MarkDown30_40.convertMarkdown(src.getDescriptionElement()));
516    if (src.hasPurpose())
517      tgt.setPurposeElement(MarkDown30_40.convertMarkdown(src.getPurposeElement()));
518    if (src.hasUsage())
519      tgt.setUsageElement(String30_40.convertString(src.getUsageElement()));
520    if (src.hasApprovalDate())
521      tgt.setApprovalDateElement(Date30_40.convertDate(src.getApprovalDateElement()));
522    if (src.hasLastReviewDate())
523      tgt.setLastReviewDateElement(Date30_40.convertDate(src.getLastReviewDateElement()));
524    if (src.hasEffectivePeriod())
525      tgt.setEffectivePeriod(Period30_40.convertPeriod(src.getEffectivePeriod()));
526    for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext())
527      tgt.addUseContext(Timing30_40.convertUsageContext(t));
528    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction())
529      tgt.addJurisdiction(CodeableConcept30_40.convertCodeableConcept(t));
530    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getTopic())
531      tgt.addTopic(CodeableConcept30_40.convertCodeableConcept(t));
532    for (org.hl7.fhir.r4.model.ContactDetail t : src.getAuthor()) {
533      org.hl7.fhir.dstu3.model.Contributor c = new org.hl7.fhir.dstu3.model.Contributor();
534      c.setType(ContributorType.AUTHOR);
535      c.addContact(ContactDetail30_40.convertContactDetail(t));
536      tgt.addContributor(c);
537    }
538    for (org.hl7.fhir.r4.model.ContactDetail t : src.getEditor()) {
539      org.hl7.fhir.dstu3.model.Contributor c = new org.hl7.fhir.dstu3.model.Contributor();
540      c.setType(ContributorType.EDITOR);
541      c.addContact(ContactDetail30_40.convertContactDetail(t));
542      tgt.addContributor(c);
543    }
544    for (org.hl7.fhir.r4.model.ContactDetail t : src.getReviewer()) {
545      org.hl7.fhir.dstu3.model.Contributor c = new org.hl7.fhir.dstu3.model.Contributor();
546      c.setType(ContributorType.REVIEWER);
547      c.addContact(ContactDetail30_40.convertContactDetail(t));
548      tgt.addContributor(c);
549    }
550    for (org.hl7.fhir.r4.model.ContactDetail t : src.getEndorser()) {
551      org.hl7.fhir.dstu3.model.Contributor c = new org.hl7.fhir.dstu3.model.Contributor();
552      c.setType(ContributorType.ENDORSER);
553      c.addContact(ContactDetail30_40.convertContactDetail(t));
554      tgt.addContributor(c);
555    }
556    for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact())
557      tgt.addContact(ContactDetail30_40.convertContactDetail(t));
558    if (src.hasCopyright())
559      tgt.setCopyrightElement(MarkDown30_40.convertMarkdown(src.getCopyrightElement()));
560    for (org.hl7.fhir.r4.model.RelatedArtifact t : src.getRelatedArtifact())
561      tgt.addRelatedArtifact(RelatedArtifact30_40.convertRelatedArtifact(t));
562    for (org.hl7.fhir.r4.model.CanonicalType t : src.getLibrary())
563      tgt.addLibrary(Reference30_40.convertCanonicalToReference(t));
564    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalComponent t : src.getGoal())
565      tgt.addGoal(convertPlanDefinitionGoalComponent(t));
566    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionComponent t : src.getAction())
567      tgt.addAction(convertPlanDefinitionActionComponent(t));
568    return tgt;
569  }
570
571  public static org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionComponent convertPlanDefinitionActionComponent(org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionComponent src) throws FHIRException {
572    if (src == null)
573      return null;
574    org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionComponent tgt = new org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionComponent();
575    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
576    if (src.hasLabel())
577      tgt.setPrefixElement(String30_40.convertString(src.getLabelElement()));
578    if (src.hasTitle())
579      tgt.setTitleElement(String30_40.convertString(src.getTitleElement()));
580    if (src.hasDescription())
581      tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement()));
582    if (src.hasTextEquivalent())
583      tgt.setTextEquivalentElement(String30_40.convertString(src.getTextEquivalentElement()));
584    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getCode())
585      tgt.addCode(CodeableConcept30_40.convertCodeableConcept(t));
586    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReason())
587      tgt.addReason(CodeableConcept30_40.convertCodeableConcept(t));
588    for (org.hl7.fhir.dstu3.model.RelatedArtifact t : src.getDocumentation())
589      tgt.addDocumentation(RelatedArtifact30_40.convertRelatedArtifact(t));
590    for (org.hl7.fhir.dstu3.model.IdType t : src.getGoalId()) tgt.addGoalId(t.getValue());
591    for (org.hl7.fhir.dstu3.model.TriggerDefinition t : src.getTriggerDefinition())
592      tgt.addTrigger(TriggerDefinition30_40.convertTriggerDefinition(t));
593    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionConditionComponent t : src.getCondition())
594      tgt.addCondition(convertPlanDefinitionActionConditionComponent(t));
595    for (org.hl7.fhir.dstu3.model.DataRequirement t : src.getInput())
596      tgt.addInput(TriggerDefinition30_40.convertDataRequirement(t));
597    for (org.hl7.fhir.dstu3.model.DataRequirement t : src.getOutput())
598      tgt.addOutput(TriggerDefinition30_40.convertDataRequirement(t));
599    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent t : src.getRelatedAction())
600      tgt.addRelatedAction(convertPlanDefinitionActionRelatedActionComponent(t));
601    if (src.hasTiming())
602      tgt.setTiming(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getTiming()));
603    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionParticipantComponent t : src.getParticipant())
604      tgt.addParticipant(convertPlanDefinitionActionParticipantComponent(t));
605    if (src.hasType())
606      tgt.getType().addCoding(Coding30_40.convertCoding(src.getType()));
607    if (src.hasGroupingBehavior())
608      tgt.setGroupingBehaviorElement(convertActionGroupingBehavior(src.getGroupingBehaviorElement()));
609    if (src.hasSelectionBehavior())
610      tgt.setSelectionBehaviorElement(convertActionSelectionBehavior(src.getSelectionBehaviorElement()));
611    if (src.hasRequiredBehavior())
612      tgt.setRequiredBehaviorElement(convertActionRequiredBehavior(src.getRequiredBehaviorElement()));
613    if (src.hasPrecheckBehavior())
614      tgt.setPrecheckBehaviorElement(convertActionPrecheckBehavior(src.getPrecheckBehaviorElement()));
615    if (src.hasCardinalityBehavior())
616      tgt.setCardinalityBehaviorElement(convertActionCardinalityBehavior(src.getCardinalityBehaviorElement()));
617    if (src.hasDefinition())
618      tgt.setDefinition(Reference30_40.convertReferenceToCanonical(src.getDefinition()));
619    if (src.hasTransform())
620      tgt.setTransformElement(Reference30_40.convertReferenceToCanonical(src.getTransform()));
621    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent t : src.getDynamicValue())
622      tgt.addDynamicValue(convertPlanDefinitionActionDynamicValueComponent(t));
623    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionComponent t : src.getAction())
624      tgt.addAction(convertPlanDefinitionActionComponent(t));
625    return tgt;
626  }
627
628  public static org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionComponent convertPlanDefinitionActionComponent(org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionComponent src) throws FHIRException {
629    if (src == null)
630      return null;
631    org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionComponent tgt = new org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionComponent();
632    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
633    if (src.hasPrefix())
634      tgt.setLabelElement(String30_40.convertString(src.getPrefixElement()));
635    if (src.hasTitle())
636      tgt.setTitleElement(String30_40.convertString(src.getTitleElement()));
637    if (src.hasDescription())
638      tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement()));
639    if (src.hasTextEquivalent())
640      tgt.setTextEquivalentElement(String30_40.convertString(src.getTextEquivalentElement()));
641    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCode())
642      tgt.addCode(CodeableConcept30_40.convertCodeableConcept(t));
643    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReason())
644      tgt.addReason(CodeableConcept30_40.convertCodeableConcept(t));
645    for (org.hl7.fhir.r4.model.RelatedArtifact t : src.getDocumentation())
646      tgt.addDocumentation(RelatedArtifact30_40.convertRelatedArtifact(t));
647    for (org.hl7.fhir.r4.model.IdType t : src.getGoalId()) tgt.addGoalId(t.getValue());
648    for (org.hl7.fhir.r4.model.TriggerDefinition t : src.getTrigger())
649      tgt.addTriggerDefinition(TriggerDefinition30_40.convertTriggerDefinition(t));
650    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionConditionComponent t : src.getCondition())
651      tgt.addCondition(convertPlanDefinitionActionConditionComponent(t));
652    for (org.hl7.fhir.r4.model.DataRequirement t : src.getInput())
653      tgt.addInput(TriggerDefinition30_40.convertDataRequirement(t));
654    for (org.hl7.fhir.r4.model.DataRequirement t : src.getOutput())
655      tgt.addOutput(TriggerDefinition30_40.convertDataRequirement(t));
656    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent t : src.getRelatedAction())
657      tgt.addRelatedAction(convertPlanDefinitionActionRelatedActionComponent(t));
658    if (src.hasTiming())
659      tgt.setTiming(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getTiming()));
660    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionParticipantComponent t : src.getParticipant())
661      tgt.addParticipant(convertPlanDefinitionActionParticipantComponent(t));
662    if (src.hasType())
663      tgt.setType(Coding30_40.convertCoding(src.getType().getCodingFirstRep()));
664    if (src.hasGroupingBehavior())
665      tgt.setGroupingBehaviorElement(convertActionGroupingBehavior(src.getGroupingBehaviorElement()));
666    if (src.hasSelectionBehavior())
667      tgt.setSelectionBehaviorElement(convertActionSelectionBehavior(src.getSelectionBehaviorElement()));
668    if (src.hasRequiredBehavior())
669      tgt.setRequiredBehaviorElement(convertActionRequiredBehavior(src.getRequiredBehaviorElement()));
670    if (src.hasPrecheckBehavior())
671      tgt.setPrecheckBehaviorElement(convertActionPrecheckBehavior(src.getPrecheckBehaviorElement()));
672    if (src.hasCardinalityBehavior())
673      tgt.setCardinalityBehaviorElement(convertActionCardinalityBehavior(src.getCardinalityBehaviorElement()));
674    if (src.hasDefinitionCanonicalType())
675      tgt.setDefinition(Reference30_40.convertCanonicalToReference(src.getDefinitionCanonicalType()));
676    if (src.hasTransform())
677      tgt.setTransform(Reference30_40.convertCanonicalToReference(src.getTransformElement()));
678    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent t : src.getDynamicValue())
679      tgt.addDynamicValue(convertPlanDefinitionActionDynamicValueComponent(t));
680    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionComponent t : src.getAction())
681      tgt.addAction(convertPlanDefinitionActionComponent(t));
682    return tgt;
683  }
684
685  public static org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionConditionComponent convertPlanDefinitionActionConditionComponent(org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionConditionComponent src) throws FHIRException {
686    if (src == null)
687      return null;
688    org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionConditionComponent tgt = new org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionConditionComponent();
689    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
690    if (src.hasKind())
691      tgt.setKindElement(convertActionConditionKind(src.getKindElement()));
692    if (src.hasDescription())
693      tgt.getExpression().setDescription(src.getDescription());
694    if (src.hasLanguage())
695      tgt.getExpression().setLanguage(src.getLanguage());
696    if (src.hasExpression())
697      tgt.getExpression().setExpression(src.getExpression());
698    return tgt;
699  }
700
701  public static org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionConditionComponent convertPlanDefinitionActionConditionComponent(org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionConditionComponent src) throws FHIRException {
702    if (src == null)
703      return null;
704    org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionConditionComponent tgt = new org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionConditionComponent();
705    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
706    if (src.hasKind())
707      tgt.setKindElement(convertActionConditionKind(src.getKindElement()));
708    if (src.getExpression().hasDescription())
709      tgt.setDescription(src.getExpression().getDescription());
710    if (src.getExpression().hasLanguage())
711      tgt.setLanguage(src.getExpression().getLanguage());
712    if (src.getExpression().hasExpression())
713      tgt.setExpression(src.getExpression().getExpression());
714    return tgt;
715  }
716
717  public static org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent convertPlanDefinitionActionDynamicValueComponent(org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent src) throws FHIRException {
718    if (src == null)
719      return null;
720    org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent tgt = new org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent();
721    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
722    if (src.hasDescription())
723      tgt.getExpression().setDescription(src.getDescription());
724    if (src.hasPath())
725      tgt.setPathElement(String30_40.convertString(src.getPathElement()));
726    if (src.hasLanguage())
727      tgt.getExpression().setLanguage(src.getLanguage());
728    if (src.hasExpression())
729      tgt.getExpression().setExpression(src.getExpression());
730    return tgt;
731  }
732
733  public static org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent convertPlanDefinitionActionDynamicValueComponent(org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent src) throws FHIRException {
734    if (src == null)
735      return null;
736    org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent tgt = new org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionDynamicValueComponent();
737    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
738    if (src.getExpression().hasDescription())
739      tgt.setDescription(src.getExpression().getDescription());
740    if (src.hasPath())
741      tgt.setPathElement(String30_40.convertString(src.getPathElement()));
742    if (src.getExpression().hasLanguage())
743      tgt.setLanguage(src.getExpression().getLanguage());
744    if (src.getExpression().hasExpression())
745      tgt.setExpression(src.getExpression().getExpression());
746    return tgt;
747  }
748
749  public static org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionParticipantComponent convertPlanDefinitionActionParticipantComponent(org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionParticipantComponent src) throws FHIRException {
750    if (src == null)
751      return null;
752    org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionParticipantComponent tgt = new org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionParticipantComponent();
753    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
754    if (src.hasType())
755      tgt.setTypeElement(convertActionParticipantType(src.getTypeElement()));
756    if (src.hasRole())
757      tgt.setRole(CodeableConcept30_40.convertCodeableConcept(src.getRole()));
758    return tgt;
759  }
760
761  public static org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionParticipantComponent convertPlanDefinitionActionParticipantComponent(org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionParticipantComponent src) throws FHIRException {
762    if (src == null)
763      return null;
764    org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionParticipantComponent tgt = new org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionParticipantComponent();
765    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
766    if (src.hasType())
767      tgt.setTypeElement(convertActionParticipantType(src.getTypeElement()));
768    if (src.hasRole())
769      tgt.setRole(CodeableConcept30_40.convertCodeableConcept(src.getRole()));
770    return tgt;
771  }
772
773  public static org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent convertPlanDefinitionActionRelatedActionComponent(org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent src) throws FHIRException {
774    if (src == null)
775      return null;
776    org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent tgt = new org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent();
777    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
778    if (src.hasActionId())
779      tgt.setActionIdElement(Id30_40.convertId(src.getActionIdElement()));
780    if (src.hasRelationship())
781      tgt.setRelationshipElement(convertActionRelationshipType(src.getRelationshipElement()));
782    if (src.hasOffset())
783      tgt.setOffset(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getOffset()));
784    return tgt;
785  }
786
787  public static org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent convertPlanDefinitionActionRelatedActionComponent(org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent src) throws FHIRException {
788    if (src == null)
789      return null;
790    org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent tgt = new org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionActionRelatedActionComponent();
791    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
792    if (src.hasActionId())
793      tgt.setActionIdElement(Id30_40.convertId(src.getActionIdElement()));
794    if (src.hasRelationship())
795      tgt.setRelationshipElement(convertActionRelationshipType(src.getRelationshipElement()));
796    if (src.hasOffset())
797      tgt.setOffset(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getOffset()));
798    return tgt;
799  }
800
801  public static org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalComponent convertPlanDefinitionGoalComponent(org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalComponent src) throws FHIRException {
802    if (src == null)
803      return null;
804    org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalComponent tgt = new org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalComponent();
805    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
806    if (src.hasCategory())
807      tgt.setCategory(CodeableConcept30_40.convertCodeableConcept(src.getCategory()));
808    if (src.hasDescription())
809      tgt.setDescription(CodeableConcept30_40.convertCodeableConcept(src.getDescription()));
810    if (src.hasPriority())
811      tgt.setPriority(CodeableConcept30_40.convertCodeableConcept(src.getPriority()));
812    if (src.hasStart())
813      tgt.setStart(CodeableConcept30_40.convertCodeableConcept(src.getStart()));
814    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getAddresses())
815      tgt.addAddresses(CodeableConcept30_40.convertCodeableConcept(t));
816    for (org.hl7.fhir.dstu3.model.RelatedArtifact t : src.getDocumentation())
817      tgt.addDocumentation(RelatedArtifact30_40.convertRelatedArtifact(t));
818    for (org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalTargetComponent t : src.getTarget())
819      tgt.addTarget(convertPlanDefinitionGoalTargetComponent(t));
820    return tgt;
821  }
822
823  public static org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalComponent convertPlanDefinitionGoalComponent(org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalComponent src) throws FHIRException {
824    if (src == null)
825      return null;
826    org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalComponent tgt = new org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalComponent();
827    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
828    if (src.hasCategory())
829      tgt.setCategory(CodeableConcept30_40.convertCodeableConcept(src.getCategory()));
830    if (src.hasDescription())
831      tgt.setDescription(CodeableConcept30_40.convertCodeableConcept(src.getDescription()));
832    if (src.hasPriority())
833      tgt.setPriority(CodeableConcept30_40.convertCodeableConcept(src.getPriority()));
834    if (src.hasStart())
835      tgt.setStart(CodeableConcept30_40.convertCodeableConcept(src.getStart()));
836    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getAddresses())
837      tgt.addAddresses(CodeableConcept30_40.convertCodeableConcept(t));
838    for (org.hl7.fhir.r4.model.RelatedArtifact t : src.getDocumentation())
839      tgt.addDocumentation(RelatedArtifact30_40.convertRelatedArtifact(t));
840    for (org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalTargetComponent t : src.getTarget())
841      tgt.addTarget(convertPlanDefinitionGoalTargetComponent(t));
842    return tgt;
843  }
844
845  public static org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalTargetComponent convertPlanDefinitionGoalTargetComponent(org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalTargetComponent src) throws FHIRException {
846    if (src == null)
847      return null;
848    org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalTargetComponent tgt = new org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalTargetComponent();
849    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
850    if (src.hasMeasure())
851      tgt.setMeasure(CodeableConcept30_40.convertCodeableConcept(src.getMeasure()));
852    if (src.hasDetail())
853      tgt.setDetail(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getDetail()));
854    if (src.hasDue())
855      tgt.setDue(Duration30_40.convertDuration(src.getDue()));
856    return tgt;
857  }
858
859  public static org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalTargetComponent convertPlanDefinitionGoalTargetComponent(org.hl7.fhir.dstu3.model.PlanDefinition.PlanDefinitionGoalTargetComponent src) throws FHIRException {
860    if (src == null)
861      return null;
862    org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalTargetComponent tgt = new org.hl7.fhir.r4.model.PlanDefinition.PlanDefinitionGoalTargetComponent();
863    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
864    if (src.hasMeasure())
865      tgt.setMeasure(CodeableConcept30_40.convertCodeableConcept(src.getMeasure()));
866    if (src.hasDetail())
867      tgt.setDetail(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getDetail()));
868    if (src.hasDue())
869      tgt.setDue(Duration30_40.convertDuration(src.getDue()));
870    return tgt;
871  }
872}