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.complextypes14_30.Period14_30;
009import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30;
010import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30;
011import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30;
012import org.hl7.fhir.dstu3.model.Enumeration;
013import org.hl7.fhir.dstu3.model.NamingSystem;
014import org.hl7.fhir.exceptions.FHIRException;
015
016public class NamingSystem14_30 {
017
018  public static org.hl7.fhir.dstu2016may.model.NamingSystem convertNamingSystem(org.hl7.fhir.dstu3.model.NamingSystem src) throws FHIRException {
019    if (src == null || src.isEmpty())
020      return null;
021    org.hl7.fhir.dstu2016may.model.NamingSystem tgt = new org.hl7.fhir.dstu2016may.model.NamingSystem();
022    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
023    if (src.hasNameElement())
024      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
025    if (src.hasStatus())
026      tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement()));
027    if (src.hasKind())
028      tgt.setKindElement(convertNamingSystemType(src.getKindElement()));
029    if (src.hasDateElement())
030      tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement()));
031    if (src.hasPublisher())
032      tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement()));
033    for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact())
034      tgt.addContact(convertNamingSystemContactComponent(t));
035    if (src.hasResponsible())
036      tgt.setResponsibleElement(String14_30.convertString(src.getResponsibleElement()));
037    if (src.hasType())
038      tgt.setType(CodeableConcept14_30.convertCodeableConcept(src.getType()));
039    if (src.hasDescription())
040      tgt.setDescription(src.getDescription());
041    for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext())
042      if (t.hasValueCodeableConcept())
043        tgt.addUseContext(CodeableConcept14_30.convertCodeableConcept(t.getValueCodeableConcept()));
044    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction())
045      tgt.addUseContext(CodeableConcept14_30.convertCodeableConcept(t));
046    if (src.hasUsage())
047      tgt.setUsageElement(String14_30.convertString(src.getUsageElement()));
048    for (org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent t : src.getUniqueId())
049      tgt.addUniqueId(convertNamingSystemUniqueIdComponent(t));
050    if (src.hasReplacedBy())
051      tgt.setReplacedBy(Reference14_30.convertReference(src.getReplacedBy()));
052    return tgt;
053  }
054
055  public static org.hl7.fhir.dstu3.model.NamingSystem convertNamingSystem(org.hl7.fhir.dstu2016may.model.NamingSystem src) throws FHIRException {
056    if (src == null || src.isEmpty())
057      return null;
058    org.hl7.fhir.dstu3.model.NamingSystem tgt = new org.hl7.fhir.dstu3.model.NamingSystem();
059    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
060    if (src.hasNameElement())
061      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
062    if (src.hasStatus())
063      tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement()));
064    if (src.hasKind())
065      tgt.setKindElement(convertNamingSystemType(src.getKindElement()));
066    if (src.hasDateElement())
067      tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement()));
068    if (src.hasPublisher())
069      tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement()));
070    for (org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemContactComponent t : src.getContact())
071      tgt.addContact(convertNamingSystemContactComponent(t));
072    if (src.hasResponsible())
073      tgt.setResponsibleElement(String14_30.convertString(src.getResponsibleElement()));
074    if (src.hasType())
075      tgt.setType(CodeableConcept14_30.convertCodeableConcept(src.getType()));
076    if (src.hasDescription())
077      tgt.setDescription(src.getDescription());
078    for (org.hl7.fhir.dstu2016may.model.CodeableConcept t : src.getUseContext())
079      if (VersionConvertor_14_30.isJurisdiction(t))
080        tgt.addJurisdiction(CodeableConcept14_30.convertCodeableConcept(t));
081      else
082        tgt.addUseContext(CodeableConcept14_30.convertCodeableConceptToUsageContext(t));
083    if (src.hasUsage())
084      tgt.setUsageElement(String14_30.convertString(src.getUsageElement()));
085    for (org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemUniqueIdComponent t : src.getUniqueId())
086      tgt.addUniqueId(convertNamingSystemUniqueIdComponent(t));
087    if (src.hasReplacedBy())
088      tgt.setReplacedBy(Reference14_30.convertReference(src.getReplacedBy()));
089    return tgt;
090  }
091
092  public static org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemContactComponent convertNamingSystemContactComponent(org.hl7.fhir.dstu3.model.ContactDetail src) throws FHIRException {
093    if (src == null || src.isEmpty())
094      return null;
095    org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemContactComponent tgt = new org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemContactComponent();
096    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
097    if (src.hasName())
098      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
099    for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom())
100      tgt.addTelecom(ContactPoint14_30.convertContactPoint(t));
101    return tgt;
102  }
103
104  public static org.hl7.fhir.dstu3.model.ContactDetail convertNamingSystemContactComponent(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemContactComponent src) throws FHIRException {
105    if (src == null || src.isEmpty())
106      return null;
107    org.hl7.fhir.dstu3.model.ContactDetail tgt = new org.hl7.fhir.dstu3.model.ContactDetail();
108    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
109    if (src.hasName())
110      tgt.setNameElement(String14_30.convertString(src.getNameElement()));
111    for (org.hl7.fhir.dstu2016may.model.ContactPoint t : src.getTelecom())
112      tgt.addTelecom(ContactPoint14_30.convertContactPoint(t));
113    return tgt;
114  }
115
116  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType> convertNamingSystemIdentifierType(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType> src) throws FHIRException {
117      if (src == null || src.isEmpty())
118          return null;
119      Enumeration<NamingSystem.NamingSystemIdentifierType> tgt = new Enumeration<>(new NamingSystem.NamingSystemIdentifierTypeEnumFactory());
120      ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
121      if (src.getValue() == null) {
122          tgt.setValue(null);
123      } else {
124          switch (src.getValue()) {
125              case OID:
126                  tgt.setValue(NamingSystem.NamingSystemIdentifierType.OID);
127                  break;
128              case UUID:
129                  tgt.setValue(NamingSystem.NamingSystemIdentifierType.UUID);
130                  break;
131              case URI:
132                  tgt.setValue(NamingSystem.NamingSystemIdentifierType.URI);
133                  break;
134              case OTHER:
135                  tgt.setValue(NamingSystem.NamingSystemIdentifierType.OTHER);
136                  break;
137              default:
138                  tgt.setValue(NamingSystem.NamingSystemIdentifierType.NULL);
139                  break;
140          }
141      }
142      return tgt;
143  }
144
145  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType> convertNamingSystemIdentifierType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType> src) throws FHIRException {
146      if (src == null || src.isEmpty())
147          return null;
148      org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierTypeEnumFactory());
149      ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
150      if (src.getValue() == null) {
151          tgt.setValue(null);
152      } else {
153          switch (src.getValue()) {
154              case OID:
155                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType.OID);
156                  break;
157              case UUID:
158                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType.UUID);
159                  break;
160              case URI:
161                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType.URI);
162                  break;
163              case OTHER:
164                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType.OTHER);
165                  break;
166              default:
167                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemIdentifierType.NULL);
168                  break;
169          }
170      }
171      return tgt;
172  }
173
174  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemType> convertNamingSystemType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType> src) throws FHIRException {
175      if (src == null || src.isEmpty())
176          return null;
177      org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemType> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemTypeEnumFactory());
178      ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
179      if (src.getValue() == null) {
180          tgt.setValue(null);
181      } else {
182          switch (src.getValue()) {
183              case CODESYSTEM:
184                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemType.CODESYSTEM);
185                  break;
186              case IDENTIFIER:
187                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemType.IDENTIFIER);
188                  break;
189              case ROOT:
190                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemType.ROOT);
191                  break;
192              default:
193                  tgt.setValue(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemType.NULL);
194                  break;
195          }
196      }
197      return tgt;
198  }
199
200  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType> convertNamingSystemType(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemType> src) throws FHIRException {
201      if (src == null || src.isEmpty())
202          return null;
203      Enumeration<NamingSystem.NamingSystemType> tgt = new Enumeration<>(new NamingSystem.NamingSystemTypeEnumFactory());
204      ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
205      if (src.getValue() == null) {
206          tgt.setValue(null);
207      } else {
208          switch (src.getValue()) {
209              case CODESYSTEM:
210                  tgt.setValue(NamingSystem.NamingSystemType.CODESYSTEM);
211                  break;
212              case IDENTIFIER:
213                  tgt.setValue(NamingSystem.NamingSystemType.IDENTIFIER);
214                  break;
215              case ROOT:
216                  tgt.setValue(NamingSystem.NamingSystemType.ROOT);
217                  break;
218              default:
219                  tgt.setValue(NamingSystem.NamingSystemType.NULL);
220                  break;
221          }
222      }
223      return tgt;
224  }
225
226  public static org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent convertNamingSystemUniqueIdComponent(org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemUniqueIdComponent src) throws FHIRException {
227    if (src == null || src.isEmpty())
228      return null;
229    org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent tgt = new org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent();
230    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
231    if (src.hasType())
232      tgt.setTypeElement(convertNamingSystemIdentifierType(src.getTypeElement()));
233    if (src.hasValueElement())
234      tgt.setValueElement(String14_30.convertString(src.getValueElement()));
235    if (src.hasPreferred())
236      tgt.setPreferredElement(Boolean14_30.convertBoolean(src.getPreferredElement()));
237    if (src.hasPeriod())
238      tgt.setPeriod(Period14_30.convertPeriod(src.getPeriod()));
239    return tgt;
240  }
241
242  public static org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemUniqueIdComponent convertNamingSystemUniqueIdComponent(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent src) throws FHIRException {
243    if (src == null || src.isEmpty())
244      return null;
245    org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemUniqueIdComponent tgt = new org.hl7.fhir.dstu2016may.model.NamingSystem.NamingSystemUniqueIdComponent();
246    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
247    if (src.hasType())
248      tgt.setTypeElement(convertNamingSystemIdentifierType(src.getTypeElement()));
249    if (src.hasValueElement())
250      tgt.setValueElement(String14_30.convertString(src.getValueElement()));
251    if (src.hasPreferred())
252      tgt.setPreferredElement(Boolean14_30.convertBoolean(src.getPreferredElement()));
253    if (src.hasPeriod())
254      tgt.setPeriod(Period14_30.convertPeriod(src.getPeriod()));
255    return tgt;
256  }
257}