Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

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

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

Unknown macro: {1,3}

\\s)\\d\\d.(
d

Unknown macro: {2,3}

)
s*$"/>
<property name="latitude" value="^(
d

\\s)\\d\\d.(
d

Unknown macro: {2,3}

)
s*$"/>
</elementRegex>
<elementRegexFormats>
<property name="longitude" value="123 45.000"/>
<property name="latitude" value="123 45.000"/>
</elementRegexFormats>

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

Unknown macro: {1,3}

\\s)\\d\\d.(
d

)
s*$"/>
<property name="latitude" value="^(
d

Unknown macro: {1,3}

\\s)\\d\\d.(
d

Unknown macro: {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>


{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>

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>
  • No labels