Note |
---|
Wiki Markup |
{note}This is a feature in OpenMRS 1.9+ |
Managing Address Templates
...
\+{note} h1. 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 |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Template|#General]
* [Address Template for Kenya|#Kenya]
* [Address Template for Lesotho|#Lesotho]
* [Address Template for Malawi|#Malawi]
* [Address Template for Rwanda|#Rwanda]
* [Address Template for Spain|#Spain]
* [Address Template for Tanzania|#Tanzania]
* [Address Template for USA|#USA]
h4. Customizing Templates
You can also build your own templates according to your country.
First according to your need, select some address attribute form the Table bellow:
||Attribute type ||xml||
| address1 | <property name="address1" value="Location.address1"/> |
| address2 | <property name="address2" value="Location.address2"/> |
| address3 | <property name="address3" value="Location.address3"/> |
| address4 | <property name="address4" value="Location.address4"/> |
| address5 | <property name="address5" value="Location.address5"/> |
| address6 | <property name="address6" value="Location.address6"/> |
| cityVillage | <property name="cityVillage" value="Location.cityVillage"/> |
| countyDistrict | <property name="countyDistrict" value="Location.district"/> |
| stateProvince | <property name="stateProvince" value="Location.stateProvince"/> |
| country | <property name="country" value="Location.country"/> |
| latitude |<property name="latitude" value="Location.latitude"/> |
| longitude | <property name="longitude" value="Location.longitude"/> |
| postalCode | <property name="postalCode" value="Location.postalCode"/> |
| startDate | <property name="startDate" value="PersonAddress.startDate"/> |
| endDate | <property name="endDate" value="personAddress.endDate"/> |
Add these atribut sets in the XML as follows <property name="address2" value="Location.address2"/>
<property name="address1" value="Location.address1"/>
<property name="cityVillage" value="Location.cityVillage"/>Now define the character size for each of the attribute you selected
E.g. If postalCode is 10 character long :
<property name="postalCode" value="10"/>
Next design the layout of your Address Template.
This defines the top to bottom and left to right order of the address attributes
E.g. <lineByLineFormat>
<string>address1</string>
<string>address2</string>
<string>cityVillage stateProvince country postalCode</string>
<string>latitude longitude</string>
<string>startDate endDate</string>
</lineByLineFormat>
<elementDefaults>
<property name="country" value="Kenya"/>
</elementDefaults>
<elementRegex>
<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>
<property name="longitude" value="123 45.000"/>
<property name="latitude" value="123 45.000"/>
</elementRegexFormats>
{anchor:General}
{code:language=xml|title=General Address Template|controls=true} <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> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{code}
{anchor:Kenya}
{code:language=xml|title=Address Template for Kenya|controls=true} <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> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{code}
{anchor:Lesotho}
{code:language=xml|title=Address Template for Lesotho|controls=true} <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> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{code}
{anchor:Malawi}
{code:language=xml|title=Address Template for Malawi|controls=true} <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> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{code}
{anchor:Rwanda}
{code:language=xml|title=Address Template for Rwanda|controls=true} <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> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{code}
{anchor:Spain}
{code:language=xml|title=Address Template for Spain|controls=true} <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> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{code}
{anchor:Tanzania}
{code:language=xml|title=Address Template for Tanzania|controls=true} <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> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{code} {anchor:USA} {code:language=xml|title=Address Template for USA|controls=true} <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>{code} |