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