Per Capita – extraction of data from LLWR records

****************************************************************************************************************

* Algorithm for institutions to use with PROGRAMME dataset merged with ACTIVITY dataset *

* Example for use with 2014/15 LLWR dat *

****************************************************************************************************************

***************************************************************************************************************

* Please also refer to further guidance found on the HEFCW website *

* http://www.hefcw.ac.uk/working_with_he_providers/data_collection/funding_calculations.aspx (

***************************************************************************************************************

**************************************************************************

* 1. Extract eligible students *

* (variables taken from LLWR tables are in upper case) *

**************************************************************************

*********************************

* Notes *

* ne means not equal to *

* proc means procedure *

* =: means begins with *

*********************************

data popn;

set llwr;

where LA11='2' and

LP17 in ('51','52','53','54','55','56','57','58','59') or HE14 in ('M22', 'M26', 'H00', 'H11', 'H16', 'H18', 'H22', 'H23', 'H24', 'H41', 'H42', 'H43', 'H50', 'H60', 'H61','H70', 'H71', 'H72', 'H76', 'H78', 'H79', 'H80', 'H81', 'H88', 'H90', 'H91', 'I00', 'I11', 'I16','I60', 'I61', 'I70', 'I71', 'I72', 'I74', 'I76', 'I79', 'I80', 'I81', 'I90', 'I91', 'J10', 'J16', 'J20', 'J26', 'J30','J41', 'J42', 'J43', 'J45', 'J76', 'J80', 'J90', 'C20', 'C30', 'C41', 'C42', 'C43', 'C77', 'C78','C80', 'C90','D00', 'D01', 'D90', 'E00', 'E40', 'E43', 'E90', 'L00', 'L80', 'L90', 'L91', 'M00', 'M01', 'M02','M10', 'M11', 'M16', 'M40', 'M41', 'M42', 'M43', 'M45', 'M50', 'M70', 'M71', 'M72', 'M76', 'M78','M79', 'M80', 'M86', 'M88', 'M90', 'M91')

**************************************************************************************

* 2. Include students active between 1 August 2014 and 31 July 2015 *

**************************************************************************************

if LA09<='31Jul2015' and

(LA30>='1Aug2014' or LA30='');

******************************************************************************************************************** 3. Define earliest start date of programme as earliest start date of learning activity (using LA09) attached to * learning programme = LAstart ***********************************************************************************************************************

***************************************************************************************

* 4. set mode and level according to HEFW definitions for output *

***************************************************************************************

if (HE13 in('01','02') or LP07 in ('07','08')) then; mode='FT';

else if (HE13 in ('03') or LP07=('09')) then; mode='PT';

else; mode='NK'; modord='3'

if (HE14 in ('M22', 'M26', 'H00', 'H11', 'H16', 'H18', 'H22', 'H23', 'H24', 'H41', 'H42', 'H43', 'H50', 'H60', 'H61','H70', 'H71', 'H72', 'H76', 'H78', 'H79', 'H80', 'H81', 'H88', 'H90', 'H91', 'I00', 'I11', 'I16','I60', 'I61', 'I70', 'I71', 'I72', 'I74', 'I76', 'I79', 'I80', 'I81', 'I90', 'I91', 'J10', 'J16', 'J20', 'J26', 'J30','J41', 'J42', 'J43', 'J45', 'J76', 'J80', 'J90', 'C20', 'C30', 'C41', 'C42', 'C43', 'C77', 'C78','C80', 'C90')
or LP17 in ('51','52','53','55','56','57','58','59','M71'))

then level='UG';

else if (HE14 in ('D00', 'D01', 'D90', 'E00', 'E40', 'E43', 'E90', 'L00', 'L80', 'L90', 'L91', 'M00', 'M01', 'M02','M10', 'M11', 'M16', 'M40', 'M41', 'M42', 'M43', 'M45', 'M50', 'M70', 'M72', 'M76', 'M78','M79', 'M80', 'M86', 'M88', 'M90', 'M91') or LP17 in ('54'))

then level='PG';

else level = 'NK';

*************************************************************************************

* nodupkey means delete any duplicates having the same key values of *

* learner identifier LA02 and provider identifier LA03 *

* the record that appears first will be kept *

*************************************************************************************

proc sort nodupkey;

by LA02 LA03;

***************************************************************************************

* indicator to count number of students who are eligible for premium *

***************************************************************************************

total=1;

************************************************************************************

* 5. Summarise by provider to get total number of eligible students *

* and numbers allocated each element of the premium *

************************************************************************************

proc summary;

by LA03 mode;

var total;

output out=outtot sum= total;