001package org.hl7.fhir.convertors.conv10_30.resources10_30;
002
003import org.hl7.fhir.convertors.context.ConversionContext10_30;
004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30;
005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30;
006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30;
007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30;
008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30;
009import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30;
010import org.hl7.fhir.exceptions.FHIRException;
011
012public class DetectedIssue10_30 {
013
014  public static org.hl7.fhir.dstu2.model.DetectedIssue convertDetectedIssue(org.hl7.fhir.dstu3.model.DetectedIssue src) throws FHIRException {
015    if (src == null || src.isEmpty())
016      return null;
017    org.hl7.fhir.dstu2.model.DetectedIssue tgt = new org.hl7.fhir.dstu2.model.DetectedIssue();
018    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
019    if (src.hasPatient())
020      tgt.setPatient(Reference10_30.convertReference(src.getPatient()));
021    if (src.hasCategory())
022      tgt.setCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategory()));
023    if (src.hasSeverity())
024      tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement()));
025    for (org.hl7.fhir.dstu3.model.Reference t : src.getImplicated())
026      tgt.addImplicated(Reference10_30.convertReference(t));
027    if (src.hasDetailElement())
028      tgt.setDetailElement(String10_30.convertString(src.getDetailElement()));
029    if (src.hasDate())
030      tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement()));
031    if (src.hasAuthor())
032      tgt.setAuthor(Reference10_30.convertReference(src.getAuthor()));
033    if (src.hasIdentifier())
034      tgt.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier()));
035    if (src.hasReferenceElement())
036      tgt.setReferenceElement(Uri10_30.convertUri(src.getReferenceElement()));
037    for (org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent t : src.getMitigation())
038      tgt.addMitigation(convertDetectedIssueMitigationComponent(t));
039    return tgt;
040  }
041
042  public static org.hl7.fhir.dstu3.model.DetectedIssue convertDetectedIssue(org.hl7.fhir.dstu2.model.DetectedIssue src) throws FHIRException {
043    if (src == null || src.isEmpty())
044      return null;
045    org.hl7.fhir.dstu3.model.DetectedIssue tgt = new org.hl7.fhir.dstu3.model.DetectedIssue();
046    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
047    if (src.hasPatient())
048      tgt.setPatient(Reference10_30.convertReference(src.getPatient()));
049    if (src.hasCategory())
050      tgt.setCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategory()));
051    if (src.hasSeverity())
052      tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement()));
053    for (org.hl7.fhir.dstu2.model.Reference t : src.getImplicated())
054      tgt.addImplicated(Reference10_30.convertReference(t));
055    if (src.hasDetailElement())
056      tgt.setDetailElement(String10_30.convertString(src.getDetailElement()));
057    if (src.hasDate())
058      tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement()));
059    if (src.hasAuthor())
060      tgt.setAuthor(Reference10_30.convertReference(src.getAuthor()));
061    if (src.hasIdentifier())
062      tgt.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier()));
063    if (src.hasReferenceElement())
064      tgt.setReferenceElement(Uri10_30.convertUri(src.getReferenceElement()));
065    for (org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueMitigationComponent t : src.getMitigation())
066      tgt.addMitigation(convertDetectedIssueMitigationComponent(t));
067    return tgt;
068  }
069
070  public static org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueMitigationComponent convertDetectedIssueMitigationComponent(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent src) throws FHIRException {
071    if (src == null || src.isEmpty())
072      return null;
073    org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueMitigationComponent tgt = new org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueMitigationComponent();
074    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
075    if (src.hasAction())
076      tgt.setAction(CodeableConcept10_30.convertCodeableConcept(src.getAction()));
077    if (src.hasDate())
078      tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement()));
079    if (src.hasAuthor())
080      tgt.setAuthor(Reference10_30.convertReference(src.getAuthor()));
081    return tgt;
082  }
083
084  public static org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent convertDetectedIssueMitigationComponent(org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueMitigationComponent src) throws FHIRException {
085    if (src == null || src.isEmpty())
086      return null;
087    org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent tgt = new org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueMitigationComponent();
088    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
089    if (src.hasAction())
090      tgt.setAction(CodeableConcept10_30.convertCodeableConcept(src.getAction()));
091    if (src.hasDate())
092      tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement()));
093    if (src.hasAuthor())
094      tgt.setAuthor(Reference10_30.convertReference(src.getAuthor()));
095    return tgt;
096  }
097
098  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity> convertDetectedIssueSeverity(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverity> src) throws FHIRException {
099    if (src == null || src.isEmpty())
100      return null;
101    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());
102    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
103    switch (src.getValue()) {
104      case HIGH:
105        tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.HIGH);
106        break;
107      case MODERATE:
108        tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.MODERATE);
109        break;
110      case LOW:
111        tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.LOW);
112        break;
113      default:
114        tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity.NULL);
115        break;
116    }
117    return tgt;
118  }
119
120  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverity> convertDetectedIssueSeverity(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueSeverity> src) throws FHIRException {
121    if (src == null || src.isEmpty())
122      return null;
123    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverity> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverityEnumFactory());
124    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
125    switch (src.getValue()) {
126      case HIGH:
127        tgt.setValue(org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverity.HIGH);
128        break;
129      case MODERATE:
130        tgt.setValue(org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverity.MODERATE);
131        break;
132      case LOW:
133        tgt.setValue(org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverity.LOW);
134        break;
135      default:
136        tgt.setValue(org.hl7.fhir.dstu2.model.DetectedIssue.DetectedIssueSeverity.NULL);
137        break;
138    }
139    return tgt;
140  }
141}