001package org.hl7.fhir.convertors.conv14_40.resources14_40;
002
003import org.hl7.fhir.convertors.context.ConversionContext14_40;
004import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40;
005import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40;
006import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40;
007import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40;
008import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40;
009import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40;
010import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40;
011import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40;
012import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40;
013import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.UnsignedInt14_40;
014import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40;
015import org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent;
016import org.hl7.fhir.exceptions.FHIRException;
017import org.hl7.fhir.r4.model.CodeSystem;
018import org.hl7.fhir.r4.model.CodeSystem.FilterOperator;
019import org.hl7.fhir.r4.model.Enumeration;
020
021public class CodeSystem14_40 {
022
023  public static org.hl7.fhir.r4.model.CodeSystem convertCodeSystem(org.hl7.fhir.dstu2016may.model.CodeSystem src) throws FHIRException {
024    if (src == null || src.isEmpty())
025      return null;
026    org.hl7.fhir.r4.model.CodeSystem tgt = new org.hl7.fhir.r4.model.CodeSystem();
027    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyDomainResource(src, tgt);
028    if (src.hasUrl())
029      tgt.setUrlElement(Uri14_40.convertUri(src.getUrlElement()));
030    if (src.hasIdentifier())
031      tgt.addIdentifier(Identifier14_40.convertIdentifier(src.getIdentifier()));
032    if (src.hasVersion())
033      tgt.setVersionElement(String14_40.convertString(src.getVersionElement()));
034    if (src.hasName())
035      tgt.setNameElement(String14_40.convertString(src.getNameElement()));
036    if (src.hasStatus())
037      tgt.setStatusElement(Enumerations14_40.convertConformanceResourceStatus(src.getStatusElement()));
038    if (src.hasExperimental())
039      tgt.setExperimentalElement(Boolean14_40.convertBoolean(src.getExperimentalElement()));
040    if (src.hasPublisher())
041      tgt.setPublisherElement(String14_40.convertString(src.getPublisherElement()));
042    for (org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContactComponent t : src.getContact())
043      tgt.addContact(convertCodeSystemContactComponent(t));
044    if (src.hasDate())
045      tgt.setDateElement(DateTime14_40.convertDateTime(src.getDateElement()));
046    if (src.hasDescription())
047      tgt.setDescription(src.getDescription());
048    for (org.hl7.fhir.dstu2016may.model.CodeableConcept t : src.getUseContext())
049      if (VersionConvertor_14_40.isJurisdiction(t))
050        tgt.addJurisdiction(CodeableConcept14_40.convertCodeableConcept(t));
051      else
052        tgt.addUseContext(CodeableConcept14_40.convertCodeableConceptToUsageContext(t));
053    if (src.hasRequirements())
054      tgt.setPurpose(src.getRequirements());
055    if (src.hasCopyright())
056      tgt.setCopyright(src.getCopyright());
057    if (src.hasCaseSensitive())
058      tgt.setCaseSensitiveElement(Boolean14_40.convertBoolean(src.getCaseSensitiveElement()));
059    if (src.hasValueSet())
060      tgt.setValueSet(src.getValueSet());
061    if (src.hasCompositional())
062      tgt.setCompositionalElement(Boolean14_40.convertBoolean(src.getCompositionalElement()));
063    if (src.hasVersionNeeded())
064      tgt.setVersionNeededElement(Boolean14_40.convertBoolean(src.getVersionNeededElement()));
065    if (src.hasContent())
066      tgt.setContentElement(convertCodeSystemContentMode(src.getContentElement()));
067    if (src.hasCount())
068      tgt.setCountElement(UnsignedInt14_40.convertUnsignedInt(src.getCountElement()));
069    for (org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemFilterComponent t : src.getFilter())
070      tgt.addFilter(convertCodeSystemFilterComponent(t));
071    for (org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemPropertyComponent t : src.getProperty())
072      tgt.addProperty(convertPropertyComponent(t));
073    for (org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionComponent t : src.getConcept())
074      tgt.addConcept(convertConceptDefinitionComponent(t));
075    return tgt;
076  }
077
078  public static org.hl7.fhir.dstu2016may.model.CodeSystem convertCodeSystem(org.hl7.fhir.r4.model.CodeSystem src) throws FHIRException {
079    if (src == null || src.isEmpty())
080      return null;
081    org.hl7.fhir.dstu2016may.model.CodeSystem tgt = new org.hl7.fhir.dstu2016may.model.CodeSystem();
082    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyDomainResource(src, tgt);
083    if (src.hasUrl())
084      tgt.setUrlElement(Uri14_40.convertUri(src.getUrlElement()));
085    if (src.hasIdentifier())
086      tgt.setIdentifier(Identifier14_40.convertIdentifier(src.getIdentifierFirstRep()));
087    if (src.hasVersion())
088      tgt.setVersionElement(String14_40.convertString(src.getVersionElement()));
089    if (src.hasName())
090      tgt.setNameElement(String14_40.convertString(src.getNameElement()));
091    if (src.hasStatus())
092      tgt.setStatusElement(Enumerations14_40.convertConformanceResourceStatus(src.getStatusElement()));
093    if (src.hasExperimental())
094      tgt.setExperimentalElement(Boolean14_40.convertBoolean(src.getExperimentalElement()));
095    if (src.hasPublisher())
096      tgt.setPublisherElement(String14_40.convertString(src.getPublisherElement()));
097    for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact()) tgt.addContact(convertCodeSystemContactComponent(t));
098    if (src.hasDate())
099      tgt.setDateElement(DateTime14_40.convertDateTime(src.getDateElement()));
100    if (src.hasDescription())
101      tgt.setDescription(src.getDescription());
102    for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext())
103      if (t.hasValueCodeableConcept())
104        tgt.addUseContext(CodeableConcept14_40.convertCodeableConcept(t.getValueCodeableConcept()));
105    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction())
106      tgt.addUseContext(CodeableConcept14_40.convertCodeableConcept(t));
107    if (src.hasPurpose())
108      tgt.setRequirements(src.getPurpose());
109    if (src.hasCopyright())
110      tgt.setCopyright(src.getCopyright());
111    if (src.hasCaseSensitive())
112      tgt.setCaseSensitiveElement(Boolean14_40.convertBoolean(src.getCaseSensitiveElement()));
113    if (src.hasValueSet())
114      tgt.setValueSet(src.getValueSet());
115    if (src.hasCompositional())
116      tgt.setCompositionalElement(Boolean14_40.convertBoolean(src.getCompositionalElement()));
117    if (src.hasVersionNeeded())
118      tgt.setVersionNeededElement(Boolean14_40.convertBoolean(src.getVersionNeededElement()));
119    if (src.hasContent())
120      tgt.setContentElement(convertCodeSystemContentMode(src.getContentElement()));
121    if (src.hasCount())
122      tgt.setCountElement(UnsignedInt14_40.convertUnsignedInt(src.getCountElement()));
123    for (org.hl7.fhir.r4.model.CodeSystem.CodeSystemFilterComponent t : src.getFilter())
124      tgt.addFilter(convertCodeSystemFilterComponent(t));
125    for (org.hl7.fhir.r4.model.CodeSystem.PropertyComponent t : src.getProperty())
126      tgt.addProperty(convertPropertyComponent(t));
127    for (org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent t : src.getConcept())
128      tgt.addConcept(convertConceptDefinitionComponent(t));
129    return tgt;
130  }
131
132  public static org.hl7.fhir.r4.model.ContactDetail convertCodeSystemContactComponent(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContactComponent src) throws FHIRException {
133    if (src == null || src.isEmpty())
134      return null;
135    org.hl7.fhir.r4.model.ContactDetail tgt = new org.hl7.fhir.r4.model.ContactDetail();
136    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt);
137    if (src.hasName())
138      tgt.setNameElement(String14_40.convertString(src.getNameElement()));
139    for (org.hl7.fhir.dstu2016may.model.ContactPoint t : src.getTelecom())
140      tgt.addTelecom(ContactPoint14_40.convertContactPoint(t));
141    return tgt;
142  }
143
144  public static org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContactComponent convertCodeSystemContactComponent(org.hl7.fhir.r4.model.ContactDetail src) throws FHIRException {
145    if (src == null || src.isEmpty())
146      return null;
147    org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContactComponent tgt = new org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContactComponent();
148    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt);
149    if (src.hasName())
150      tgt.setNameElement(String14_40.convertString(src.getNameElement()));
151    for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom())
152      tgt.addTelecom(ContactPoint14_40.convertContactPoint(t));
153    return tgt;
154  }
155
156  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode> convertCodeSystemContentMode(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode> src) throws FHIRException {
157    if (src == null || src.isEmpty())
158      return null;
159    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentModeEnumFactory());
160    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt);
161    switch (src.getValue()) {
162      case NOTPRESENT:
163        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode.NOTPRESENT);
164        break;
165      case EXAMPLE:
166        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode.EXAMPLAR);
167        break;
168      case FRAGMENT:
169        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode.FRAGMENT);
170        break;
171      case COMPLETE:
172        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode.COMPLETE);
173        break;
174      default:
175        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode.NULL);
176        break;
177    }
178    return tgt;
179  }
180
181  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode> convertCodeSystemContentMode(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemContentMode> src) throws FHIRException {
182    if (src == null || src.isEmpty())
183      return null;
184    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentModeEnumFactory());
185    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt);
186    switch (src.getValue()) {
187      case NOTPRESENT:
188        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode.NOTPRESENT);
189        break;
190      case EXAMPLAR:
191        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode.EXAMPLE);
192        break;
193      case FRAGMENT:
194        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode.FRAGMENT);
195        break;
196      case COMPLETE:
197        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode.COMPLETE);
198        break;
199      default:
200        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode.NULL);
201        break;
202    }
203    return tgt;
204  }
205
206  public static org.hl7.fhir.r4.model.CodeSystem.CodeSystemFilterComponent convertCodeSystemFilterComponent(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemFilterComponent src) throws FHIRException {
207    if (src == null || src.isEmpty())
208      return null;
209    org.hl7.fhir.r4.model.CodeSystem.CodeSystemFilterComponent tgt = new org.hl7.fhir.r4.model.CodeSystem.CodeSystemFilterComponent();
210    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
211    if (src.hasCodeElement())
212      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
213    if (src.hasDescription())
214      tgt.setDescriptionElement(String14_40.convertString(src.getDescriptionElement()));
215    for (org.hl7.fhir.dstu2016may.model.CodeType t : src.getOperator())
216      try {
217        tgt.addOperator(CodeSystem.FilterOperator.fromCode(t.getValue()));
218      } catch (org.hl7.fhir.exceptions.FHIRException e) {
219        throw new FHIRException(e);
220      }
221    if (src.hasValueElement())
222      tgt.setValueElement(String14_40.convertString(src.getValueElement()));
223    return tgt;
224  }
225
226  public static org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemFilterComponent convertCodeSystemFilterComponent(org.hl7.fhir.r4.model.CodeSystem.CodeSystemFilterComponent src) throws FHIRException {
227    if (src == null || src.isEmpty())
228      return null;
229    org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemFilterComponent tgt = new org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemFilterComponent();
230    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
231    if (src.hasCodeElement())
232      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
233    if (src.hasDescription())
234      tgt.setDescriptionElement(String14_40.convertString(src.getDescriptionElement()));
235    for (Enumeration<FilterOperator> t : src.getOperator()) tgt.addOperator(t.getValue().toCode());
236    if (src.hasValueElement())
237      tgt.setValueElement(String14_40.convertString(src.getValueElement()));
238    return tgt;
239  }
240
241  public static org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent convertConceptDefinitionComponent(org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionComponent src) throws FHIRException {
242    if (src == null || src.isEmpty())
243      return null;
244    org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent tgt = new org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent();
245    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
246    if (src.hasCodeElement())
247      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
248    if (src.hasDisplay())
249      tgt.setDisplayElement(String14_40.convertString(src.getDisplayElement()));
250    if (src.hasDefinition())
251      tgt.setDefinitionElement(String14_40.convertString(src.getDefinitionElement()));
252    for (org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionDesignationComponent t : src.getDesignation())
253      tgt.addDesignation(convertConceptDefinitionDesignationComponent(t));
254    for (ConceptDefinitionPropertyComponent t : src.getProperty()) tgt.addProperty(convertConceptPropertyComponent(t));
255    for (org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionComponent t : src.getConcept())
256      tgt.addConcept(convertConceptDefinitionComponent(t));
257    return tgt;
258  }
259
260  public static org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionComponent convertConceptDefinitionComponent(org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent src) throws FHIRException {
261    if (src == null || src.isEmpty())
262      return null;
263    org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionComponent tgt = new org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionComponent();
264    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
265    if (src.hasCodeElement())
266      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
267    if (src.hasDisplay())
268      tgt.setDisplayElement(String14_40.convertString(src.getDisplayElement()));
269    if (src.hasDefinition())
270      tgt.setDefinitionElement(String14_40.convertString(src.getDefinitionElement()));
271    for (org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionDesignationComponent t : src.getDesignation())
272      tgt.addDesignation(convertConceptDefinitionDesignationComponent(t));
273    for (org.hl7.fhir.r4.model.CodeSystem.ConceptPropertyComponent t : src.getProperty())
274      tgt.addProperty(convertConceptPropertyComponent(t));
275    for (org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent t : src.getConcept())
276      tgt.addConcept(convertConceptDefinitionComponent(t));
277    return tgt;
278  }
279
280  public static org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionDesignationComponent convertConceptDefinitionDesignationComponent(org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionDesignationComponent src) throws FHIRException {
281    if (src == null || src.isEmpty())
282      return null;
283    org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionDesignationComponent tgt = new org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionDesignationComponent();
284    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
285    if (src.hasLanguage())
286      tgt.setLanguageElement(Code14_40.convertCode(src.getLanguageElement()));
287    if (src.hasUse())
288      tgt.setUse(Coding14_40.convertCoding(src.getUse()));
289    if (src.hasValueElement())
290      tgt.setValueElement(String14_40.convertString(src.getValueElement()));
291    return tgt;
292  }
293
294  public static org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionDesignationComponent convertConceptDefinitionDesignationComponent(org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionDesignationComponent src) throws FHIRException {
295    if (src == null || src.isEmpty())
296      return null;
297    org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionDesignationComponent tgt = new org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionDesignationComponent();
298    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
299    if (src.hasLanguage())
300      tgt.setLanguageElement(Code14_40.convertCode(src.getLanguageElement()));
301    if (src.hasUse())
302      tgt.setUse(Coding14_40.convertCoding(src.getUse()));
303    if (src.hasValueElement())
304      tgt.setValueElement(String14_40.convertString(src.getValueElement()));
305    return tgt;
306  }
307
308  public static org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent convertConceptPropertyComponent(org.hl7.fhir.r4.model.CodeSystem.ConceptPropertyComponent src) throws FHIRException {
309    if (src == null || src.isEmpty())
310      return null;
311    org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent tgt = new org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent();
312    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
313    if (src.hasCodeElement())
314      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
315    if (src.hasValue())
316      tgt.setValue(ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().convertType(src.getValue()));
317    return tgt;
318  }
319
320  public static org.hl7.fhir.r4.model.CodeSystem.ConceptPropertyComponent convertConceptPropertyComponent(org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent src) throws FHIRException {
321    if (src == null || src.isEmpty())
322      return null;
323    org.hl7.fhir.r4.model.CodeSystem.ConceptPropertyComponent tgt = new org.hl7.fhir.r4.model.CodeSystem.ConceptPropertyComponent();
324    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
325    if (src.hasCodeElement())
326      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
327    if (src.hasValue())
328      tgt.setValue(ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().convertType(src.getValue()));
329    return tgt;
330  }
331
332  public static org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemPropertyComponent convertPropertyComponent(org.hl7.fhir.r4.model.CodeSystem.PropertyComponent src) throws FHIRException {
333    if (src == null || src.isEmpty())
334      return null;
335    org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemPropertyComponent tgt = new org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemPropertyComponent();
336    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
337    if (src.hasCodeElement())
338      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
339    if (src.hasDescription())
340      tgt.setDescriptionElement(String14_40.convertString(src.getDescriptionElement()));
341    if (src.hasType())
342      tgt.setTypeElement(convertPropertyType(src.getTypeElement()));
343    return tgt;
344  }
345
346  public static org.hl7.fhir.r4.model.CodeSystem.PropertyComponent convertPropertyComponent(org.hl7.fhir.dstu2016may.model.CodeSystem.CodeSystemPropertyComponent src) throws FHIRException {
347    if (src == null || src.isEmpty())
348      return null;
349    org.hl7.fhir.r4.model.CodeSystem.PropertyComponent tgt = new org.hl7.fhir.r4.model.CodeSystem.PropertyComponent();
350    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt);
351    if (src.hasCodeElement())
352      tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement()));
353    if (src.hasDescription())
354      tgt.setDescriptionElement(String14_40.convertString(src.getDescriptionElement()));
355    if (src.hasType())
356      tgt.setTypeElement(convertPropertyType(src.getTypeElement()));
357    return tgt;
358  }
359
360  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.CodeSystem.PropertyType> convertPropertyType(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType> src) throws FHIRException {
361    if (src == null || src.isEmpty())
362      return null;
363    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.CodeSystem.PropertyType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.CodeSystem.PropertyTypeEnumFactory());
364    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt);
365    switch (src.getValue()) {
366      case CODE:
367        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.PropertyType.CODE);
368        break;
369      case CODING:
370        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.PropertyType.CODING);
371        break;
372      case STRING:
373        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.PropertyType.STRING);
374        break;
375      case INTEGER:
376        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.PropertyType.INTEGER);
377        break;
378      case BOOLEAN:
379        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.PropertyType.BOOLEAN);
380        break;
381      case DATETIME:
382        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.PropertyType.DATETIME);
383        break;
384      default:
385        tgt.setValue(org.hl7.fhir.r4.model.CodeSystem.PropertyType.NULL);
386        break;
387    }
388    return tgt;
389  }
390
391  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType> convertPropertyType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.CodeSystem.PropertyType> src) throws FHIRException {
392    if (src == null || src.isEmpty())
393      return null;
394    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyTypeEnumFactory());
395    ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt);
396    switch (src.getValue()) {
397      case CODE:
398        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType.CODE);
399        break;
400      case CODING:
401        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType.CODING);
402        break;
403      case STRING:
404        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType.STRING);
405        break;
406      case INTEGER:
407        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType.INTEGER);
408        break;
409      case BOOLEAN:
410        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType.BOOLEAN);
411        break;
412      case DATETIME:
413        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType.DATETIME);
414        break;
415      default:
416        tgt.setValue(org.hl7.fhir.dstu2016may.model.CodeSystem.PropertyType.NULL);
417        break;
418    }
419    return tgt;
420  }
421}