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