Difference between revisions of "Building Searches"

From IMSMA Wiki
Jump to: navigation, search
 
(36 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{TOC right}}
 
{{TOC right}}
 
__NOEDITSECTION__
 
__NOEDITSECTION__
The mine action information collected and stored in IMSMA<sup>NG</sup> is useless without the ability to find it and use it to make operational decisions. That’s why IMSMA<sup>NG</sup> includes a robust data search mechanism that provides an easy-to-use, multilevel interface for building and running searches. As with other parts of IMSMA<sup>NG</sup>, the search functionality is divided into a customisation mode, where information managers can prepare simple or complex searches, and an execution mode where data entry personnel can run prebuilt searches. This simplifies the user experience and ensures consistency of use by sharing identical searches with all users. The IMSMA<sup>NG</sup> search function has three primary purposes:
+
The mine action information collected and stored in {{IMSMANG}} is useless without the ability to find it and use it to make operational decisions. That’s why {{IMSMANG}} includes a robust data search mechanism that provides an easy-to-use interface for building and running searches. The {{IMSMANG}} search function has three primary purposes:
  
 
*to navigate to data
 
*to navigate to data
Line 7: Line 7:
 
*to prepare data for reports and analysis
 
*to prepare data for reports and analysis
  
Information managers can customise IMSMA<sup>NG</sup> searches for each of these purposes to meet the specific needs of the programme. Particularly, customizing the search functionality to facilitate access to programme data and reporting is a key component of implementing and managing a programme’s information workflow.
+
The navigation and map display searches are typically designed to find a single record or a set of records. These searches are generally simpler than the other kinds of searches and are designed to return records that users can browse through to find the necessary data.
  
<center>
+
The reporting searches are typically more complicated than navigation searches since they are intended to return a set of records to populate a report directly without any additional user interaction. These searches can also be saved and run independently of reports and used for browsing data.  
{| class="wikitable" width="750"
 
|-
 
| align="center" colspan="4" | '''Table 14. Options for Using Searches'''
 
|-
 
| width="245pt" | '''Option'''
 
| width="155pt" | '''Use or purpose'''
 
| width="245pt" | '''Example criteria'''
 
| width="155pt" | '''Example parameters'''
 
|-
 
| align="left" | '''Navigation and map display''' || align="left" | Search for items by a specific ID
 
| align="left" | Find all lands with a local ID that includes = “MF-001”
 
| align="left" | Set the local ID as a parameter to be supplied when the search is run
 
|-
 
| align="left" rowspan="2" | These searches are typically designed to find a single record or a set of records. These searches are generally simpler than the other kinds of searches and are designed to return records that users can browse through to find the necessary data. || align="left" | Search for items by type
 
| align="left" | Find all lands with a mine action are type = “Minefield”
 
| align="left" | Mine Action Area Type
 
|-
 
| align="left" | Search for items by date
 
| align="left" | Find all activities between January 1 and February 1
 
| align="left" | The date range
 
|-
 
| align="left" rowspan="4" | '''Reporting and data quality analysis'''
 
  
Reporting searches are typically more complicated than navigation searches since they are intended to return a set of records to populate a report directly without any additional user interaction. These searches can also be saved and run independently of reports and used for browsing data. Data quality analysis searches help identify possible data problems and ensure that programme-specific workflow steps are being followed. These searches can be used to help protect data integrity.
+
Data quality analysis searches help identify possible data problems and ensure that mine action programme-specific workflow steps are being followed. These searches can be used to help protect data integrity.
| align="left" | Report on clearance efforts
 
| align="left" | Find all activities where the type = “Progress Report” and the status = “Completed” and the dates are between January 1 and February 1
 
| align="left" | The date range
 
|-
 
| align="left" | Report on lands cleared by an organisation
 
| align="left" | Find all lands that are linked to activities whose type = “Clearance” and the organisation = “XYZ Org”
 
| align="left" | Mine Action Area Type
 
|-
 
| align="left" | Search for all lands with AP mines
 
| align="left" colspan="2" | Find all active lands with antipersonnel mines or that have clearances linked to them that have found antipersonnel mines
 
|-
 
| align="left" | Data quality checks
 
| align="left" colspan="2" | Find all lands whose status is “Worked On” with no active activities
 
  
Find all clearances that are not linked to a land
+
In {{IMSMANG}} we refer to different types of functionality in the Search menu:
 +
*'''simple''' as in only one filter option may be used
 +
*'''advanced''' as in more than one filter option may be used and complex critera using AND / OR is possible to define
 +
*'''saved''' searches which are prepared by information managers for usage by all users.
  
Find all victims with no link to accident
+
Saved searches simplifies the user experience and ensures consistency of use by sharing identical searches with all users. Of course all users have the ability to save searches which is a convenient way to re-use favourite searches.
|}
 
