
001package org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext43_50; 004import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; 005import org.hl7.fhir.exceptions.FHIRException; 006import org.hl7.fhir.r5.model.Address; 007 008public class Address43_50 { 009 public static org.hl7.fhir.r5.model.Address convertAddress(org.hl7.fhir.r4b.model.Address src) throws FHIRException { 010 if (src == null) return null; 011 org.hl7.fhir.r5.model.Address tgt = new org.hl7.fhir.r5.model.Address(); 012 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 013 if (src.hasUse()) tgt.setUseElement(convertAddressUse(src.getUseElement())); 014 if (src.hasType()) tgt.setTypeElement(convertAddressType(src.getTypeElement())); 015 if (src.hasText()) tgt.setTextElement(String43_50.convertString(src.getTextElement())); 016 for (org.hl7.fhir.r4b.model.StringType t : src.getLine()) tgt.getLine().add(String43_50.convertString(t)); 017 if (src.hasCity()) tgt.setCityElement(String43_50.convertString(src.getCityElement())); 018 if (src.hasDistrict()) tgt.setDistrictElement(String43_50.convertString(src.getDistrictElement())); 019 if (src.hasState()) tgt.setStateElement(String43_50.convertString(src.getStateElement())); 020 if (src.hasPostalCode()) tgt.setPostalCodeElement(String43_50.convertString(src.getPostalCodeElement())); 021 if (src.hasCountry()) tgt.setCountryElement(String43_50.convertString(src.getCountryElement())); 022 if (src.hasPeriod()) tgt.setPeriod(Period43_50.convertPeriod(src.getPeriod())); 023 return tgt; 024 } 025 026 public static org.hl7.fhir.r4b.model.Address convertAddress(org.hl7.fhir.r5.model.Address src) throws FHIRException { 027 if (src == null) return null; 028 org.hl7.fhir.r4b.model.Address tgt = new org.hl7.fhir.r4b.model.Address(); 029 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 030 if (src.hasUse()) tgt.setUseElement(convertAddressUse(src.getUseElement())); 031 if (src.hasType()) tgt.setTypeElement(convertAddressType(src.getTypeElement())); 032 if (src.hasText()) tgt.setTextElement(String43_50.convertString(src.getTextElement())); 033 for (org.hl7.fhir.r5.model.StringType t : src.getLine()) tgt.getLine().add(String43_50.convertString(t)); 034 if (src.hasCity()) tgt.setCityElement(String43_50.convertString(src.getCityElement())); 035 if (src.hasDistrict()) tgt.setDistrictElement(String43_50.convertString(src.getDistrictElement())); 036 if (src.hasState()) tgt.setStateElement(String43_50.convertString(src.getStateElement())); 037 if (src.hasPostalCode()) tgt.setPostalCodeElement(String43_50.convertString(src.getPostalCodeElement())); 038 if (src.hasCountry()) tgt.setCountryElement(String43_50.convertString(src.getCountryElement())); 039 if (src.hasPeriod()) tgt.setPeriod(Period43_50.convertPeriod(src.getPeriod())); 040 return tgt; 041 } 042 043 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Address.AddressUse> convertAddressUse(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Address.AddressUse> src) throws FHIRException { 044 if (src == null || src.isEmpty()) return null; 045 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Address.AddressUse> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Address.AddressUseEnumFactory()); 046 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 047 if (src.getValue() == null) { 048 tgt.setValue(null); 049} else { 050 switch(src.getValue()) { 051 case HOME: 052 tgt.setValue(Address.AddressUse.HOME); 053 break; 054 case WORK: 055 tgt.setValue(Address.AddressUse.WORK); 056 break; 057 case TEMP: 058 tgt.setValue(Address.AddressUse.TEMP); 059 break; 060 case OLD: 061 tgt.setValue(Address.AddressUse.OLD); 062 break; 063 case BILLING: 064 tgt.setValue(Address.AddressUse.BILLING); 065 break; 066 default: 067 tgt.setValue(Address.AddressUse.NULL); 068 break; 069 } 070} 071 return tgt; 072 } 073 074 static public org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Address.AddressUse> convertAddressUse(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Address.AddressUse> src) throws FHIRException { 075 if (src == null || src.isEmpty()) return null; 076 org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Address.AddressUse> tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Address.AddressUseEnumFactory()); 077 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 078 if (src.getValue() == null) { 079 tgt.setValue(null); 080} else { 081 switch(src.getValue()) { 082 case HOME: 083 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressUse.HOME); 084 break; 085 case WORK: 086 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressUse.WORK); 087 break; 088 case TEMP: 089 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressUse.TEMP); 090 break; 091 case OLD: 092 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressUse.OLD); 093 break; 094 case BILLING: 095 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressUse.BILLING); 096 break; 097 default: 098 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressUse.NULL); 099 break; 100 } 101} 102 return tgt; 103 } 104 105 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Address.AddressType> convertAddressType(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Address.AddressType> src) throws FHIRException { 106 if (src == null || src.isEmpty()) return null; 107 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Address.AddressType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Address.AddressTypeEnumFactory()); 108 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 109 if (src.getValue() == null) { 110 tgt.setValue(null); 111} else { 112 switch(src.getValue()) { 113 case POSTAL: 114 tgt.setValue(Address.AddressType.POSTAL); 115 break; 116 case PHYSICAL: 117 tgt.setValue(Address.AddressType.PHYSICAL); 118 break; 119 case BOTH: 120 tgt.setValue(Address.AddressType.BOTH); 121 break; 122 default: 123 tgt.setValue(Address.AddressType.NULL); 124 break; 125 } 126} 127 return tgt; 128 } 129 130 static public org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Address.AddressType> convertAddressType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Address.AddressType> src) throws FHIRException { 131 if (src == null || src.isEmpty()) return null; 132 org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Address.AddressType> tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Address.AddressTypeEnumFactory()); 133 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 134 if (src.getValue() == null) { 135 tgt.setValue(null); 136} else { 137 switch(src.getValue()) { 138 case POSTAL: 139 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressType.POSTAL); 140 break; 141 case PHYSICAL: 142 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressType.PHYSICAL); 143 break; 144 case BOTH: 145 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressType.BOTH); 146 break; 147 default: 148 tgt.setValue(org.hl7.fhir.r4b.model.Address.AddressType.NULL); 149 break; 150 } 151} 152 return tgt; 153 } 154}