001package org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30;
002
003import org.hl7.fhir.convertors.context.ConversionContext14_30;
004import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.PositiveInt14_30;
005import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30;
006import org.hl7.fhir.dstu3.model.ContactPoint;
007import org.hl7.fhir.exceptions.FHIRException;
008
009public class ContactPoint14_30 {
010  public static org.hl7.fhir.dstu3.model.ContactPoint convertContactPoint(org.hl7.fhir.dstu2016may.model.ContactPoint src) throws FHIRException {
011    if (src == null || src.isEmpty()) return null;
012    org.hl7.fhir.dstu3.model.ContactPoint tgt = new org.hl7.fhir.dstu3.model.ContactPoint();
013    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
014    if (src.hasSystem()) tgt.setSystemElement(convertContactPointSystem(src.getSystemElement()));
015    if (src.hasValue()) tgt.setValueElement(String14_30.convertString(src.getValueElement()));
016    if (src.hasUse()) tgt.setUseElement(convertContactPointUse(src.getUseElement()));
017    if (src.hasRank()) tgt.setRankElement(PositiveInt14_30.convertPositiveInt(src.getRankElement()));
018    if (src.hasPeriod()) tgt.setPeriod(Period14_30.convertPeriod(src.getPeriod()));
019    return tgt;
020  }
021
022  public static org.hl7.fhir.dstu2016may.model.ContactPoint convertContactPoint(org.hl7.fhir.dstu3.model.ContactPoint src) throws FHIRException {
023    if (src == null || src.isEmpty()) return null;
024    org.hl7.fhir.dstu2016may.model.ContactPoint tgt = new org.hl7.fhir.dstu2016may.model.ContactPoint();
025    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
026    if (src.hasSystem()) tgt.setSystemElement(convertContactPointSystem(src.getSystemElement()));
027    if (src.hasValue()) tgt.setValueElement(String14_30.convertString(src.getValueElement()));
028    if (src.hasUse()) tgt.setUseElement(convertContactPointUse(src.getUseElement()));
029    if (src.hasRank()) tgt.setRankElement(PositiveInt14_30.convertPositiveInt(src.getRankElement()));
030    if (src.hasPeriod()) tgt.setPeriod(Period14_30.convertPeriod(src.getPeriod()));
031    return tgt;
032  }
033
034  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointSystem> convertContactPointSystem(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem> src) throws FHIRException {
035    if (src == null || src.isEmpty()) return null;
036    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointSystem> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ContactPoint.ContactPointSystemEnumFactory());
037    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
038    if (src.getValue() == null) {
039    tgt.setValue(null);
040} else {
041      switch(src.getValue()) {
042        case PHONE:
043                    tgt.setValue(ContactPoint.ContactPointSystem.PHONE);
044                    break;
045                case FAX:
046                    tgt.setValue(ContactPoint.ContactPointSystem.FAX);
047                    break;
048                case EMAIL:
049                    tgt.setValue(ContactPoint.ContactPointSystem.EMAIL);
050                    break;
051                case PAGER:
052                    tgt.setValue(ContactPoint.ContactPointSystem.PAGER);
053                    break;
054                case OTHER:
055                    tgt.setValue(ContactPoint.ContactPointSystem.URL);
056                    break;
057                default:
058                    tgt.setValue(ContactPoint.ContactPointSystem.NULL);
059                    break;
060       }
061}
062    return tgt;
063  }
064
065  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem> convertContactPointSystem(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointSystem> src) throws FHIRException {
066    if (src == null || src.isEmpty()) return null;
067    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystemEnumFactory());
068    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
069    if (src.getValue() == null) {
070    tgt.setValue(null);
071} else {
072      switch(src.getValue()) {
073        case PHONE:
074                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem.PHONE);
075                    break;
076                case FAX:
077                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem.FAX);
078                    break;
079                case EMAIL:
080                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem.EMAIL);
081                    break;
082                case PAGER:
083                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem.PAGER);
084                    break;
085                case URL:
086                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem.OTHER);
087                    break;
088                default:
089                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointSystem.NULL);
090                    break;
091       }
092}
093    return tgt;
094  }
095
096  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointUse> convertContactPointUse(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse> src) throws FHIRException {
097    if (src == null || src.isEmpty()) return null;
098    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointUse> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ContactPoint.ContactPointUseEnumFactory());
099    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
100    if (src.getValue() == null) {
101    tgt.setValue(null);
102} else {
103      switch(src.getValue()) {
104        case HOME:
105                    tgt.setValue(ContactPoint.ContactPointUse.HOME);
106                    break;
107                case WORK:
108                    tgt.setValue(ContactPoint.ContactPointUse.WORK);
109                    break;
110                case TEMP:
111                    tgt.setValue(ContactPoint.ContactPointUse.TEMP);
112                    break;
113                case OLD:
114                    tgt.setValue(ContactPoint.ContactPointUse.OLD);
115                    break;
116                case MOBILE:
117                    tgt.setValue(ContactPoint.ContactPointUse.MOBILE);
118                    break;
119                default:
120                    tgt.setValue(ContactPoint.ContactPointUse.NULL);
121                    break;
122       }
123}
124    return tgt;
125  }
126
127  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse> convertContactPointUse(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointUse> src) throws FHIRException {
128    if (src == null || src.isEmpty()) return null;
129    org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUseEnumFactory());
130    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
131    if (src.getValue() == null) {
132    tgt.setValue(null);
133} else {
134      switch(src.getValue()) {
135        case HOME:
136                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse.HOME);
137                    break;
138                case WORK:
139                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse.WORK);
140                    break;
141                case TEMP:
142                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse.TEMP);
143                    break;
144                case OLD:
145                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse.OLD);
146                    break;
147                case MOBILE:
148                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse.MOBILE);
149                    break;
150                default:
151                    tgt.setValue(org.hl7.fhir.dstu2016may.model.ContactPoint.ContactPointUse.NULL);
152                    break;
153       }
154}
155    return tgt;
156  }
157}