</center>
 
  
==Building Simple Searches==
+
Particularly, creating saved searches facilitates access to programme data. Reporting is a key component of implementing and managing a mine action programme’s information workflow.
Building searches in IMSMA<sup>NG</sup> is a simple three-step process in which information managers determine:
+
 
 +
The {{IMSMANG}} version 6.0 database is pre-populated with saved searches developed by GICHD that may be customised to meet the specific needs of the mine action programme.
 +
 
 +
==Simple Searches==__NOEDITSECTION__
 +
The simple search options in the Search menu function exactly as all other filters in {{IMSMANG}}, see [[Search Items]].
 
   
 
   
#The item to search for
+
==Advanced Searches==__NOEDITSECTION__
#The attributes of the item to use in the search
+
The different types of search criteria (e.g. subobject and geo area) are described in [[Search by Subobject]] and [[Search by Map Area]], respectively. The possibility to use AND / OR and to specify the search parts makes the Advanced searches very flexible.
#Whether all of the criteria must be met (AND) or any of the criteria must be met (OR)
 
  
Following these three steps, users can build searches as simple or as complex as the examples below:
+
==Using Prompt==__NOEDITSECTION__
 +
When the prompt function is used in Advanced searches the re-usability and user-friendliness are greatly increased. For example, if a user wants to find all progress reports submitted by the "XYZ" organisation and another user wants to have the same search but for the "ABC organisation, it is better to save one search and prompt on Organisation.
  
*find lands with an ID of “MF-101”
+
==SQL criteria==__NOEDITSECTION__
*find victims who are children and were injured in 2010
+
While the {{IMSMANG}} search functionality is extremely flexible allowing searches on CDFs, customised option list values and links among items, there are cases where users may want to run more complex searches that cannot be built using the Advanced search interface. For these cases, {{IMSMANG}} includes a special SQL search criteria that allows information managers to use a SQL query as filter criteria.
*find progress reports about work done by XYZ organization on lands in Province ABC between 2008 and 2010
 
*find all clearances completed on lands with antipersonnel mines
 
  
When a search is designed, it can be given a name and description and then saved for later use. Saving a search saves the criteria of the search rather than the search results. This means that searches are automatically updated when additional data is added to the system, ensuring that searches return the most up-to-date data. For example, an information manager can build a search called “Open Lands” that finds 25 lands with a status of “Open.” If 10 additional lands are entered into the system with a status of “Open,” the search would find 35 records when it is run again. In this way, searches are dynamically updated as data is added to the system, allowing information managers to assess data trends over time using consistent search criteria. Information managers can also use an existing search as a template to create other searches by using the “Save as” functionality.
+
Creating searches using SQL criteria requires a detailed understanding of PostgreSQL's SQL syntax and the {{IMSMANG}} data model. Your [[Information Management Team | GICHD IM Advisor]] may support you in developing the SQL.
  
