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.complextypes30_40.CodeableConcept30_40;
006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40;
007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40;
008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40;
009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40;
010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40;
011import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40;
012import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40;
013import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40;
014import org.hl7.fhir.dstu3.model.Enumeration;
015import org.hl7.fhir.dstu3.model.Enumerations;
016import org.hl7.fhir.exceptions.FHIRException;
017import org.hl7.fhir.r4.model.ConceptMap;
018
019public class ConceptMap30_40 {
020
021  public static org.hl7.fhir.dstu3.model.ConceptMap convertConceptMap(org.hl7.fhir.r4.model.ConceptMap src) throws FHIRException {
022    if (src == null)
023      return null;
024    org.hl7.fhir.dstu3.model.ConceptMap tgt = new org.hl7.fhir.dstu3.model.ConceptMap();
025    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
026    if (src.hasUrl())
027      tgt.setUrlElement(Uri30_40.convertUri(src.getUrlElement()));
028    if (src.hasIdentifier())
029      tgt.setIdentifier(Identifier30_40.convertIdentifier(src.getIdentifier()));
030    if (src.hasVersion())
031      tgt.setVersionElement(String30_40.convertString(src.getVersionElement()));
032    if (src.hasName())
033      tgt.setNameElement(String30_40.convertString(src.getNameElement()));
034    if (src.hasTitle())
035      tgt.setTitleElement(String30_40.convertString(src.getTitleElement()));
036    if (src.hasStatus())
037      tgt.setStatusElement(Enumerations30_40.convertPublicationStatus(src.getStatusElement()));
038    if (src.hasExperimental())
039      tgt.setExperimentalElement(Boolean30_40.convertBoolean(src.getExperimentalElement()));
040    if (src.hasDateElement())
041      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
042    if (src.hasPublisher())
043      tgt.setPublisherElement(String30_40.convertString(src.getPublisherElement()));
044    for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact())
045      tgt.addContact(ContactDetail30_40.convertContactDetail(t));
046    if (src.hasDescription())
047      tgt.setDescriptionElement(MarkDown30_40.convertMarkdown(src.getDescriptionElement()));
048    for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext())
049      tgt.addUseContext(Timing30_40.convertUsageContext(t));
050    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction())
051      tgt.addJurisdiction(CodeableConcept30_40.convertCodeableConcept(t));
052    if (src.hasPurpose())
053      tgt.setPurposeElement(MarkDown30_40.convertMarkdown(src.getPurposeElement()));
054    if (src.hasCopyright())
055      tgt.setCopyrightElement(MarkDown30_40.convertMarkdown(src.getCopyrightElement()));
056    if (src.hasSource())
057      tgt.setSource(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getSource()));
058    if (src.hasTarget())
059      tgt.setTarget(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getTarget()));
060    for (org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent t : src.getGroup())
061      tgt.addGroup(convertConceptMapGroupComponent(t));
062    return tgt;
063  }
064
065  public static org.hl7.fhir.r4.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu3.model.ConceptMap src) throws FHIRException {
066    if (src == null)
067      return null;
068    org.hl7.fhir.r4.model.ConceptMap tgt = new org.hl7.fhir.r4.model.ConceptMap();
069    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
070    if (src.hasUrl())
071      tgt.setUrlElement(Uri30_40.convertUri(src.getUrlElement()));
072    if (src.hasIdentifier())
073      tgt.setIdentifier(Identifier30_40.convertIdentifier(src.getIdentifier()));
074    if (src.hasVersion())
075      tgt.setVersionElement(String30_40.convertString(src.getVersionElement()));
076    if (src.hasName())
077      tgt.setNameElement(String30_40.convertString(src.getNameElement()));
078    if (src.hasTitle())
079      tgt.setTitleElement(String30_40.convertString(src.getTitleElement()));
080    if (src.hasStatus())
081      tgt.setStatusElement(Enumerations30_40.convertPublicationStatus(src.getStatusElement()));
082    if (src.hasExperimental())
083      tgt.setExperimentalElement(Boolean30_40.convertBoolean(src.getExperimentalElement()));
084    if (src.hasDateElement())
085      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
086    if (src.hasPublisher())
087      tgt.setPublisherElement(String30_40.convertString(src.getPublisherElement()));
088    for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact())
089      tgt.addContact(ContactDetail30_40.convertContactDetail(t));
090    if (src.hasDescription())
091      tgt.setDescriptionElement(MarkDown30_40.convertMarkdown(src.getDescriptionElement()));
092    for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext())
093      tgt.addUseContext(Timing30_40.convertUsageContext(t));
094    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction())
095      tgt.addJurisdiction(CodeableConcept30_40.convertCodeableConcept(t));
096    if (src.hasPurpose())
097      tgt.setPurposeElement(MarkDown30_40.convertMarkdown(src.getPurposeElement()));
098    if (src.hasCopyright())
099      tgt.setCopyrightElement(MarkDown30_40.convertMarkdown(src.getCopyrightElement()));
100    if (src.hasSource()) {
101      org.hl7.fhir.r4.model.Type t = ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getSource());
102      tgt.setSource(t instanceof org.hl7.fhir.r4.model.Reference ? new org.hl7.fhir.r4.model.CanonicalType(((org.hl7.fhir.r4.model.Reference) t).getReference()) : t);
103    }
104    if (src.hasTarget()) {
105      org.hl7.fhir.r4.model.Type t = ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getTarget());
106      tgt.setTarget(t instanceof org.hl7.fhir.r4.model.Reference ? new org.hl7.fhir.r4.model.CanonicalType(((org.hl7.fhir.r4.model.Reference) t).getReference()) : t);
107    }
108    for (org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent t : src.getGroup())
109      tgt.addGroup(convertConceptMapGroupComponent(t));
110    return tgt;
111  }
112
113  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence> convertConceptMapEquivalence(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence> src) throws FHIRException {
114      if (src == null || src.isEmpty())
115          return null;
116      Enumeration<Enumerations.ConceptMapEquivalence> tgt = new Enumeration<>(new Enumerations.ConceptMapEquivalenceEnumFactory());
117      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
118      if (src.getValue() == null) {
119          tgt.setValue(null);
120      } else {
121          switch (src.getValue()) {
122              case RELATEDTO:
123                  tgt.setValue(Enumerations.ConceptMapEquivalence.RELATEDTO);
124                  break;
125              case EQUIVALENT:
126                  tgt.setValue(Enumerations.ConceptMapEquivalence.EQUIVALENT);
127                  break;
128              case EQUAL:
129                  tgt.setValue(Enumerations.ConceptMapEquivalence.EQUAL);
130                  break;
131              case WIDER:
132                  tgt.setValue(Enumerations.ConceptMapEquivalence.WIDER);
133                  break;
134              case SUBSUMES:
135                  tgt.setValue(Enumerations.ConceptMapEquivalence.SUBSUMES);
136                  break;
137              case NARROWER:
138                  tgt.setValue(Enumerations.ConceptMapEquivalence.NARROWER);
139                  break;
140              case SPECIALIZES:
141                  tgt.setValue(Enumerations.ConceptMapEquivalence.SPECIALIZES);
142                  break;
143              case INEXACT:
144                  tgt.setValue(Enumerations.ConceptMapEquivalence.INEXACT);
145                  break;
146              case UNMATCHED:
147                  tgt.setValue(Enumerations.ConceptMapEquivalence.UNMATCHED);
148                  break;
149              case DISJOINT:
150                  tgt.setValue(Enumerations.ConceptMapEquivalence.DISJOINT);
151                  break;
152              default:
153                  tgt.setValue(Enumerations.ConceptMapEquivalence.NULL);
154                  break;
155          }
156      }
157      return tgt;
158  }
159
160  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence> convertConceptMapEquivalence(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence> src) throws FHIRException {
161      if (src == null || src.isEmpty())
162          return null;
163      org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalenceEnumFactory());
164      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
165      if (src.getValue() == null) {
166          tgt.setValue(null);
167      } else {
168          switch (src.getValue()) {
169              case RELATEDTO:
170                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.RELATEDTO);
171                  break;
172              case EQUIVALENT:
173                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.EQUIVALENT);
174                  break;
175              case EQUAL:
176                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.EQUAL);
177                  break;
178              case WIDER:
179                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.WIDER);
180                  break;
181              case SUBSUMES:
182                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.SUBSUMES);
183                  break;
184              case NARROWER:
185                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.NARROWER);
186                  break;
187              case SPECIALIZES:
188                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.SPECIALIZES);
189                  break;
190              case INEXACT:
191                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.INEXACT);
192                  break;
193              case UNMATCHED:
194                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.UNMATCHED);
195                  break;
196              case DISJOINT:
197                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.DISJOINT);
198                  break;
199              default:
200                  tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.NULL);
201                  break;
202          }
203      }
204      return tgt;
205  }
206
207  public static org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent convertConceptMapGroupComponent(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent src) throws FHIRException {
208    if (src == null)
209      return null;
210    org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent();
211    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
212    if (src.hasSource())
213      tgt.setSourceElement(Uri30_40.convertUri(src.getSourceElement()));
214    if (src.hasSourceVersion())
215      tgt.setSourceVersionElement(String30_40.convertString(src.getSourceVersionElement()));
216    if (src.hasTarget())
217      tgt.setTarget(src.getTarget());
218    if (src.hasTargetVersion())
219      tgt.setTargetVersion(src.getTargetVersion());
220    for (org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent t : src.getElement())
221      tgt.addElement(convertSourceElementComponent(t));
222    if (src.hasUnmapped())
223      tgt.setUnmapped(convertConceptMapGroupUnmappedComponent(src.getUnmapped()));
224    return tgt;
225  }
226
227  public static org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent convertConceptMapGroupComponent(org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent src) throws FHIRException {
228    if (src == null)
229      return null;
230    org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent();
231    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
232    if (src.hasSource())
233      tgt.setSourceElement(Uri30_40.convertUri(src.getSourceElement()));
234    if (src.hasSourceVersion())
235      tgt.setSourceVersionElement(String30_40.convertString(src.getSourceVersionElement()));
236    if (src.hasTarget())
237      tgt.setTarget(src.getTarget());
238    if (src.hasTargetVersion())
239      tgt.setTargetVersion(src.getTargetVersion());
240    for (org.hl7.fhir.r4.model.ConceptMap.SourceElementComponent t : src.getElement())
241      tgt.addElement(convertSourceElementComponent(t));
242    if (src.hasUnmapped())
243      tgt.setUnmapped(convertConceptMapGroupUnmappedComponent(src.getUnmapped()));
244    return tgt;
245  }
246
247  public static org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException {
248    if (src == null)
249      return null;
250    org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent();
251    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
252    if (src.hasMode())
253      tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement()));
254    if (src.hasCode())
255      tgt.setCodeElement(Code30_40.convertCode(src.getCodeElement()));
256    if (src.hasDisplay())
257      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
258    if (src.hasUrl())
259      tgt.setUrl(src.getUrl());
260    return tgt;
261  }
262
263  public static org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException {
264    if (src == null)
265      return null;
266    org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent();
267    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
268    if (src.hasMode())
269      tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement()));
270    if (src.hasCode())
271      tgt.setCodeElement(Code30_40.convertCode(src.getCodeElement()));
272    if (src.hasDisplay())
273      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
274    if (src.hasUrl())
275      tgt.setUrl(src.getUrl());
276    return tgt;
277  }
278
279  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException {
280      if (src == null || src.isEmpty())
281          return null;
282      org.hl7.fhir.r4.model.Enumeration<ConceptMap.ConceptMapGroupUnmappedMode> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new ConceptMap.ConceptMapGroupUnmappedModeEnumFactory());
283      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
284      if (src.getValue() == null) {
285          tgt.setValue(null);
286      } else {
287          switch (src.getValue()) {
288              case PROVIDED:
289                  tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.PROVIDED);
290                  break;
291              case FIXED:
292                  tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.FIXED);
293                  break;
294              case OTHERMAP:
295                  tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP);
296                  break;
297              default:
298                  tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.NULL);
299                  break;
300          }
301      }
302      return tgt;
303  }
304
305  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException {
306      if (src == null || src.isEmpty())
307          return null;
308      Enumeration<org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode> tgt = new Enumeration<>(new org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedModeEnumFactory());
309      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
310      if (src.getValue() == null) {
311          tgt.setValue(null);
312      } else {
313          switch (src.getValue()) {
314              case PROVIDED:
315                  tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.PROVIDED);
316                  break;
317              case FIXED:
318                  tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.FIXED);
319                  break;
320              case OTHERMAP:
321                  tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP);
322                  break;
323              default:
324                  tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.NULL);
325                  break;
326          }
327      }
328      return tgt;
329  }
330
331  public static org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent src) throws FHIRException {
332    if (src == null)
333      return null;
334    org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent();
335    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
336    if (src.hasProperty())
337      tgt.setPropertyElement(Uri30_40.convertUri(src.getPropertyElement()));
338    if (src.hasSystem())
339      tgt.setSystem(src.getSystem());
340    if (src.hasValue())
341      tgt.setCodeElement(String30_40.convertString(src.getValueElement()));
342    if (src.hasDisplay())
343      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
344    return tgt;
345  }
346
347  public static org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent src) throws FHIRException {
348    if (src == null)
349      return null;
350    org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent();
351    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
352    if (src.hasProperty())
353      tgt.setPropertyElement(Uri30_40.convertUri(src.getPropertyElement()));
354    if (src.hasSystem())
355      tgt.setSystem(src.getSystem());
356    if (src.hasCode())
357      tgt.setValueElement(String30_40.convertString(src.getCodeElement()));
358    if (src.hasDisplay())
359      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
360    return tgt;
361  }
362
363  public static org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent convertSourceElementComponent(org.hl7.fhir.r4.model.ConceptMap.SourceElementComponent src) throws FHIRException {
364    if (src == null)
365      return null;
366    org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent();
367    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
368    if (src.hasCode())
369      tgt.setCodeElement(Code30_40.convertCode(src.getCodeElement()));
370    if (src.hasDisplay())
371      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
372    for (org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent t : src.getTarget())
373      tgt.addTarget(convertTargetElementComponent(t));
374    return tgt;
375  }
376
377  public static org.hl7.fhir.r4.model.ConceptMap.SourceElementComponent convertSourceElementComponent(org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent src) throws FHIRException {
378    if (src == null)
379      return null;
380    org.hl7.fhir.r4.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.SourceElementComponent();
381    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
382    if (src.hasCode())
383      tgt.setCodeElement(Code30_40.convertCode(src.getCodeElement()));
384    if (src.hasDisplay())
385      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
386    for (org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent t : src.getTarget())
387      tgt.addTarget(convertTargetElementComponent(t));
388    return tgt;
389  }
390
391  public static org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent convertTargetElementComponent(org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent src) throws FHIRException {
392    if (src == null)
393      return null;
394    org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent();
395    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
396    if (src.hasCode())
397      tgt.setCodeElement(Code30_40.convertCode(src.getCodeElement()));
398    if (src.hasDisplay())
399      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
400    if (src.hasEquivalence())
401      tgt.setEquivalenceElement(convertConceptMapEquivalence(src.getEquivalenceElement()));
402    if (src.hasComment())
403      tgt.setCommentElement(String30_40.convertString(src.getCommentElement()));
404    for (org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent t : src.getDependsOn())
405      tgt.addDependsOn(convertOtherElementComponent(t));
406    for (org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent t : src.getProduct())
407      tgt.addProduct(convertOtherElementComponent(t));
408    return tgt;
409  }
410
411  public static org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent convertTargetElementComponent(org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent src) throws FHIRException {
412    if (src == null)
413      return null;
414    org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent();
415    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
416    if (src.hasCode())
417      tgt.setCodeElement(Code30_40.convertCode(src.getCodeElement()));
418    if (src.hasDisplay())
419      tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
420    if (src.hasEquivalence())
421      tgt.setEquivalenceElement(convertConceptMapEquivalence(src.getEquivalenceElement()));
422    if (src.hasComment())
423      tgt.setCommentElement(String30_40.convertString(src.getCommentElement()));
424    for (org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent t : src.getDependsOn())
425      tgt.addDependsOn(convertOtherElementComponent(t));
426    for (org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent t : src.getProduct())
427      tgt.addProduct(convertOtherElementComponent(t));
428    return tgt;
429  }
430}