Mobile PIMS Statistics
Introduction
This was a concept entry to the Dev8D 2011 PIMS Challenge. The be fair, it was not a particularly 'mobile' application, although it nonetheless received an honourable mention from the judges. It extracts statistical data from the JISC PIMS database using its API, presenting the data either as tables and/or charts. To be honest, using the PIMS API is not the best way of getting statistical data. What would be more efficient is a proper Protocol for Statistical Harvesting (PSH) that extracts the data directly from the relational database, rather than from intermediate XML. (See my Dev8D 2011 Lightning Talk 'Sometimes, I just want to count things'.)
Approach
This concept demo emulates the PSH by extracting data from the PIMS API's XML output and rendering it using the PSH XML schema. It was only possible to emulate part of the PSH in the time available for the Dev8D challenge. However, it is possible to obtain the following information
- Total number of JISC projects
- Total funding of JISC projects
- Strands
- Progress States
- Time series
Example - Total Funding Amount by Project Start Date
First we use the PSH emulator call
http://www.opendoar.org/demos/pims/psh.php?verb=Count&countType=FundingAmount&dateType=StartDate&dateUnit=year
to bring back the XML
<?xml version="1.0" encoding="UTF-8" ?>
<psh>
<responseDate>2012-05-17T05:23:35Z</responseDate>
<request verb="Count">http://www.opendoar.org/demos/pims/psh.php</request>
<Count units="FundingAmounts" dateType="StartDate">
<header>
<setType />
<setSpec />
<setName />
<datestamp></datestamp>
<numItems>£0</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>1999</datestamp>
<numItems>£0</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2000</datestamp>
<numItems>£0</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2001</datestamp>
<numItems>£153440</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2002</datestamp>
<numItems>£9000</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2003</datestamp>
<numItems>£9764</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2004</datestamp>
<numItems>£1605842</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2005</datestamp>
<numItems>£890232.5</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2006</datestamp>
<numItems>£1947011</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2007</datestamp>
<numItems>£5044721</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2008</datestamp>
<numItems>£5775995.95</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2009</datestamp>
<numItems>£4686204.69</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2010</datestamp>
<numItems>£2049093.25</numItems>
</header>
<header>
<setType />
<setSpec />
<setName />
<datestamp>2011</datestamp>
<numItems>£0</numItems>
</header>
</Count>
</psh>
This could be presented as a table:
| Start Date | Funding Amount |
|---|---|
| 1999 | £ 0.00 |
| 2000 | £ 0.00 |
| 2001 | £ 153440.00 |
| 2002 | £ 9000.00 |
| 2003 | £ 9764.00 |
| 2004 | £ 1605842.00 |
| 2005 | £ 890232.50 |
| 2006 | £ 1947011.00 |
| 2007 | £ 5044721.00 |
| 2008 | £ 5775995.95 |
| 2009 | £ 4686204.69 |
| 2010 | £ 2049093.25 |
| 2011 | £ 0.00 |
or as a chart (here emulated using Excel, but implementable using the graphics package of your choice).

Other possibilities include:
- Number of contacts per strand, project, etc.
- Number of outputs per strand, project, etc.
- Number of projects and/or total funding per programme manager
- Number of projects and/or total funding per organisation
- etc.
All of these could also provide sort options and links to further data (such as project descriptions) drawn from the PIMS database
Peter Millington
peter.millington@nottingham.ac.uk