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.datatypes14_30.complextypes14_30.ContactPoint14_30;
005import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30;
006import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30;
007import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30;
008import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30;
009import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30;
010import org.hl7.fhir.exceptions.FHIRException;
011
012public class CompartmentDefinition14_30 {
013
014  public static org.hl7.fhir.dstu3.model.CompartmentDefinition convertCompartmentDefinition(org.hl7.fhir.dstu2016may.model.CompartmentDefinition src) throws FHIRException {
015    if (src == null || src.isEmpty())
016      return null;
017    org.hl7.fhir.dstu3.model.CompartmentDefinition tgt = new org.hl7.fhir.dstu3.model.CompartmentDefinition();
018    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
019    if (src.hasUrlElement())
020      tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement()));
021    if (src.hasNameElement())
022      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
023    if (src.hasStatus())
024      tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement()));
025    if (src.hasExperimental())
026      tgt.setExperimentalElement(Boolean14_30.convertBoolean(src.getExperimentalElement()));
027    if (src.hasPublisher())
028      tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement()));
029    for (org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionContactComponent t : src.getContact())
030      tgt.addContact(convertCompartmentDefinitionContactComponent(t));
031    if (src.hasDate())
032      tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement()));
033    if (src.hasDescription())
034      tgt.setDescription(src.getDescription());
035    if (src.hasRequirements())
036      tgt.setPurpose(src.getRequirements());
037    if (src.hasCode())
038      tgt.setCodeElement(convertCompartmentType(src.getCodeElement()));
039    if (src.hasSearchElement())
040      tgt.setSearchElement(Boolean14_30.convertBoolean(src.getSearchElement()));
041    for (org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionResourceComponent t : src.getResource())
042      tgt.addResource(convertCompartmentDefinitionResourceComponent(t));
043    return tgt;
044  }
045
046  public static org.hl7.fhir.dstu2016may.model.CompartmentDefinition convertCompartmentDefinition(org.hl7.fhir.dstu3.model.CompartmentDefinition src) throws FHIRException {
047    if (src == null || src.isEmpty())
048      return null;
049    org.hl7.fhir.dstu2016may.model.CompartmentDefinition tgt = new org.hl7.fhir.dstu2016may.model.CompartmentDefinition();
050    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
051    if (src.hasUrlElement())
052      tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement()));
053    if (src.hasNameElement())
054      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
055    if (src.hasStatus())
056      tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement()));
057    if (src.hasExperimental())
058      tgt.setExperimentalElement(Boolean14_30.convertBoolean(src.getExperimentalElement()));
059    if (src.hasPublisher())
060      tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement()));
061    for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact())
062      tgt.addContact(convertCompartmentDefinitionContactComponent(t));
063    if (src.hasDate())
064      tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement()));
065    if (src.hasDescription())
066      tgt.setDescription(src.getDescription());
067    if (src.hasPurpose())
068      tgt.setRequirements(src.getPurpose());
069    if (src.hasCode())
070      tgt.setCodeElement(convertCompartmentType(src.getCodeElement()));
071    if (src.hasSearchElement())
072      tgt.setSearchElement(Boolean14_30.convertBoolean(src.getSearchElement()));
073    for (org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentDefinitionResourceComponent t : src.getResource())
074      tgt.addResource(convertCompartmentDefinitionResourceComponent(t));
075    return tgt;
076  }
077
078  public static org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionContactComponent convertCompartmentDefinitionContactComponent(org.hl7.fhir.dstu3.model.ContactDetail src) throws FHIRException {
079    if (src == null || src.isEmpty())
080      return null;
081    org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionContactComponent tgt = new org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionContactComponent();
082    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
083    if (src.hasName())
084      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
085    for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom())
086      tgt.addTelecom(ContactPoint14_30.convertContactPoint(t));
087    return tgt;
088  }
089
090  public static org.hl7.fhir.dstu3.model.ContactDetail convertCompartmentDefinitionContactComponent(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionContactComponent src) throws FHIRException {
091    if (src == null || src.isEmpty())
092      return null;
093    org.hl7.fhir.dstu3.model.ContactDetail tgt = new org.hl7.fhir.dstu3.model.ContactDetail();
094    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
095    if (src.hasName())
096      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
097    for (org.hl7.fhir.dstu2016may.model.ContactPoint t : src.getTelecom())
098      tgt.addTelecom(ContactPoint14_30.convertContactPoint(t));
099    return tgt;
100  }
101
102  public static org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentDefinitionResourceComponent convertCompartmentDefinitionResourceComponent(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionResourceComponent src) throws FHIRException {
103    if (src == null || src.isEmpty())
104      return null;
105    org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentDefinitionResourceComponent tgt = new org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentDefinitionResourceComponent();
106    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
107    if (src.hasCodeElement())
108      tgt.setCodeElement(Code14_30.convertCode(src.getCodeElement()));
109    for (org.hl7.fhir.dstu2016may.model.StringType t : src.getParam()) tgt.addParam(t.getValue());
110    if (src.hasDocumentation())
111      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
112    return tgt;
113  }
114
115  public static org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionResourceComponent convertCompartmentDefinitionResourceComponent(org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentDefinitionResourceComponent src) throws FHIRException {
116    if (src == null || src.isEmpty())
117      return null;
118    org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionResourceComponent tgt = new org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentDefinitionResourceComponent();
119    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
120    if (src.hasCodeElement())
121      tgt.setCodeElement(Code14_30.convertCode(src.getCodeElement()));
122    for (org.hl7.fhir.dstu3.model.StringType t : src.getParam()) tgt.addParam(t.getValue());
123    if (src.hasDocumentation())
124      tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement()));
125    return tgt;
126  }
127
128  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType> convertCompartmentType(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType> src) throws FHIRException {
129    if (src == null || src.isEmpty())
130      return null;
131    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentTypeEnumFactory());
132    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
133    switch (src.getValue()) {
134      case PATIENT:
135        tgt.setValue(org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType.PATIENT);
136        break;
137      case ENCOUNTER:
138        tgt.setValue(org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType.ENCOUNTER);
139        break;
140      case RELATEDPERSON:
141        tgt.setValue(org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType.RELATEDPERSON);
142        break;
143      case PRACTITIONER:
144        tgt.setValue(org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType.PRACTITIONER);
145        break;
146      case DEVICE:
147        tgt.setValue(org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType.DEVICE);
148        break;
149      default:
150        tgt.setValue(org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType.NULL);
151        break;
152    }
153    return tgt;
154  }
155
156  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType> convertCompartmentType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.CompartmentDefinition.CompartmentType> src) throws FHIRException {
157    if (src == null || src.isEmpty())
158      return null;
159    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentTypeEnumFactory());
160    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
161    switch (src.getValue()) {
162      case PATIENT:
163        tgt.setValue(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType.PATIENT);
164        break;
165      case ENCOUNTER:
166        tgt.setValue(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType.ENCOUNTER);
167        break;
168      case RELATEDPERSON:
169        tgt.setValue(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType.RELATEDPERSON);
170        break;
171      case PRACTITIONER:
172        tgt.setValue(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType.PRACTITIONER);
173        break;
174      case DEVICE:
175        tgt.setValue(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType.DEVICE);
176        break;
177      default:
178        tgt.setValue(org.hl7.fhir.dstu2016may.model.CompartmentDefinition.CompartmentType.NULL);
179        break;
180    }
181    return tgt;
182  }
183}