==Using Search Parameters==
+
To use SQL criteria, simply provide a valid SQL statement in the following format:
Search parameters allow users to change one or more search criteria when running a search. For example, if a user wants to find all progress reports submitted by “XYZ” organisation, they can build a search for “XYZ progress reports.” If another user wants to search for progress reports submitted by “ABC” organisation, they can build another search for “ABC Progress Reports.” Alternatively, an information manager can build one search with a parameter for “Organisation” that allows users to provide different values for the organisation when running the search. This makes one search, for example, “Progress Reports by Organisation,” available for multiple purposes. The ability to build dynamic searches allows information managers to customise search capabilities to meet the needs of various stakeholders within their programmes.
 
  
{{note|Searches can include geospatial data as a parameter which allows users to define a geospatial extent to search within. For the purposes of searching, records without geospatial data are defined as “outside” the geospatial extent}}
+
SELECT [item_guid] FROM [item_table] WHERE...
  
==Building Complex Searches==
+
The SQL query may be complex with left joins and subqueries but may only have '''one''' output column which should be the item_guid of the Search target i.e if your search target is Land then only output column should be hazard_guid.
While the IMSMA<sup>NG</sup> search functionality is extremely robust—allowing searches on CDFs, customised option list values and links among items— there are some cases where users may want to run more complex searches that cannot be built using the standard search interface. For these cases, IMSMA<sup>NG</sup> includes a special Structured Query Language (SQL) search functionality that allows information managers to provide SQL syntax for executing searches. Creating searches using SQL criteria requires a detailed understanding of relational databases, SQL and the IMSMA<sup>NG</sup> data model and should only be undertaken by advanced users.
 
  
To use SQL criteria, simply provide a valid SQL statement in the following format:
+
{{note| We strongly recommended to develop and test the SQL query with a SQL tool before pasting it into the SQL criteria since {{IMSMANG}} does not provide SQL debugging support. }}
 +
 
 +
==Saved Searches==__NOEDITSECTION__
 +
Saving a search saves the criteria of the search rather than the search results. This means that searches are automatically updated when additional data is added to the system, ensuring that searches are returning results using the updated data.
  
SELECT [item_guid] FROM [item_table] WHERE...
+
==Inspiration Saved Searches==__NOEDITSECTION__
For example, SELECT hazreduc_guid FROM hazreduc WHERE hazreduc_localID =’ÇL-001’
+
{{IMSMANG}} version 6.0 database is pre-populated with 40 different data quality Saved searches of different kinds:
 +
* suspected duplicates
 +
** e.g "Victim Duplicate Name & Date Of Birth"
 +
* items without any geographical data
 +
** e.g. "Accident Without Geodata"
 +
* items that do not have any links to other items
 +
** e.g. "Assistance Without Links To Victim"
 +
* items which are assigned to different locations
 +
** e.g. "Land & Activity Not Same Location"
 +
* task as Search target
 +
** e.g. "Land Included In More Than One Task"
 +
* possible mine action process quality issues
 +
** e.g. "Status Open with links to Activity or QM"
  
