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 5 Current »

CommTrack makes location data available through a fixture. For more details on how to work with fixtures, see: https://help.commcarehq.org/display/commcarepublic/Creating+and+Updating+Fixtures

Configuring Locations: In CommTrack, there is no need to create a fixture for locations. This is done automatically once the user has configured products through Setup -> Manage Locations.

Accessing Locations: When building a mobile application, fixture data can be accessed through the auto-created location fixture on the phone.

Referencing Location Hierarchies in Case List and Details Page

When making a module against supply-point cases, you can reference any location property available in the fixture, as well as any properties of any parents all the way up the chain. To reference a property, you must type a four part code into the case list or details configuration. The format is as follows:

location:[my type]:[reference type]/[property name]

Everything in brackets is something that you replace according to the following table. The colons and slash are mandatory.

  • location: Just the word "location". This never changes.
  • my type: The type of the location you expect to be in the case list. This is typically the lowest-level location type, e.g. "outlet". See the "type code" field under Locations (Advanced) in setup to see what to put for each type.
  • reference type: The type of the location you want to reference. This could be the same as "my type".
  • property name: The property you want to reference.

The following examples are for a simple hierarchy containing a state, district, block and outlet.

I am a...referencing my...Syntax to use
outletown typelocation:outlet:outlet/location_type
outletblock namelocation:outlet:block/name
outletstate namelocation:outlet:state/name
districtown typelocation:district:district/location_type
districtstate namelocation:district:state/name

 

Example Location Fixture

This is the corresponding fixture that would be used. Advanced queries can be done if you understand this structure.

<?xml version="1.0" encoding="UTF-8"?>
<fixture id="commtrack:locations" user_id="217ce8d8e4cb726ca11c418dd00280d2">
   <states>
      <state id="217ce8d8e4cb726ca11c418dd06071ca">
         <name>Mass</name>
         <site_code />
         <external_id />
         <latitude />
         <longitude />
         <location_type>state</location_type>
         <districts>
            <district id="217ce8d8e4cb726ca11c418dd0606c8e">
               <name>Suffolk</name>
               <site_code />
               <external_id />
               <latitude />
               <longitude />
               <location_type>district</location_type>
               <blocks>
                  <block id="217ce8d8e4cb726ca11c418dd0606643">
                     <name>Boston</name>
                     <site_code />
                     <external_id />
                     <latitude />
                     <longitude />
                     <location_type>block</location_type>
                     <outlets>
                        <outlet id="3b7bc6e458c49c6382c9220d7432a1ae">
                           <name>Boston medical</name>
                           <site_code>bmc</site_code>
                           <external_id />
                           <latitude />
                           <longitude />
                           <location_type>outlet</location_type>
                        </outlet>
                     </outlets>
                  </block>
               </blocks>
            </district>
         </districts>
      </state>
   </states>
</fixture>

 

 

  • No labels