001package org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30;
002
003import org.hl7.fhir.convertors.context.ConversionContext10_30;
004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.PositiveInt10_30;
005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30;
006import org.hl7.fhir.dstu3.model.ContactPoint;
007import org.hl7.fhir.exceptions.FHIRException;
008
009public class ContactPoint10_30 {
010  public static org.hl7.fhir.dstu3.model.ContactPoint convertContactPoint(org.hl7.fhir.dstu2.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    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
014    if (src.hasSystem()) tgt.setSystemElement(convertContactPointSystem(src.getSystemElement()));
015    if (src.hasValueElement()) tgt.setValueElement(String10_30.convertString(src.getValueElement()));
016    if (src.hasUse()) tgt.setUseElement(convertContactPointUse(src.getUseElement()));
017    if (src.hasRank()) tgt.setRankElement(PositiveInt10_30.convertPositiveInt(src.getRankElement()));
018    if (src.hasPeriod()) tgt.setPeriod(Period10_30.convertPeriod(src.getPeriod()));
019    return tgt;
020  }
021
022  public static org.hl7.fhir.dstu2.model.ContactPoint convertContactPoint(org.hl7.fhir.dstu3.model.ContactPoint src) throws FHIRException {
023    if (src == null || src.isEmpty()) return null;
024    org.hl7.fhir.dstu2.model.ContactPoint tgt = new org.hl7.fhir.dstu2.model.ContactPoint();
025    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
026    if (src.hasSystem()) tgt.setSystemElement(convertContactPointSystem(src.getSystemElement()));
027    if (src.hasValueElement()) tgt.setValueElement(String10_30.convertString(src.getValueElement()));
028    if (src.hasUse()) tgt.setUseElement(convertContactPointUse(src.getUseElement()));
029    if (src.hasRankElement()) tgt.setRankElement(PositiveInt10_30.convertPositiveInt(src.getRankElement()));
030    if (src.hasPeriod()) tgt.setPeriod(Period10_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.dstu2.model.Enumeration<org.hl7.fhir.dstu2.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    ConversionContext10_30.INSTANCE.getVersionConvertor_10_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.OTHER);
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.dstu2.model.Enumeration<org.hl7.fhir.dstu2.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.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystem> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystemEnumFactory());
068    ConversionContext10_30.INSTANCE.getVersionConvertor_10_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.dstu2.model.ContactPoint.ContactPointSystem.PHONE);
075                    break;
076                case FAX:
077                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystem.FAX);
078                    break;
079                case EMAIL:
080                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystem.EMAIL);
081                    break;
082                case PAGER:
083                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystem.PAGER);
084                    break;
085                case OTHER:
086                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystem.OTHER);
087                    break;
088                case URL:
089                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystem.OTHER);
090                    break;
091                default:
092                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointSystem.NULL);
093                    break;
094       }
095}
096    return tgt;
097  }
098
099  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointUse> convertContactPointUse(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse> src) throws FHIRException {
100    if (src == null || src.isEmpty()) return null;
101    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());
102    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
103    if (src.getValue() == null) {
104    tgt.setValue(null);
105} else {
106      switch(src.getValue()) {
107        case HOME:
108                    tgt.setValue(ContactPoint.ContactPointUse.HOME);
109                    break;
110                case WORK:
111                    tgt.setValue(ContactPoint.ContactPointUse.WORK);
112                    break;
113                case TEMP:
114                    tgt.setValue(ContactPoint.ContactPointUse.TEMP);
115                    break;
116                case OLD:
117                    tgt.setValue(ContactPoint.ContactPointUse.OLD);
118                    break;
119                case MOBILE:
120                    tgt.setValue(ContactPoint.ContactPointUse.MOBILE);
121                    break;
122                default:
123                    tgt.setValue(ContactPoint.ContactPointUse.NULL);
124                    break;
125       }
126}
127    return tgt;
128  }
129
130  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse> convertContactPointUse(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ContactPoint.ContactPointUse> src) throws FHIRException {
131    if (src == null || src.isEmpty()) return null;
132    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUseEnumFactory());
133    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
134    if (src.getValue() == null) {
135    tgt.setValue(null);
136} else {
137      switch(src.getValue()) {
138        case HOME:
139                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse.HOME);
140                    break;
141                case WORK:
142                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse.WORK);
143                    break;
144                case TEMP:
145                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse.TEMP);
146                    break;
147                case OLD:
148                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse.OLD);
149                    break;
150                case MOBILE:
151                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse.MOBILE);
152                    break;
153                default:
154                    tgt.setValue(org.hl7.fhir.dstu2.model.ContactPoint.ContactPointUse.NULL);
155                    break;
156       }
157}
158    return tgt;
159  }
160}