Using SQL criteria, information managers can design complicated searches that can then be saved and run by users with no understanding of SQL. In this way, IMSMA<sup>NG</sup> unleashes the full power of SQL criteria, joins and subqueries in an easy-to-run interface.
+
{{note | These Saved searches should be seen as '''inspiration''' and should be adapted to each mine action programme's processes.}}
  
{{note|
+
{{NavBox IMSMA NG Administration}}
* It is recommended that information managers test their SQL in an external SQL editor prior to using it within IMSMA<sup>NG</sup> since IMSMA<sup>NG</sup> does not provide SQL debugging support.
 
* Information managers can build complicated queries using SQL and combine them with other criteria, including parameters, to provide virtually unlimited search capabilities to IMSMA<sup>NG</sup> users}}
 
  
{{NavBox Getting started with IMSMA}}
+
[[Category:NAA]]

Latest revision as of 15:22, 29 May 2017

The mine action information collected and stored in IMSMANG is useless without the ability to find it and use it to make operational decisions. That’s why IMSMANG includes a robust data search mechanism that provides an easy-to-use interface for building and running searches. The IMSMANG search function has three primary purposes:

  • to navigate to data
  • to display data on the map
  • to prepare data for reports and analysis

The navigation and map display searches are typically designed to find a single record or a set of records. These searches are generally simpler than the other kinds of searches and are designed to return records that users can browse through to find the necessary data.

The reporting searches are typically more complicated than navigation searches since they are intended to return a set of records to populate a report directly without any additional user interaction. These searches can also be saved and run independently of reports and used for browsing data.

Data quality analysis searches help identify possible data problems and ensure that mine action programme-specific workflow steps are being followed. These searches can be used to help protect data integrity.

In IMSMANG we refer to different types of functionality in the Search menu:

  • simple as in only one filter option may be used
  • advanced as in more than one filter option may be used and complex critera using AND / OR is possible to define
  • saved searches which are prepared by information managers for usage by all users.

Saved searches simplifies the user experience and ensures consistency of use by sharing identical searches with all users. Of course all users have the ability to save searches which is a convenient way to re-use favourite searches.

Particularly, creating saved searches facilitates access to programme data. Reporting is a key component of implementing and managing a mine action programme’s information workflow.

The IMSMANG version 6.0 database is pre-populated with saved searches developed by GICHD that may be customised to meet the specific needs of the mine action programme.

Simple Searches

The simple search options in the Search menu function exactly as all other filters in IMSMANG, see Search Items.

Advanced Searches

The different types of search criteria (e.g. subobject and geo area) are described in Search by Subobject and Search by Map Area, respectively. The possibility to use AND / OR and to specify the search parts makes the Advanced searches very flexible.

Using Prompt

When the prompt function is used in Advanced searches the re-usability and user-friendliness are greatly increased. For example, if a user wants to find all progress reports submitted by the "XYZ" organisation and another user wants to have the same search but for the "ABC organisation, it is better to save one search and prompt on Organisation.

SQL criteria

While the IMSMANG search functionality is extremely flexible allowing searches on CDFs, customised option list values and links among items, there are cases where users may want to run more complex searches that cannot be built using the Advanced search interface. For these cases, IMSMANG includes a special SQL search criteria that allows information managers to use a SQL query as filter criteria.

Creating searches using SQL criteria requires a detailed understanding of PostgreSQL's SQL syntax and the IMSMANG data model. Your GICHD IM Advisor may support you in developing the SQL.

To use SQL criteria, simply provide a valid SQL statement in the following format:

SELECT [item_guid] FROM [item_table] WHERE...

The SQL query may be complex with left joins and subqueries but may only have one output column which should be the item_guid of the Search target i.e if your search target is Land then only output column should be hazard_guid.

Note.jpg We strongly recommended to develop and test the SQL query with a SQL tool before pasting it into the SQL criteria since IMSMANG does not provide SQL debugging support.

Saved Searches

Saving a search saves the criteria of the search rather than the search results. This means that searches are automatically updated when additional data is added to the system, ensuring that searches are returning results using the updated data.

Inspiration Saved Searches

IMSMANG version 6.0 database is pre-populated with 40 different data quality Saved searches of different kinds:

  • suspected duplicates
    • e.g "Victim Duplicate Name & Date Of Birth"
  • items without any geographical data
    • e.g. "Accident Without Geodata"
  • items that do not have any links to other items
    • e.g. "Assistance Without Links To Victim"
  • items which are assigned to different locations
    • e.g. "Land & Activity Not Same Location"
  • task as Search target
    • e.g. "Land Included In More Than One Task"
  • possible mine action process quality issues
    • e.g. "Status Open with links to Activity or QM"
Note.jpg These Saved searches should be seen as inspiration and should be adapted to each mine action programme's processes.