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