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