001package org.hl7.fhir.convertors.conv14_30.resources14_30;
002
003import org.hl7.fhir.convertors.context.ConversionContext14_30;
004import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30;
005import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30;
006import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30;
007import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30;
008import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*;
009import org.hl7.fhir.exceptions.FHIRException;
010
011public class Conformance14_30 {
012
013  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatus> convertConditionalDeleteStatus(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatus> src) throws FHIRException {
014    if (src == null || src.isEmpty())
015      return null;
016    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatusEnumFactory());
017    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
018    switch (src.getValue()) {
019      case NOTSUPPORTED:
020        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatus.NOTSUPPORTED);
021        break;
022      case SINGLE:
023        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatus.SINGLE);
024        break;
025      case MULTIPLE:
026        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatus.MULTIPLE);
027        break;
028      default:
029        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatus.NULL);
030        break;
031    }
032    return tgt;
033  }
034
035  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatus> convertConditionalDeleteStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.ConditionalDeleteStatus> src) throws FHIRException {
036    if (src == null || src.isEmpty())
037      return null;
038    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatus> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatusEnumFactory());
039    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
040    switch (src.getValue()) {
041      case NOTSUPPORTED:
042        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatus.NOTSUPPORTED);
043        break;
044      case SINGLE:
045        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatus.SINGLE);
046        break;
047      case MULTIPLE:
048        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatus.MULTIPLE);
049        break;
050      default:
051        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConditionalDeleteStatus.NULL);
052        break;
053    }
054    return tgt;
055  }
056
057  public static org.hl7.fhir.dstu2016may.model.Conformance convertConformance(org.hl7.fhir.dstu3.model.CapabilityStatement src) throws FHIRException {
058    if (src == null || src.isEmpty())
059      return null;
060    org.hl7.fhir.dstu2016may.model.Conformance tgt = new org.hl7.fhir.dstu2016may.model.Conformance();
061    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
062    if (src.hasUrl())
063      tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement()));
064    if (src.hasVersion())
065      tgt.setVersionElement(String14_30.convertString(src.getVersionElement()));
066    if (src.hasName())
067      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
068    if (src.hasStatus())
069      tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement()));
070    if (src.hasExperimental())
071      tgt.setExperimentalElement(Boolean14_30.convertBoolean(src.getExperimentalElement()));
072    if (src.hasDate())
073      tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement()));
074    if (src.hasPublisher())
075      tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement()));
076    for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact())
077      tgt.addContact(convertConformanceContactComponent(t));
078    if (src.hasDescription())
079      tgt.setDescription(src.getDescription());
080    for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext())
081      if (t.hasValueCodeableConcept())
082        tgt.addUseContext(CodeableConcept14_30.convertCodeableConcept(t.getValueCodeableConcept()));
083    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction())
084      tgt.addUseContext(CodeableConcept14_30.convertCodeableConcept(t));
085    if (src.hasPurpose())
086      tgt.setRequirements(src.getPurpose());
087    if (src.hasCopyright())
088      tgt.setCopyright(src.getCopyright());
089    if (src.hasKind())
090      tgt.setKindElement(convertConformanceStatementKind(src.getKindElement()));
091    if (src.hasSoftware())
092      tgt.setSoftware(convertConformanceSoftwareComponent(src.getSoftware()));
093    if (src.hasImplementation())
094      tgt.setImplementation(convertConformanceImplementationComponent(src.getImplementation()));
095    if (src.hasFhirVersionElement())
096      tgt.setFhirVersionElement(Id14_30.convertId(src.getFhirVersionElement()));
097    if (src.hasAcceptUnknown())
098      tgt.setAcceptUnknownElement(convertUnknownContentCode(src.getAcceptUnknownElement()));
099    for (org.hl7.fhir.dstu3.model.CodeType t : src.getFormat()) tgt.addFormat(t.getValue());
100    for (org.hl7.fhir.dstu3.model.Reference t : src.getProfile()) tgt.addProfile(Reference14_30.convertReference(t));
101    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestComponent t : src.getRest())
102      tgt.addRest(convertConformanceRestComponent(t));
103    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingComponent t : src.getMessaging())
104      tgt.addMessaging(convertConformanceMessagingComponent(t));
105    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementDocumentComponent t : src.getDocument())
106      tgt.addDocument(convertConformanceDocumentComponent(t));
107    return tgt;
108  }
109
110  public static org.hl7.fhir.dstu3.model.CapabilityStatement convertConformance(org.hl7.fhir.dstu2016may.model.Conformance src) throws FHIRException {
111    if (src == null || src.isEmpty())
112      return null;
113    org.hl7.fhir.dstu3.model.CapabilityStatement tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement();
114    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
115    if (src.hasUrl())
116      tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement()));
117    if (src.hasVersion())
118      tgt.setVersionElement(String14_30.convertString(src.getVersionElement()));
119    if (src.hasName())
120      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
121    if (src.hasStatus())
122      tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement()));
123    if (src.hasExperimental())
124      tgt.setExperimentalElement(Boolean14_30.convertBoolean(src.getExperimentalElement()));
125    if (src.hasDate())
126      tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement()));
127    if (src.hasPublisher())
128      tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement()));
129    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceContactComponent t : src.getContact())
130      tgt.addContact(convertConformanceContactComponent(t));
131    if (src.hasDescription())
132      tgt.setDescription(src.getDescription());
133    for (org.hl7.fhir.dstu2016may.model.CodeableConcept t : src.getUseContext())
134      if (VersionConvertor_14_30.isJurisdiction(t))
135        tgt.addJurisdiction(CodeableConcept14_30.convertCodeableConcept(t));
136      else
137        tgt.addUseContext(CodeableConcept14_30.convertCodeableConceptToUsageContext(t));
138    if (src.hasRequirements())
139      tgt.setPurpose(src.getRequirements());
140    if (src.hasCopyright())
141      tgt.setCopyright(src.getCopyright());
142    if (src.hasKind())
143      tgt.setKindElement(convertConformanceStatementKind(src.getKindElement()));
144    if (src.hasSoftware())
145      tgt.setSoftware(convertConformanceSoftwareComponent(src.getSoftware()));
146    if (src.hasImplementation())
147      tgt.setImplementation(convertConformanceImplementationComponent(src.getImplementation()));
148    if (src.hasFhirVersionElement())
149      tgt.setFhirVersionElement(Id14_30.convertId(src.getFhirVersionElement()));
150    if (src.hasAcceptUnknown())
151      tgt.setAcceptUnknownElement(convertUnknownContentCode(src.getAcceptUnknownElement()));
152    for (org.hl7.fhir.dstu2016may.model.CodeType t : src.getFormat()) tgt.addFormat(t.getValue());
153    for (org.hl7.fhir.dstu2016may.model.Reference t : src.getProfile())
154      tgt.addProfile(Reference14_30.convertReference(t));
155    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestComponent t : src.getRest())
156      tgt.addRest(convertConformanceRestComponent(t));
157    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingComponent t : src.getMessaging())
158      tgt.addMessaging(convertConformanceMessagingComponent(t));
159    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceDocumentComponent t : src.getDocument())
160      tgt.addDocument(convertConformanceDocumentComponent(t));
161    return tgt;
162  }
163
164  public static org.hl7.fhir.dstu3.model.ContactDetail convertConformanceContactComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceContactComponent src) throws FHIRException {
165    if (src == null || src.isEmpty())
166      return null;
167    org.hl7.fhir.dstu3.model.ContactDetail tgt = new org.hl7.fhir.dstu3.model.ContactDetail();
168    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
169    if (src.hasName())
170      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
171    for (org.hl7.fhir.dstu2016may.model.ContactPoint t : src.getTelecom())
172      tgt.addTelecom(ContactPoint14_30.convertContactPoint(t));
173    return tgt;
174  }
175
176  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceContactComponent convertConformanceContactComponent(org.hl7.fhir.dstu3.model.ContactDetail src) throws FHIRException {
177    if (src == null || src.isEmpty())
178      return null;
179    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceContactComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceContactComponent();
180    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
181    if (src.hasName())
182      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
183    for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom())
184      tgt.addTelecom(ContactPoint14_30.convertContactPoint(t));
185    return tgt;
186  }
187
188  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceDocumentComponent convertConformanceDocumentComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementDocumentComponent src) throws FHIRException {
189    if (src == null || src.isEmpty())
190      return null;
191    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceDocumentComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceDocumentComponent();
192    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
193    if (src.hasMode())
194      tgt.setModeElement(convertDocumentMode(src.getModeElement()));
195    if (src.hasDocumentation())
196      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
197    if (src.hasProfile())
198      tgt.setProfile(Reference14_30.convertReference(src.getProfile()));
199    return tgt;
200  }
201
202  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementDocumentComponent convertConformanceDocumentComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceDocumentComponent src) throws FHIRException {
203    if (src == null || src.isEmpty())
204      return null;
205    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementDocumentComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementDocumentComponent();
206    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
207    if (src.hasMode())
208      tgt.setModeElement(convertDocumentMode(src.getModeElement()));
209    if (src.hasDocumentation())
210      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
211    if (src.hasProfile())
212      tgt.setProfile(Reference14_30.convertReference(src.getProfile()));
213    return tgt;
214  }
215
216  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.EventCapabilityMode> convertConformanceEventMode(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConformanceEventMode> src) throws FHIRException {
217    if (src == null || src.isEmpty())
218      return null;
219    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.EventCapabilityMode> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.EventCapabilityModeEnumFactory());
220    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
221    switch (src.getValue()) {
222      case SENDER:
223        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.EventCapabilityMode.SENDER);
224        break;
225      case RECEIVER:
226        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.EventCapabilityMode.RECEIVER);
227        break;
228      default:
229        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.EventCapabilityMode.NULL);
230        break;
231    }
232    return tgt;
233  }
234
235  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConformanceEventMode> convertConformanceEventMode(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.EventCapabilityMode> src) throws FHIRException {
236    if (src == null || src.isEmpty())
237      return null;
238    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConformanceEventMode> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceEventModeEnumFactory());
239    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
240    switch (src.getValue()) {
241      case SENDER:
242        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceEventMode.SENDER);
243        break;
244      case RECEIVER:
245        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceEventMode.RECEIVER);
246        break;
247      default:
248        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceEventMode.NULL);
249        break;
250    }
251    return tgt;
252  }
253
254  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceImplementationComponent convertConformanceImplementationComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementImplementationComponent src) throws FHIRException {
255    if (src == null || src.isEmpty())
256      return null;
257    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceImplementationComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceImplementationComponent();
258    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
259    if (src.hasDescriptionElement())
260      tgt.setDescriptionElement(String14_30.convertString(src.getDescriptionElement()));
261    if (src.hasUrl())
262      tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement()));
263    return tgt;
264  }
265
266  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementImplementationComponent convertConformanceImplementationComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceImplementationComponent src) throws FHIRException {
267    if (src == null || src.isEmpty())
268      return null;
269    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementImplementationComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementImplementationComponent();
270    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
271    if (src.hasDescriptionElement())
272      tgt.setDescriptionElement(String14_30.convertString(src.getDescriptionElement()));
273    if (src.hasUrl())
274      tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement()));
275    return tgt;
276  }
277
278  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingComponent convertConformanceMessagingComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingComponent src) throws FHIRException {
279    if (src == null || src.isEmpty())
280      return null;
281    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingComponent();
282    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
283    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEndpointComponent t : src.getEndpoint())
284      tgt.addEndpoint(convertConformanceMessagingEndpointComponent(t));
285    if (src.hasReliableCache())
286      tgt.setReliableCacheElement(UnsignedInt14_30.convertUnsignedInt(src.getReliableCacheElement()));
287    if (src.hasDocumentation())
288      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
289    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEventComponent t : src.getEvent())
290      tgt.addEvent(convertConformanceMessagingEventComponent(t));
291    return tgt;
292  }
293
294  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingComponent convertConformanceMessagingComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingComponent src) throws FHIRException {
295    if (src == null || src.isEmpty())
296      return null;
297    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingComponent();
298    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
299    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEndpointComponent t : src.getEndpoint())
300      tgt.addEndpoint(convertConformanceMessagingEndpointComponent(t));
301    if (src.hasReliableCache())
302      tgt.setReliableCacheElement(UnsignedInt14_30.convertUnsignedInt(src.getReliableCacheElement()));
303    if (src.hasDocumentation())
304      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
305    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEventComponent t : src.getEvent())
306      tgt.addEvent(convertConformanceMessagingEventComponent(t));
307    return tgt;
308  }
309
310  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEndpointComponent convertConformanceMessagingEndpointComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEndpointComponent src) throws FHIRException {
311    if (src == null || src.isEmpty())
312      return null;
313    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEndpointComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEndpointComponent();
314    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
315    if (src.hasProtocol())
316      tgt.setProtocol(Code14_30.convertCoding(src.getProtocol()));
317    if (src.hasAddressElement())
318      tgt.setAddressElement(Uri14_30.convertUri(src.getAddressElement()));
319    return tgt;
320  }
321
322  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEndpointComponent convertConformanceMessagingEndpointComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEndpointComponent src) throws FHIRException {
323    if (src == null || src.isEmpty())
324      return null;
325    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEndpointComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEndpointComponent();
326    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
327    if (src.hasProtocol())
328      tgt.setProtocol(Code14_30.convertCoding(src.getProtocol()));
329    if (src.hasAddressElement())
330      tgt.setAddressElement(Uri14_30.convertUri(src.getAddressElement()));
331    return tgt;
332  }
333
334  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEventComponent convertConformanceMessagingEventComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEventComponent src) throws FHIRException {
335    if (src == null || src.isEmpty())
336      return null;
337    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEventComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEventComponent();
338    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
339    if (src.hasCode())
340      tgt.setCode(Code14_30.convertCoding(src.getCode()));
341    if (src.hasCategory())
342      tgt.setCategoryElement(convertMessageSignificanceCategory(src.getCategoryElement()));
343    if (src.hasMode())
344      tgt.setModeElement(convertConformanceEventMode(src.getModeElement()));
345    if (src.hasFocusElement())
346      tgt.setFocusElement(Code14_30.convertCode(src.getFocusElement()));
347    if (src.hasRequest())
348      tgt.setRequest(Reference14_30.convertReference(src.getRequest()));
349    if (src.hasResponse())
350      tgt.setResponse(Reference14_30.convertReference(src.getResponse()));
351    if (src.hasDocumentation())
352      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
353    return tgt;
354  }
355
356  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEventComponent convertConformanceMessagingEventComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementMessagingEventComponent src) throws FHIRException {
357    if (src == null || src.isEmpty())
358      return null;
359    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEventComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceMessagingEventComponent();
360    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
361    if (src.hasCode())
362      tgt.setCode(Code14_30.convertCoding(src.getCode()));
363    if (src.hasCategory())
364      tgt.setCategoryElement(convertMessageSignificanceCategory(src.getCategoryElement()));
365    if (src.hasMode())
366      tgt.setModeElement(convertConformanceEventMode(src.getModeElement()));
367    if (src.hasFocusElement())
368      tgt.setFocusElement(Code14_30.convertCode(src.getFocusElement()));
369    if (src.hasRequest())
370      tgt.setRequest(Reference14_30.convertReference(src.getRequest()));
371    if (src.hasResponse())
372      tgt.setResponse(Reference14_30.convertReference(src.getResponse()));
373    if (src.hasDocumentation())
374      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
375    return tgt;
376  }
377
378  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestComponent convertConformanceRestComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestComponent src) throws FHIRException {
379    if (src == null || src.isEmpty())
380      return null;
381    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestComponent();
382    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
383    if (src.hasMode())
384      tgt.setModeElement(convertRestfulConformanceMode(src.getModeElement()));
385    if (src.hasDocumentation())
386      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
387    if (src.hasSecurity())
388      tgt.setSecurity(convertConformanceRestSecurityComponent(src.getSecurity()));
389    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceComponent t : src.getResource())
390      tgt.addResource(convertConformanceRestResourceComponent(t));
391    for (org.hl7.fhir.dstu2016may.model.Conformance.SystemInteractionComponent t : src.getInteraction())
392      tgt.addInteraction(convertSystemInteractionComponent(t));
393    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceSearchParamComponent t : src.getSearchParam())
394      tgt.addSearchParam(convertConformanceRestResourceSearchParamComponent(t));
395    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestOperationComponent t : src.getOperation())
396      tgt.addOperation(convertConformanceRestOperationComponent(t));
397    for (org.hl7.fhir.dstu2016may.model.UriType t : src.getCompartment()) tgt.addCompartment(t.getValue());
398    return tgt;
399  }
400
401  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestComponent convertConformanceRestComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestComponent src) throws FHIRException {
402    if (src == null || src.isEmpty())
403      return null;
404    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestComponent();
405    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
406    if (src.hasMode())
407      tgt.setModeElement(convertRestfulConformanceMode(src.getModeElement()));
408    if (src.hasDocumentation())
409      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
410    if (src.hasSecurity())
411      tgt.setSecurity(convertConformanceRestSecurityComponent(src.getSecurity()));
412    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceComponent t : src.getResource())
413      tgt.addResource(convertConformanceRestResourceComponent(t));
414    for (org.hl7.fhir.dstu3.model.CapabilityStatement.SystemInteractionComponent t : src.getInteraction())
415      tgt.addInteraction(convertSystemInteractionComponent(t));
416    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent t : src.getSearchParam())
417      tgt.addSearchParam(convertConformanceRestResourceSearchParamComponent(t));
418    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestOperationComponent t : src.getOperation())
419      tgt.addOperation(convertConformanceRestOperationComponent(t));
420    for (org.hl7.fhir.dstu3.model.UriType t : src.getCompartment()) tgt.addCompartment(t.getValue());
421    return tgt;
422  }
423
424  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestOperationComponent convertConformanceRestOperationComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestOperationComponent src) throws FHIRException {
425    if (src == null || src.isEmpty())
426      return null;
427    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestOperationComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestOperationComponent();
428    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
429    if (src.hasNameElement())
430      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
431    if (src.hasDefinition())
432      tgt.setDefinition(Reference14_30.convertReference(src.getDefinition()));
433    return tgt;
434  }
435
436  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestOperationComponent convertConformanceRestOperationComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestOperationComponent src) throws FHIRException {
437    if (src == null || src.isEmpty())
438      return null;
439    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestOperationComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestOperationComponent();
440    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
441    if (src.hasNameElement())
442      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
443    if (src.hasDefinition())
444      tgt.setDefinition(Reference14_30.convertReference(src.getDefinition()));
445    return tgt;
446  }
447
448  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceComponent convertConformanceRestResourceComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceComponent src) throws FHIRException {
449    if (src == null || src.isEmpty())
450      return null;
451    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceComponent();
452    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
453    if (src.hasTypeElement())
454      tgt.setTypeElement(Code14_30.convertCode(src.getTypeElement()));
455    if (src.hasProfile())
456      tgt.setProfile(Reference14_30.convertReference(src.getProfile()));
457    for (org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceInteractionComponent t : src.getInteraction())
458      tgt.addInteraction(convertResourceInteractionComponent(t));
459    if (src.hasVersioning())
460      tgt.setVersioningElement(convertResourceVersionPolicy(src.getVersioningElement()));
461    if (src.hasReadHistory())
462      tgt.setReadHistoryElement(Boolean14_30.convertBoolean(src.getReadHistoryElement()));
463    if (src.hasUpdateCreate())
464      tgt.setUpdateCreateElement(Boolean14_30.convertBoolean(src.getUpdateCreateElement()));
465    if (src.hasConditionalCreate())
466      tgt.setConditionalCreateElement(Boolean14_30.convertBoolean(src.getConditionalCreateElement()));
467    if (src.hasConditionalUpdate())
468      tgt.setConditionalUpdateElement(Boolean14_30.convertBoolean(src.getConditionalUpdateElement()));
469    if (src.hasConditionalDelete())
470      tgt.setConditionalDeleteElement(convertConditionalDeleteStatus(src.getConditionalDeleteElement()));
471    for (org.hl7.fhir.dstu3.model.StringType t : src.getSearchInclude()) tgt.addSearchInclude(t.getValue());
472    for (org.hl7.fhir.dstu3.model.StringType t : src.getSearchRevInclude()) tgt.addSearchRevInclude(t.getValue());
473    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent t : src.getSearchParam())
474      tgt.addSearchParam(convertConformanceRestResourceSearchParamComponent(t));
475    return tgt;
476  }
477
478  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceComponent convertConformanceRestResourceComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceComponent src) throws FHIRException {
479    if (src == null || src.isEmpty())
480      return null;
481    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceComponent();
482    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
483    if (src.hasTypeElement())
484      tgt.setTypeElement(Code14_30.convertCode(src.getTypeElement()));
485    if (src.hasProfile())
486      tgt.setProfile(Reference14_30.convertReference(src.getProfile()));
487    for (org.hl7.fhir.dstu2016may.model.Conformance.ResourceInteractionComponent t : src.getInteraction())
488      tgt.addInteraction(convertResourceInteractionComponent(t));
489    if (src.hasVersioning())
490      tgt.setVersioningElement(convertResourceVersionPolicy(src.getVersioningElement()));
491    if (src.hasReadHistory())
492      tgt.setReadHistoryElement(Boolean14_30.convertBoolean(src.getReadHistoryElement()));
493    if (src.hasUpdateCreate())
494      tgt.setUpdateCreateElement(Boolean14_30.convertBoolean(src.getUpdateCreateElement()));
495    if (src.hasConditionalCreate())
496      tgt.setConditionalCreateElement(Boolean14_30.convertBoolean(src.getConditionalCreateElement()));
497    if (src.hasConditionalUpdate())
498      tgt.setConditionalUpdateElement(Boolean14_30.convertBoolean(src.getConditionalUpdateElement()));
499    if (src.hasConditionalDelete())
500      tgt.setConditionalDeleteElement(convertConditionalDeleteStatus(src.getConditionalDeleteElement()));
501    for (org.hl7.fhir.dstu2016may.model.StringType t : src.getSearchInclude()) tgt.addSearchInclude(t.getValue());
502    for (org.hl7.fhir.dstu2016may.model.StringType t : src.getSearchRevInclude()) tgt.addSearchRevInclude(t.getValue());
503    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceSearchParamComponent t : src.getSearchParam())
504      tgt.addSearchParam(convertConformanceRestResourceSearchParamComponent(t));
505    return tgt;
506  }
507
508  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent convertConformanceRestResourceSearchParamComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceSearchParamComponent src) throws FHIRException {
509    if (src == null || src.isEmpty())
510      return null;
511    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent();
512    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
513    if (src.hasNameElement())
514      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
515    if (src.hasDefinition())
516      tgt.setDefinitionElement(Uri14_30.convertUri(src.getDefinitionElement()));
517    if (src.hasType())
518      tgt.setTypeElement(Enumerations14_30.convertSearchParamType(src.getTypeElement()));
519    if (src.hasDocumentation())
520      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
521    return tgt;
522  }
523
524  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceSearchParamComponent convertConformanceRestResourceSearchParamComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent src) throws FHIRException {
525    if (src == null || src.isEmpty())
526      return null;
527    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceSearchParamComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestResourceSearchParamComponent();
528    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
529    if (src.hasNameElement())
530      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
531    if (src.hasDefinition())
532      tgt.setDefinitionElement(Uri14_30.convertUri(src.getDefinitionElement()));
533    if (src.hasType())
534      tgt.setTypeElement(Enumerations14_30.convertSearchParamType(src.getTypeElement()));
535    if (src.hasDocumentation())
536      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
537    return tgt;
538  }
539
540  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityCertificateComponent convertConformanceRestSecurityCertificateComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityCertificateComponent src) throws FHIRException {
541    if (src == null || src.isEmpty())
542      return null;
543    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityCertificateComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityCertificateComponent();
544    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
545    if (src.hasType())
546      tgt.setTypeElement(Code14_30.convertCode(src.getTypeElement()));
547    if (src.hasBlob())
548      tgt.setBlobElement(Base64Binary14_30.convertBase64Binary(src.getBlobElement()));
549    return tgt;
550  }
551
552  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityCertificateComponent convertConformanceRestSecurityCertificateComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityCertificateComponent src) throws FHIRException {
553    if (src == null || src.isEmpty())
554      return null;
555    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityCertificateComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityCertificateComponent();
556    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
557    if (src.hasType())
558      tgt.setTypeElement(Code14_30.convertCode(src.getTypeElement()));
559    if (src.hasBlob())
560      tgt.setBlobElement(Base64Binary14_30.convertBase64Binary(src.getBlobElement()));
561    return tgt;
562  }
563
564  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityComponent convertConformanceRestSecurityComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityComponent src) throws FHIRException {
565    if (src == null || src.isEmpty())
566      return null;
567    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityComponent();
568    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
569    if (src.hasCors())
570      tgt.setCorsElement(Boolean14_30.convertBoolean(src.getCorsElement()));
571    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getService())
572      tgt.addService(CodeableConcept14_30.convertCodeableConcept(t));
573    if (src.hasDescription())
574      tgt.setDescriptionElement(String14_30.convertString(src.getDescriptionElement()));
575    for (org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityCertificateComponent t : src.getCertificate())
576      tgt.addCertificate(convertConformanceRestSecurityCertificateComponent(t));
577    return tgt;
578  }
579
580  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityComponent convertConformanceRestSecurityComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityComponent src) throws FHIRException {
581    if (src == null || src.isEmpty())
582      return null;
583    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementRestSecurityComponent();
584    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
585    if (src.hasCors())
586      tgt.setCorsElement(Boolean14_30.convertBoolean(src.getCorsElement()));
587    for (org.hl7.fhir.dstu2016may.model.CodeableConcept t : src.getService())
588      tgt.addService(CodeableConcept14_30.convertCodeableConcept(t));
589    if (src.hasDescription())
590      tgt.setDescriptionElement(String14_30.convertString(src.getDescriptionElement()));
591    for (org.hl7.fhir.dstu2016may.model.Conformance.ConformanceRestSecurityCertificateComponent t : src.getCertificate())
592      tgt.addCertificate(convertConformanceRestSecurityCertificateComponent(t));
593    return tgt;
594  }
595
596  public static org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementSoftwareComponent convertConformanceSoftwareComponent(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceSoftwareComponent src) throws FHIRException {
597    if (src == null || src.isEmpty())
598      return null;
599    org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementSoftwareComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementSoftwareComponent();
600    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
601    if (src.hasNameElement())
602      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
603    if (src.hasVersion())
604      tgt.setVersionElement(String14_30.convertString(src.getVersionElement()));
605    if (src.hasReleaseDate())
606      tgt.setReleaseDateElement(DateTime14_30.convertDateTime(src.getReleaseDateElement()));
607    return tgt;
608  }
609
610  public static org.hl7.fhir.dstu2016may.model.Conformance.ConformanceSoftwareComponent convertConformanceSoftwareComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementSoftwareComponent src) throws FHIRException {
611    if (src == null || src.isEmpty())
612      return null;
613    org.hl7.fhir.dstu2016may.model.Conformance.ConformanceSoftwareComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceSoftwareComponent();
614    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
615    if (src.hasNameElement())
616      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
617    if (src.hasVersion())
618      tgt.setVersionElement(String14_30.convertString(src.getVersionElement()));
619    if (src.hasReleaseDate())
620      tgt.setReleaseDateElement(DateTime14_30.convertDateTime(src.getReleaseDateElement()));
621    return tgt;
622  }
623
624  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKind> convertConformanceStatementKind(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKind> src) throws FHIRException {
625    if (src == null || src.isEmpty())
626      return null;
627    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKind> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKindEnumFactory());
628    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
629    switch (src.getValue()) {
630      case INSTANCE:
631        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKind.INSTANCE);
632        break;
633      case CAPABILITY:
634        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKind.CAPABILITY);
635        break;
636      case REQUIREMENTS:
637        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKind.REQUIREMENTS);
638        break;
639      default:
640        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKind.NULL);
641        break;
642    }
643    return tgt;
644  }
645
646  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKind> convertConformanceStatementKind(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ConformanceStatementKind> src) throws FHIRException {
647    if (src == null || src.isEmpty())
648      return null;
649    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKind> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKindEnumFactory());
650    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
651    switch (src.getValue()) {
652      case INSTANCE:
653        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKind.INSTANCE);
654        break;
655      case CAPABILITY:
656        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKind.CAPABILITY);
657        break;
658      case REQUIREMENTS:
659        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKind.REQUIREMENTS);
660        break;
661      default:
662        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.CapabilityStatementKind.NULL);
663        break;
664    }
665    return tgt;
666  }
667
668  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.DocumentMode> convertDocumentMode(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.DocumentMode> src) throws FHIRException {
669    if (src == null || src.isEmpty())
670      return null;
671    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.DocumentMode> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.DocumentModeEnumFactory());
672    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
673    switch (src.getValue()) {
674      case PRODUCER:
675        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.DocumentMode.PRODUCER);
676        break;
677      case CONSUMER:
678        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.DocumentMode.CONSUMER);
679        break;
680      default:
681        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.DocumentMode.NULL);
682        break;
683    }
684    return tgt;
685  }
686
687  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.DocumentMode> convertDocumentMode(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.DocumentMode> src) throws FHIRException {
688    if (src == null || src.isEmpty())
689      return null;
690    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.DocumentMode> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.DocumentModeEnumFactory());
691    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
692    switch (src.getValue()) {
693      case PRODUCER:
694        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.DocumentMode.PRODUCER);
695        break;
696      case CONSUMER:
697        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.DocumentMode.CONSUMER);
698        break;
699      default:
700        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.DocumentMode.NULL);
701        break;
702    }
703    return tgt;
704  }
705
706  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategory> convertMessageSignificanceCategory(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategory> src) throws FHIRException {
707    if (src == null || src.isEmpty())
708      return null;
709    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategory> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategoryEnumFactory());
710    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
711    switch (src.getValue()) {
712      case CONSEQUENCE:
713        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategory.CONSEQUENCE);
714        break;
715      case CURRENCY:
716        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategory.CURRENCY);
717        break;
718      case NOTIFICATION:
719        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategory.NOTIFICATION);
720        break;
721      default:
722        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategory.NULL);
723        break;
724    }
725    return tgt;
726  }
727
728  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategory> convertMessageSignificanceCategory(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.MessageSignificanceCategory> src) throws FHIRException {
729    if (src == null || src.isEmpty())
730      return null;
731    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategory> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategoryEnumFactory());
732    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
733    switch (src.getValue()) {
734      case CONSEQUENCE:
735        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategory.CONSEQUENCE);
736        break;
737      case CURRENCY:
738        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategory.CURRENCY);
739        break;
740      case NOTIFICATION:
741        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategory.NOTIFICATION);
742        break;
743      default:
744        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.MessageSignificanceCategory.NULL);
745        break;
746    }
747    return tgt;
748  }
749
750  public static org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceInteractionComponent convertResourceInteractionComponent(org.hl7.fhir.dstu2016may.model.Conformance.ResourceInteractionComponent src) throws FHIRException {
751    if (src == null || src.isEmpty())
752      return null;
753    org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceInteractionComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceInteractionComponent();
754    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
755    if (src.hasCode())
756      tgt.setCodeElement(convertTypeRestfulInteraction(src.getCodeElement()));
757    if (src.hasDocumentation())
758      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
759    return tgt;
760  }
761
762  public static org.hl7.fhir.dstu2016may.model.Conformance.ResourceInteractionComponent convertResourceInteractionComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceInteractionComponent src) throws FHIRException {
763    if (src == null || src.isEmpty())
764      return null;
765    org.hl7.fhir.dstu2016may.model.Conformance.ResourceInteractionComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.ResourceInteractionComponent();
766    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
767    if (src.hasCode())
768      tgt.setCodeElement(convertTypeRestfulInteraction(src.getCodeElement()));
769    if (src.hasDocumentation())
770      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
771    return tgt;
772  }
773
774  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicy> convertResourceVersionPolicy(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicy> src) throws FHIRException {
775    if (src == null || src.isEmpty())
776      return null;
777    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicy> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicyEnumFactory());
778    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
779    switch (src.getValue()) {
780      case NOVERSION:
781        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicy.NOVERSION);
782        break;
783      case VERSIONED:
784        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicy.VERSIONED);
785        break;
786      case VERSIONEDUPDATE:
787        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicy.VERSIONEDUPDATE);
788        break;
789      default:
790        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicy.NULL);
791        break;
792    }
793    return tgt;
794  }
795
796  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicy> convertResourceVersionPolicy(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.ResourceVersionPolicy> src) throws FHIRException {
797    if (src == null || src.isEmpty())
798      return null;
799    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicy> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicyEnumFactory());
800    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
801    switch (src.getValue()) {
802      case NOVERSION:
803        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicy.NOVERSION);
804        break;
805      case VERSIONED:
806        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicy.VERSIONED);
807        break;
808      case VERSIONEDUPDATE:
809        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicy.VERSIONEDUPDATE);
810        break;
811      default:
812        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.ResourceVersionPolicy.NULL);
813        break;
814    }
815    return tgt;
816  }
817
818  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityMode> convertRestfulConformanceMode(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceMode> src) throws FHIRException {
819    if (src == null || src.isEmpty())
820      return null;
821    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityMode> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityModeEnumFactory());
822    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
823    switch (src.getValue()) {
824      case CLIENT:
825        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityMode.CLIENT);
826        break;
827      case SERVER:
828        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityMode.SERVER);
829        break;
830      default:
831        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityMode.NULL);
832        break;
833    }
834    return tgt;
835  }
836
837  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceMode> convertRestfulConformanceMode(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityMode> src) throws FHIRException {
838    if (src == null || src.isEmpty())
839      return null;
840    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceMode> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceModeEnumFactory());
841    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
842    switch (src.getValue()) {
843      case CLIENT:
844        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceMode.CLIENT);
845        break;
846      case SERVER:
847        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceMode.SERVER);
848        break;
849      default:
850        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceMode.NULL);
851        break;
852    }
853    return tgt;
854  }
855
856  public static org.hl7.fhir.dstu2016may.model.Conformance.SystemInteractionComponent convertSystemInteractionComponent(org.hl7.fhir.dstu3.model.CapabilityStatement.SystemInteractionComponent src) throws FHIRException {
857    if (src == null || src.isEmpty())
858      return null;
859    org.hl7.fhir.dstu2016may.model.Conformance.SystemInteractionComponent tgt = new org.hl7.fhir.dstu2016may.model.Conformance.SystemInteractionComponent();
860    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
861    if (src.hasCode())
862      tgt.setCodeElement(convertSystemRestfulInteraction(src.getCodeElement()));
863    if (src.hasDocumentation())
864      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
865    return tgt;
866  }
867
868  public static org.hl7.fhir.dstu3.model.CapabilityStatement.SystemInteractionComponent convertSystemInteractionComponent(org.hl7.fhir.dstu2016may.model.Conformance.SystemInteractionComponent src) throws FHIRException {
869    if (src == null || src.isEmpty())
870      return null;
871    org.hl7.fhir.dstu3.model.CapabilityStatement.SystemInteractionComponent tgt = new org.hl7.fhir.dstu3.model.CapabilityStatement.SystemInteractionComponent();
872    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
873    if (src.hasCode())
874      tgt.setCodeElement(convertSystemRestfulInteraction(src.getCodeElement()));
875    if (src.hasDocumentation())
876      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
877    return tgt;
878  }
879
880  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction> convertSystemRestfulInteraction(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteraction> src) throws FHIRException {
881    if (src == null || src.isEmpty())
882      return null;
883    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteractionEnumFactory());
884    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
885    switch (src.getValue()) {
886      case TRANSACTION:
887        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction.TRANSACTION);
888        break;
889      case SEARCHSYSTEM:
890        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction.SEARCHSYSTEM);
891        break;
892      case HISTORYSYSTEM:
893        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction.HISTORYSYSTEM);
894        break;
895      default:
896        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction.NULL);
897        break;
898    }
899    return tgt;
900  }
901
902  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteraction> convertSystemRestfulInteraction(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction> src) throws FHIRException {
903    if (src == null || src.isEmpty())
904      return null;
905    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteraction> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteractionEnumFactory());
906    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
907    switch (src.getValue()) {
908      case TRANSACTION:
909        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteraction.TRANSACTION);
910        break;
911      case SEARCHSYSTEM:
912        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteraction.SEARCHSYSTEM);
913        break;
914      case HISTORYSYSTEM:
915        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteraction.HISTORYSYSTEM);
916        break;
917      default:
918        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.SystemRestfulInteraction.NULL);
919        break;
920    }
921    return tgt;
922  }
923
924  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction> convertTypeRestfulInteraction(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction> src) throws FHIRException {
925    if (src == null || src.isEmpty())
926      return null;
927    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteractionEnumFactory());
928    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
929    switch (src.getValue()) {
930      case READ:
931        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.READ);
932        break;
933      case VREAD:
934        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.VREAD);
935        break;
936      case UPDATE:
937        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.UPDATE);
938        break;
939      case DELETE:
940        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.DELETE);
941        break;
942      case HISTORYINSTANCE:
943        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.HISTORYINSTANCE);
944        break;
945      case HISTORYTYPE:
946        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.HISTORYTYPE);
947        break;
948      case CREATE:
949        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.CREATE);
950        break;
951      case SEARCHTYPE:
952        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.SEARCHTYPE);
953        break;
954      default:
955        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction.NULL);
956        break;
957    }
958    return tgt;
959  }
960
961  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction> convertTypeRestfulInteraction(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.TypeRestfulInteraction> src) throws FHIRException {
962    if (src == null || src.isEmpty())
963      return null;
964    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteractionEnumFactory());
965    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
966    switch (src.getValue()) {
967      case READ:
968        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.READ);
969        break;
970      case VREAD:
971        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.VREAD);
972        break;
973      case UPDATE:
974        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.UPDATE);
975        break;
976      case DELETE:
977        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.DELETE);
978        break;
979      case HISTORYINSTANCE:
980        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.HISTORYINSTANCE);
981        break;
982      case HISTORYTYPE:
983        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.HISTORYTYPE);
984        break;
985      case CREATE:
986        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.CREATE);
987        break;
988      case SEARCHTYPE:
989        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.SEARCHTYPE);
990        break;
991      default:
992        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.TypeRestfulInteraction.NULL);
993        break;
994    }
995    return tgt;
996  }
997
998  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode> convertUnknownContentCode(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode> src) throws FHIRException {
999    if (src == null || src.isEmpty())
1000      return null;
1001    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCodeEnumFactory());
1002    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
1003    switch (src.getValue()) {
1004      case NO:
1005        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode.NO);
1006        break;
1007      case EXTENSIONS:
1008        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode.EXTENSIONS);
1009        break;
1010      case ELEMENTS:
1011        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode.ELEMENTS);
1012        break;
1013      case BOTH:
1014        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode.BOTH);
1015        break;
1016      default:
1017        tgt.setValue(org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode.NULL);
1018        break;
1019    }
1020    return tgt;
1021  }
1022
1023  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode> convertUnknownContentCode(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Conformance.UnknownContentCode> src) throws FHIRException {
1024    if (src == null || src.isEmpty())
1025      return null;
1026    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCodeEnumFactory());
1027    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
1028    switch (src.getValue()) {
1029      case NO:
1030        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode.NO);
1031        break;
1032      case EXTENSIONS:
1033        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode.EXTENSIONS);
1034        break;
1035      case ELEMENTS:
1036        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode.ELEMENTS);
1037        break;
1038      case BOTH:
1039        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode.BOTH);
1040        break;
1041      default:
1042        tgt.setValue(org.hl7.fhir.dstu3.model.CapabilityStatement.UnknownContentCode.NULL);
1043        break;
1044    }
1045    return tgt;
1046  }
1047}