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