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