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