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