This is a feature in OpenMRS 1.9+
Managing Address Templates
Some recommended OpenMRS address templates are provided here;
Please copy past your preferred Address Template to the "Address Template xml" textbox in the /admin/locations/addressTemplate.form
- General Address Template
- Address Template for Kenya
- Address Template for Lesotho
- Address Template for Malawi
- Address Template for Rwanda
- Address Template for Spain
- Address Template for Tanzania
- Address Template for USA
General Address Template
<addressTemplate> <nameMappings class="properties"> <property name="postalCode" value="Location.postalCode"/> <property name="longitude" value="Location.longitude"/> <property name="address2" value="Location.address2"/> <property name="address1" value="Location.address1"/> <property name="startDate" value="PersonAddress.startDate"/> <property name="country" value="Location.country"/> <property name="endDate" value="personAddress.endDate"/> <property name="stateProvince" value="Location.stateProvince"/> <property name="latitude" value="Location.latitude"/> <property name="cityVillage" value="Location.cityVillage"/> </nameMappings> <sizeMappings class="properties"> <property name="postalCode" value="10"/> <property name="longitude" value="10"/> <property name="address2" value="40"/> <property name="address1" value="40"/> <property name="startDate" value="10"/> <property name="country" value="10"/> <property name="endDate" value="10"/> <property name="stateProvince" value="10"/> <property name="latitude" value="10"/> <property name="cityVillage" value="10"/> </sizeMappings> <lineByLineFormat> <string>address1</string> <string>address2</string> <string>cityVillage stateProvince country postalCode</string> <string>latitude longitude</string> <string>startDate endDate</string> </lineByLineFormat> </addressTemplate>
Address Template for Kenya
<addressTemplate> <nameMappings class="properties"> <property name="postalCode" value="Location.postalCode"/> <property name="longitude" value="Location.longitude"/> <property name="address3" value="Location.estateNearestCentre"/> <property name="address2" value="Location.sectionHomestead"/> <property name="address1" value="Location.address1"/> <property name="country" value="Location.country"/> <property name="stateProvince" value="Location.province"/> <property name="latitude" value="Location.latitude"/> <property name="address6" value="Location.location"/> <property name="address5" value="Location.sublocation"/> <property name="cityVillage" value="Location.townVillage"/> <property name="countyDistrict" value="Location.district"/> <property name="address4" value="Location.division"/> </nameMappings> <sizeMappings class="properties"> <property name="postalCode" value="6"/> <property name="longitude" value="10"/> <property name="address3" value="24"/> <property name="address2" value="55"/> <property name="address1" value="55"/> <property name="country" value="10"/> <property name="townshipDivision" value="24"/> <property name="stateProvince" value="24"/> <property name="subregion" value="24"/> <property name="latitude" value="10"/> <property name="region" value="24"/> <property name="cityVillage" value="24"/> <property name="countyDistrict" value="24"/> </sizeMappings> <elementDefaults class="properties"> <property name="country" value="Kenya"/> </elementDefaults> <elementRegex class="properties"> <property name="longitude" value="^(\\d{1,3}\\s)\\d\\d.(\\d{2,3})\\s*$"/> <property name="latitude" value="^(\\d{1,3}\\s)\\d\\d.(\\d{2,3})\\s*$"/> </elementRegex> <elementRegexFormats class="properties"> <property name="longitude" value="123 45.000"/> <property name="latitude" value="123 45.000"/> </elementRegexFormats> <lineByLineFormat> <string>address1</string> <string>address2</string> <string>address3 cityVillage</string> <string>address5 address6</string> <string>address4 countyDistrict</string> <string>stateProvince postalCode</string> <string>latitude longitude</string> <string>country</string> </lineByLineFormat> </addressTemplate>
Address Template for Lesotho
<addressTemplate> <nameMappings class="properties"> <property name="countyDistrict" value="Location.district"/> <property name="cityVillage" value="Location.village"/> </nameMappings> <sizeMappings class="properties"> <property name="countyDistrict" value="40"/> <property name="cityVillage" value="40"/> </sizeMappings> <elementDefaults class="properties"> <property name="country" value="Lesotho"/> </elementDefaults> <lineByLineFormat> <string>countyDistrict</string> <string>cityVillage</string> </lineByLineFormat> </addressTemplate>
Address Template for Malawi
<addressTemplate> <nameMappings class="properties"> <property name="address3" value="Location.neighborhood"/> <property name="stateProvince" value="Location.district"/> <property name="address1" value="Location.address1"/> <property name="countyDistrict" value="Location.traditionalAuthority"/> <property name="cityVillage" value="Location.village"/> </nameMappings> <sizeMappings class="properties"> <property name="address3" value="20"/> <property name="stateProvince" value="20"/> <property name="address1" value="40"/> <property name="countyDistrict" value="20"/> <property name="cityVillage" value="20"/> </sizeMappings> <elementDefaults class="properties"> <property name="country" value="Malawi"/> </elementDefaults> <lineByLineFormat> <string>address1</string> <string>address3</string> <string>cityVillage</string> <string>countyDistrict</string> <string>stateProvince</string> </lineByLineFormat> </addressTemplate>
Address Template for Rwanda
<addressTemplate> <nameMappings class="properties"> <property name="address3" value="Location.cell"/> <property name="stateProvince" value="Location.province"/> <property name="address1" value="Location.rwandanNeighborhood"/> <property name="countyDistrict" value="Location.district"/> <property name="cityVillage" value="Location.sector"/> </nameMappings> <sizeMappings class="properties"> <property name="address3" value="40"/> <property name="stateProvince" value="40"/> <property name="address1" value="40"/> <property name="countyDistrict" value="40"/> <property name="cityVillage" value="40"/> </sizeMappings> <elementDefaults class="properties"> <property name="country" value="Rwanda"/> </elementDefaults> <lineByLineFormat> <string>stateProvince</string> <string>countyDistrict</string> <string>cityVillage</string> <string>address3</string> <string>address1</string> </lineByLineFormat> </addressTemplate>
Address Template for Spain
<addressTemplate> <nameMappings class="properties"> <property name="address2" value="Location.address2"/> <property name="stateProvince" value="Location.stateProvince"/> <property name="address1" value="Location.address1"/> <property name="longitude" value="Location.longitude"/> <property name="postalCode" value="Location.postalCode"/> <property name="cityVillage" value="Location.cityVillage"/> <property name="country" value="Location.country"/> <property name="latitude" value="Location.latitude"/> </nameMappings> <sizeMappings class="properties"> <property name="address2" value="40"/> <property name="stateProvince" value="10"/> <property name="address1" value="40"/> <property name="longitude" value="10"/> <property name="postalCode" value="10"/> <property name="cityVillage" value="10"/> <property name="country" value="10"/> <property name="latitude" value="10"/> </sizeMappings> <lineByLineFormat> <string>address1</string> <string>address2</string> <string>cityVillage stateProvince country postalCode</string> <string>latitude longitude</string> </lineByLineFormat> </addressTemplate>
Address Template for Tanzania
<addressTemplate> <nameMappings class="properties"> <property name="address6" value="Location.region"/> <property name="address5" value="Location.ward"/> <property name="countyDistrict" value="Location.district"/> <property name="cityVillage" value="Location.villageStreet"/> </nameMappings> <sizeMappings class="properties"> <property name="address6" value="14"/> <property name="address5" value="22"/> <property name="countyDistrict" value="17"/> <property name="cityVillage" value="50"/> </sizeMappings> <lineByLineFormat> <string>cityVillage</string> <string>address5</string> <string>countyDistrict</string> <string>address6</string> </lineByLineFormat> </addressTemplate>
Address Template for USA
<addressTemplate> <nameMappings class="properties"> <property name="address2" value="Location.address2"/> <property name="stateProvince" value="Location.state"/> <property name="address1" value="Location.address1"/> <property name="postalCode" value="Location.zipCode"/> <property name="cityVillage" value="Location.city"/> </nameMappings> <sizeMappings class="properties"> <property name="address2" value="50"/> <property name="stateProvince" value="2"/> <property name="address1" value="50"/> <property name="postalCode" value="10"/> <property name="cityVillage" value="20"/> </sizeMappings> <elementDefaults class="properties"> <property name="country" value="USA"/> </elementDefaults> <lineByLineFormat> <string>address1</string> <string>address2</string> <string>cityVillage stateProvince postalCode</string> </lineByLineFormat> </addressTemplate>