001package org.hl7.fhir.convertors.conv30_40.resources30_40;
002
003import org.hl7.fhir.convertors.context.ConversionContext30_40;
004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40;
005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40;
006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40;
007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40;
008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40;
009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40;
010import org.hl7.fhir.exceptions.FHIRException;
011import org.hl7.fhir.r4.model.DetectedIssue;
012import org.hl7.fhir.r4.model.Enumeration;
013
014public class DetectedIssue30_40 {
015
016  public static org.hl7.fhir.dstu3.model.DetectedIssue convertDetectedIssue(org.hl7.fhir.r4.model.DetectedIssue src) throws FHIRException {
017    if (src == null)
018      return null;
019    org.hl7.fhir.dstu3.model.DetectedIssue tgt = new org.hl7.fhir.dstu3.model.DetectedIssue();
020    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
021    if (src.hasIdentifier())
022      tgt.setIdentifier(Identifier30_40.convertIdentifier(src.getIdentifierFirstRep()));
023    if (src.hasStatus())
024      tgt.setStatusElement(convertDetectedIssueStatus(src.getStatusElement()));
025    if (src.hasCode())
026      tgt.setCategory(CodeableConcept30_40.convertCodeableConcept(src.getCode()));
027    if (src.hasSeverity())
028      tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement()));
029    if (src.hasPatient())
030      tgt.setPatient(Reference30_40.convertReference(src.getPatient()));
031    if (src.hasIdentifiedDateTimeType())
032      tgt.setDateElement(DateTime30_40.convertDateTime(src.getIdentifiedDateTimeType()));
033    if (src.hasAuthor())
034      tgt.setAuthor(Reference30_40.convertReference(src.getAuthor()));
035    for (org.hl7.fhir.r4.model.Reference t : src.getImplicated()) tgt.addImplicated(Reference30_40.convertReference(t));
036    if (src.hasDetail())
037      tgt.setDetailElement(String30_40.convertString(src.getDetailElement()));
038    if (src.hasReference())
039      tgt.setReferenceElement(Uri30_40.convertUri(src.getReferenceElement()));
040    for (org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueMitigationComponent t : src.getMitigation())
041      tgt.addMitigation(convertDetectedIssueMitigationComponent(t));
042    return tgt;
043  }
044
045  public static org.hl7.fhir.r4.model.DetectedIssue convertDetectedIssue(org.hl7.fhir.dstu3.model.DetectedIssue src) throws FHIRException {
046    if (src == null)
047      return null;
048    org.hl7.fhir.r4.model.DetectedIssue tgt = new org.hl7.fhir.r4.model.DetectedIssue();
049    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
050    if (src.hasIdentifier())
051      tgt.addIdentifier(Identifier30_40.convertIdentifier(src.getIdentifier()));
052    if (src.hasStatus())
053      tgt.setStatusElement(convertDetectedIssueStatus(src.getStatusElement()));
054    if (src.hasCategory())
055      tgt.setCode(CodeableConcept30_40.convertCodeableConcept(src.getCategory()));
056    if (src.hasSeverity())
057      tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement()));
058    if (src.hasPatient())
059      tgt.setPatient(Reference30_40.convertReference(src.getPatient()));
060    if (src.hasDateElement())
061      tgt.setIdentified(DateTime30_40.convertDateTime(src.getDateElement()));
062    if (src.hasAuthor())
063      tgt.setAuthor(Reference30_40.convertReference(src.getAuthor()));
064    for (org.hl7.fhir.dstu3.model.Reference t : src.getImplicated())
065      tgt.addImplicated(Reference30_40.convertReference(t));
066    if (src.hasDetail())
067      tgt.setDetailElement(String30_40.convertString(src.getDetailElement()));
068    if (src.hasReference())
069      tgt.setReferenceElement(Uri30_40.convertUri(src.getReferenceElement()));
070    for (org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent t : src.getMitigation())
071      tgt.addMitigation(convertDetectedIssueMitigationComponent(t));
072    return tgt;
073  }
074
075  public static org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueMitigationComponent convertDetectedIssueMitigationComponent(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent src) throws FHIRException {
076    if (src == null)
077      return null;
078    org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueMitigationComponent tgt = new org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueMitigationComponent();
079    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
080    if (src.hasAction())
081      tgt.setAction(CodeableConcept30_40.convertCodeableConcept(src.getAction()));
082    if (src.hasDateElement())
083      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
084    if (src.hasAuthor())
085      tgt.setAuthor(Reference30_40.convertReference(src.getAuthor()));
086    return tgt;
087  }
088
089  public static org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent convertDetectedIssueMitigationComponent(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueMitigationComponent src) throws FHIRException {
090    if (src == null)
091      return null;
092    org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent tgt = new org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent();
093    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
094    if (src.hasAction())
095      tgt.setAction(CodeableConcept30_40.convertCodeableConcept(src.getAction()));
096    if (src.hasDateElement())
097      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
098    if (src.hasAuthor())
099      tgt.setAuthor(Reference30_40.convertReference(src.getAuthor()));
100    return tgt;
101  }
102
103  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueSeverity> convertDetectedIssueSeverity(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity> src) throws FHIRException {
104      if (src == null || src.isEmpty())
105          return null;
106      Enumeration<DetectedIssue.DetectedIssueSeverity> tgt = new Enumeration<>(new DetectedIssue.DetectedIssueSeverityEnumFactory());
107      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
108      if (src.getValue() == null) {
109          tgt.setValue(null);
110      } else {
111          switch (src.getValue()) {
112              case HIGH:
113                  tgt.setValue(DetectedIssue.DetectedIssueSeverity.HIGH);
114                  break;
115              case MODERATE:
116                  tgt.setValue(DetectedIssue.DetectedIssueSeverity.MODERATE);
117                  break;
118              case LOW:
119                  tgt.setValue(DetectedIssue.DetectedIssueSeverity.LOW);
120                  break;
121              default:
122                  tgt.setValue(DetectedIssue.DetectedIssueSeverity.NULL);
123                  break;
124          }
125      }
126      return tgt;
127  }
128
129  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity> convertDetectedIssueSeverity(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueSeverity> src) throws FHIRException {
130      if (src == null || src.isEmpty())
131          return null;
132      org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverityEnumFactory());
133      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
134      if (src.getValue() == null) {
135          tgt.setValue(null);
136      } else {
137          switch (src.getValue()) {
138              case HIGH:
139                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.HIGH);
140                  break;
141              case MODERATE:
142                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.MODERATE);
143                  break;
144              case LOW:
145                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.LOW);
146                  break;
147              default:
148                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.NULL);
149                  break;
150          }
151      }
152      return tgt;
153  }
154
155  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus> convertDetectedIssueStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus> src) throws FHIRException {
156      if (src == null || src.isEmpty())
157          return null;
158      Enumeration<DetectedIssue.DetectedIssueStatus> tgt = new Enumeration<>(new DetectedIssue.DetectedIssueStatusEnumFactory());
159      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
160      if (src.getValue() == null) {
161          tgt.setValue(null);
162      } else {
163          switch (src.getValue()) {
164              case REGISTERED:
165                  tgt.setValue(DetectedIssue.DetectedIssueStatus.REGISTERED);
166                  break;
167              case PRELIMINARY:
168                  tgt.setValue(DetectedIssue.DetectedIssueStatus.PRELIMINARY);
169                  break;
170              case FINAL:
171                  tgt.setValue(DetectedIssue.DetectedIssueStatus.FINAL);
172                  break;
173              case AMENDED:
174                  tgt.setValue(DetectedIssue.DetectedIssueStatus.AMENDED);
175                  break;
176              case CORRECTED:
177                  tgt.setValue(DetectedIssue.DetectedIssueStatus.CORRECTED);
178                  break;
179              case CANCELLED:
180                  tgt.setValue(DetectedIssue.DetectedIssueStatus.CANCELLED);
181                  break;
182              case ENTEREDINERROR:
183                  tgt.setValue(DetectedIssue.DetectedIssueStatus.ENTEREDINERROR);
184                  break;
185              case UNKNOWN:
186                  tgt.setValue(DetectedIssue.DetectedIssueStatus.UNKNOWN);
187                  break;
188              default:
189                  tgt.setValue(DetectedIssue.DetectedIssueStatus.NULL);
190                  break;
191          }
192      }
193      return tgt;
194  }
195
196  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus> convertDetectedIssueStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus> src) throws FHIRException {
197      if (src == null || src.isEmpty())
198          return null;
199      org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatusEnumFactory());
200      ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
201      if (src.getValue() == null) {
202          tgt.setValue(null);
203      } else {
204          switch (src.getValue()) {
205              case REGISTERED:
206                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.REGISTERED);
207                  break;
208              case PRELIMINARY:
209                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY);
210                  break;
211              case FINAL:
212                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.FINAL);
213                  break;
214              case AMENDED:
215                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.AMENDED);
216                  break;
217              case CORRECTED:
218                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.CORRECTED);
219                  break;
220              case CANCELLED:
221                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.CANCELLED);
222                  break;
223              case ENTEREDINERROR:
224                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.ENTEREDINERROR);
225                  break;
226              case UNKNOWN:
227                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.UNKNOWN);
228                  break;
229              default:
230                  tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.NULL);
231                  break;
232          }
233      }
234      return tgt;
235  }
236}