001package org.hl7.fhir.convertors.conv14_30.datatypes14_30;
002
003import org.hl7.fhir.convertors.context.ConversionContext14_30;
004import org.hl7.fhir.dstu3.model.Narrative;
005import org.hl7.fhir.exceptions.FHIRException;
006
007public class Narrative14_30 {
008  public static org.hl7.fhir.dstu3.model.Narrative convertNarrative(org.hl7.fhir.dstu2016may.model.Narrative src) throws FHIRException {
009    if (src == null || src.isEmpty()) return null;
010    org.hl7.fhir.dstu3.model.Narrative tgt = new org.hl7.fhir.dstu3.model.Narrative();
011    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
012    if (src.hasStatus()) tgt.setStatusElement(convertNarrativeStatus(src.getStatusElement()));
013    tgt.setDiv(src.getDiv());
014    return tgt;
015  }
016
017  public static org.hl7.fhir.dstu2016may.model.Narrative convertNarrative(org.hl7.fhir.dstu3.model.Narrative src) throws FHIRException {
018    if (src == null || src.isEmpty()) return null;
019    org.hl7.fhir.dstu2016may.model.Narrative tgt = new org.hl7.fhir.dstu2016may.model.Narrative();
020    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
021    if (src.hasStatus()) tgt.setStatusElement(convertNarrativeStatus(src.getStatusElement()));
022    tgt.setDiv(src.getDiv());
023    return tgt;
024  }
025
026  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Narrative.NarrativeStatus> convertNarrativeStatus(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus> src) throws FHIRException {
027    if (src == null || src.isEmpty()) return null;
028    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Narrative.NarrativeStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Narrative.NarrativeStatusEnumFactory());
029    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
030    if (src.getValue() == null) {
031    tgt.setValue(null);
032} else {
033      switch(src.getValue()) {
034        case GENERATED:
035                    tgt.setValue(Narrative.NarrativeStatus.GENERATED);
036                    break;
037                case EXTENSIONS:
038                    tgt.setValue(Narrative.NarrativeStatus.EXTENSIONS);
039                    break;
040                case ADDITIONAL:
041                    tgt.setValue(Narrative.NarrativeStatus.ADDITIONAL);
042                    break;
043                case EMPTY:
044                    tgt.setValue(Narrative.NarrativeStatus.EMPTY);
045                    break;
046                default:
047                    tgt.setValue(Narrative.NarrativeStatus.NULL);
048                    break;
049       }
050}
051    return tgt;
052  }
053
054  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus> convertNarrativeStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Narrative.NarrativeStatus> src) throws FHIRException {
055    if (src == null || src.isEmpty()) return null;
056    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatusEnumFactory());
057    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
058    if (src.getValue() == null) {
059    tgt.setValue(null);
060} else {
061      switch(src.getValue()) {
062        case GENERATED:
063                    tgt.setValue(org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus.GENERATED);
064                    break;
065                case EXTENSIONS:
066                    tgt.setValue(org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus.EXTENSIONS);
067                    break;
068                case ADDITIONAL:
069                    tgt.setValue(org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus.ADDITIONAL);
070                    break;
071                case EMPTY:
072                    tgt.setValue(org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus.EMPTY);
073                    break;
074                default:
075                    tgt.setValue(org.hl7.fhir.dstu2016may.model.Narrative.NarrativeStatus.NULL);
076                    break;
077       }
078}
079    return tgt;
080  }
081}