001package org.hl7.fhir.convertors.conv30_50.resources30_50;
002
003import org.hl7.fhir.convertors.context.ConversionContext30_50;
004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50;
005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50;
006import org.hl7.fhir.dstu3.model.Enumeration;
007import org.hl7.fhir.dstu3.model.OperationOutcome;
008import org.hl7.fhir.exceptions.FHIRException;
009
010public class OperationOutcome30_50 {
011
012  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity> convertIssueSeverity(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity> src) throws FHIRException {
013      if (src == null || src.isEmpty())
014          return null;
015      Enumeration<OperationOutcome.IssueSeverity> tgt = new Enumeration<>(new OperationOutcome.IssueSeverityEnumFactory());
016      ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt);
017      if (src.getValue() == null) {
018          tgt.setValue(null);
019      } else {
020          switch (src.getValue()) {
021              case FATAL:
022                  tgt.setValue(OperationOutcome.IssueSeverity.FATAL);
023                  break;
024              case ERROR:
025                  tgt.setValue(OperationOutcome.IssueSeverity.ERROR);
026                  break;
027              case WARNING:
028                  tgt.setValue(OperationOutcome.IssueSeverity.WARNING);
029                  break;
030              case INFORMATION:
031                  tgt.setValue(OperationOutcome.IssueSeverity.INFORMATION);
032                  break;
033              default:
034                  tgt.setValue(OperationOutcome.IssueSeverity.NULL);
035                  break;
036          }
037      }
038      return tgt;
039  }
040
041  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity> convertIssueSeverity(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity> src) throws FHIRException {
042      if (src == null || src.isEmpty())
043          return null;
044      org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.OperationOutcome.IssueSeverityEnumFactory());
045      ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt);
046      if (src.getValue() == null) {
047          tgt.setValue(null);
048      } else {
049          switch (src.getValue()) {
050              case FATAL:
051                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity.FATAL);
052                  break;
053              case ERROR:
054                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity.ERROR);
055                  break;
056              case WARNING:
057                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity.WARNING);
058                  break;
059              case INFORMATION:
060                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity.INFORMATION);
061                  break;
062              default:
063                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity.NULL);
064                  break;
065          }
066      }
067      return tgt;
068  }
069
070  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationOutcome.IssueType> convertIssueType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationOutcome.IssueType> src) throws FHIRException {
071      if (src == null || src.isEmpty())
072          return null;
073      org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationOutcome.IssueType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.OperationOutcome.IssueTypeEnumFactory());
074      ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt);
075      if (src.getValue() == null) {
076          tgt.setValue(null);
077      } else {
078          switch (src.getValue()) {
079              case INVALID:
080                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.INVALID);
081                  break;
082              case STRUCTURE:
083                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.STRUCTURE);
084                  break;
085              case REQUIRED:
086                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.REQUIRED);
087                  break;
088              case VALUE:
089                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.VALUE);
090                  break;
091              case INVARIANT:
092                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.INVARIANT);
093                  break;
094              case SECURITY:
095                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.SECURITY);
096                  break;
097              case LOGIN:
098                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.LOGIN);
099                  break;
100              case UNKNOWN:
101                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.UNKNOWN);
102                  break;
103              case EXPIRED:
104                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.EXPIRED);
105                  break;
106              case FORBIDDEN:
107                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.FORBIDDEN);
108                  break;
109              case SUPPRESSED:
110                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.SUPPRESSED);
111                  break;
112              case PROCESSING:
113                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.PROCESSING);
114                  break;
115              case NOTSUPPORTED:
116                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.NOTSUPPORTED);
117                  break;
118              case DUPLICATE:
119                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.DUPLICATE);
120                  break;
121              case NOTFOUND:
122                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.NOTFOUND);
123                  break;
124              case TOOLONG:
125                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.TOOLONG);
126                  break;
127              case CODEINVALID:
128                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.CODEINVALID);
129                  break;
130              case EXTENSION:
131                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.EXTENSION);
132                  break;
133              case TOOCOSTLY:
134                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.TOOCOSTLY);
135                  break;
136              case BUSINESSRULE:
137                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.BUSINESSRULE);
138                  break;
139              case CONFLICT:
140                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.CONFLICT);
141                  break;
142              case INCOMPLETE:
143                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.INCOMPLETE);
144                  break;
145              case TRANSIENT:
146                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.TRANSIENT);
147                  break;
148              case LOCKERROR:
149                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.LOCKERROR);
150                  break;
151              case NOSTORE:
152                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.NOSTORE);
153                  break;
154              case EXCEPTION:
155                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.EXCEPTION);
156                  break;
157              case TIMEOUT:
158                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.TIMEOUT);
159                  break;
160              case THROTTLED:
161                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.THROTTLED);
162                  break;
163              case INFORMATIONAL:
164                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.INFORMATIONAL);
165                  break;
166              default:
167                  tgt.setValue(org.hl7.fhir.r5.model.OperationOutcome.IssueType.NULL);
168                  break;
169          }
170      }
171      return tgt;
172  }
173
174  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationOutcome.IssueType> convertIssueType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationOutcome.IssueType> src) throws FHIRException {
175      if (src == null || src.isEmpty())
176          return null;
177      Enumeration<OperationOutcome.IssueType> tgt = new Enumeration<>(new OperationOutcome.IssueTypeEnumFactory());
178      ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt);
179      if (src.getValue() == null) {
180          tgt.setValue(null);
181      } else {
182          switch (src.getValue()) {
183              case INVALID:
184                  tgt.setValue(OperationOutcome.IssueType.INVALID);
185                  break;
186              case STRUCTURE:
187                  tgt.setValue(OperationOutcome.IssueType.STRUCTURE);
188                  break;
189              case REQUIRED:
190                  tgt.setValue(OperationOutcome.IssueType.REQUIRED);
191                  break;
192              case VALUE:
193                  tgt.setValue(OperationOutcome.IssueType.VALUE);
194                  break;
195              case INVARIANT:
196                  tgt.setValue(OperationOutcome.IssueType.INVARIANT);
197                  break;
198              case SECURITY:
199                  tgt.setValue(OperationOutcome.IssueType.SECURITY);
200                  break;
201              case LOGIN:
202                  tgt.setValue(OperationOutcome.IssueType.LOGIN);
203                  break;
204              case UNKNOWN:
205                  tgt.setValue(OperationOutcome.IssueType.UNKNOWN);
206                  break;
207              case EXPIRED:
208                  tgt.setValue(OperationOutcome.IssueType.EXPIRED);
209                  break;
210              case FORBIDDEN:
211                  tgt.setValue(OperationOutcome.IssueType.FORBIDDEN);
212                  break;
213              case SUPPRESSED:
214                  tgt.setValue(OperationOutcome.IssueType.SUPPRESSED);
215                  break;
216              case PROCESSING:
217                  tgt.setValue(OperationOutcome.IssueType.PROCESSING);
218                  break;
219              case NOTSUPPORTED:
220                  tgt.setValue(OperationOutcome.IssueType.NOTSUPPORTED);
221                  break;
222              case DUPLICATE:
223                  tgt.setValue(OperationOutcome.IssueType.DUPLICATE);
224                  break;
225              case NOTFOUND:
226                  tgt.setValue(OperationOutcome.IssueType.NOTFOUND);
227                  break;
228              case TOOLONG:
229                  tgt.setValue(OperationOutcome.IssueType.TOOLONG);
230                  break;
231              case CODEINVALID:
232                  tgt.setValue(OperationOutcome.IssueType.CODEINVALID);
233                  break;
234              case EXTENSION:
235                  tgt.setValue(OperationOutcome.IssueType.EXTENSION);
236                  break;
237              case TOOCOSTLY:
238                  tgt.setValue(OperationOutcome.IssueType.TOOCOSTLY);
239                  break;
240              case BUSINESSRULE:
241                  tgt.setValue(OperationOutcome.IssueType.BUSINESSRULE);
242                  break;
243              case CONFLICT:
244                  tgt.setValue(OperationOutcome.IssueType.CONFLICT);
245                  break;
246              case INCOMPLETE:
247                  tgt.setValue(OperationOutcome.IssueType.INCOMPLETE);
248                  break;
249              case TRANSIENT:
250                  tgt.setValue(OperationOutcome.IssueType.TRANSIENT);
251                  break;
252              case LOCKERROR:
253                  tgt.setValue(OperationOutcome.IssueType.LOCKERROR);
254                  break;
255              case NOSTORE:
256                  tgt.setValue(OperationOutcome.IssueType.NOSTORE);
257                  break;
258              case EXCEPTION:
259                  tgt.setValue(OperationOutcome.IssueType.EXCEPTION);
260                  break;
261              case TIMEOUT:
262                  tgt.setValue(OperationOutcome.IssueType.TIMEOUT);
263                  break;
264              case THROTTLED:
265                  tgt.setValue(OperationOutcome.IssueType.THROTTLED);
266                  break;
267              case INFORMATIONAL:
268                  tgt.setValue(OperationOutcome.IssueType.INFORMATIONAL);
269                  break;
270              default:
271                  tgt.setValue(OperationOutcome.IssueType.NULL);
272                  break;
273          }
274      }
275      return tgt;
276  }
277
278  public static org.hl7.fhir.r5.model.OperationOutcome convertOperationOutcome(org.hl7.fhir.dstu3.model.OperationOutcome src) throws FHIRException {
279    if (src == null)
280      return null;
281    org.hl7.fhir.r5.model.OperationOutcome tgt = new org.hl7.fhir.r5.model.OperationOutcome();
282    ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt);
283    for (org.hl7.fhir.dstu3.model.OperationOutcome.OperationOutcomeIssueComponent t : src.getIssue())
284      tgt.addIssue(convertOperationOutcomeIssueComponent(t));
285    return tgt;
286  }
287
288  public static org.hl7.fhir.dstu3.model.OperationOutcome convertOperationOutcome(org.hl7.fhir.r5.model.OperationOutcome src) throws FHIRException {
289    if (src == null)
290      return null;
291    org.hl7.fhir.dstu3.model.OperationOutcome tgt = new org.hl7.fhir.dstu3.model.OperationOutcome();
292    ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt);
293    for (org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent t : src.getIssue())
294      tgt.addIssue(convertOperationOutcomeIssueComponent(t));
295    return tgt;
296  }
297
298  public static org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent convertOperationOutcomeIssueComponent(org.hl7.fhir.dstu3.model.OperationOutcome.OperationOutcomeIssueComponent src) throws FHIRException {
299    if (src == null)
300      return null;
301    org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent tgt = new org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent();
302    ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt);
303    if (src.hasSeverity())
304      tgt.setSeverityElement(convertIssueSeverity(src.getSeverityElement()));
305    if (src.hasCode())
306      tgt.setCodeElement(convertIssueType(src.getCodeElement()));
307    if (src.hasDetails())
308      tgt.setDetails(CodeableConcept30_50.convertCodeableConcept(src.getDetails()));
309    if (src.hasDiagnostics())
310      tgt.setDiagnosticsElement(String30_50.convertString(src.getDiagnosticsElement()));
311    for (org.hl7.fhir.dstu3.model.StringType t : src.getLocation()) tgt.addLocation(t.getValue());
312    for (org.hl7.fhir.dstu3.model.StringType t : src.getExpression()) tgt.addExpression(t.getValue());
313    return tgt;
314  }
315
316  public static org.hl7.fhir.dstu3.model.OperationOutcome.OperationOutcomeIssueComponent convertOperationOutcomeIssueComponent(org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent src) throws FHIRException {
317    if (src == null)
318      return null;
319    org.hl7.fhir.dstu3.model.OperationOutcome.OperationOutcomeIssueComponent tgt = new org.hl7.fhir.dstu3.model.OperationOutcome.OperationOutcomeIssueComponent();
320    ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt);
321    if (src.hasSeverity())
322      tgt.setSeverityElement(convertIssueSeverity(src.getSeverityElement()));
323    if (src.hasCode())
324      tgt.setCodeElement(convertIssueType(src.getCodeElement()));
325    if (src.hasDetails())
326      tgt.setDetails(CodeableConcept30_50.convertCodeableConcept(src.getDetails()));
327    if (src.hasDiagnostics())
328      tgt.setDiagnosticsElement(String30_50.convertString(src.getDiagnosticsElement()));
329    for (org.hl7.fhir.r5.model.StringType t : src.getLocation()) tgt.addLocation(t.getValue());
330    for (org.hl7.fhir.r5.model.StringType t : src.getExpression()) tgt.addExpression(t.getValue());
331    return tgt;
332  }
333}