Extract Survey Data to ORACLE Tables {HEAMIS-1}


This program selects programme (qualification), course (subject) and student data from the database and puts it into oracle tables. From these tables, the data is taken and reported in XML format - option {HEAMIS-3}


The data extracted is stored in six separate tables.  This data will be used to create six different XML-files, i.e.
  1. Student Intake (Table 13)
  2. Student Output (Table 14)
  3. Course Intake (Table 12)
  4. Course Output (Table 16)
  5. Programme Intake (Table 11)
  6. Programme Output (Table 15)
The basic structure of the program is to select student  /  qualification records that are registered between the reporting year as set-up in {HEAMN-1} and the reporting year minus one, and where the FTEN status for the particular student is not null. Students with no FTEN status are excluded. Students who pass this check will then be checked in terms of whether they are an intake or an output category student. If the student  /  qualification fits the intake category criteria, then the output category check will be ignored and the record is then evaluated against the last general checks. If the student  /  qualification record does not meet the intake category criteria, it will be evaluated against the output criteria before it proceeds to the general checks. All of the above logic is discussed in detail, in the discussion that follows.

For every update run, the current records in the table RAUHSD {HEAMIS-2} will be removed and the new records generated inserted. In the summary information at the end of the report a count will indicate the number of records removed and created.

The program’s logic is to take a specific selected student  /  qualification record and process it through various checks to determine if it is a possible Intake or Output file record. The records to be evaluated as possible Intake or Output file records are selected as follows:
  1. The default values, as set in the control file {HEAMN-1} - and, in particular, the Reporting Year - are used.
  2. Student  /  qualification registration will be selected where
a) The registration year is between the HEA reporting year as specified in {HEAMN-1} for the field Enter Calendar Year For HEA Reports and this value minus one. For example: if the reporting year is set as 2002, records to be selected will be those where registration year is between 2001 and 2002.
b) The enrolment date must also be before 31-OCT- (Reporting Year -1): for the above example it would be 31-OCT-2001.
c) In addition, no cancellation date must exist for the registration record, or the cancellation date must be after the 31- OCT- (Reporting Year - 1). For the above example, it would be 31-OCT- 2001.
d) In addition, where the offering type of the record is either linked as a full or part-time offering type, Extra Mural offering types are excluded. Only offering types linked to subsidy types A (for Normal) and M (for Mixed) are also included: offering types liked to subsidy types B (for Distant) and C (for None) are excluded. All of the above are linked to the offering type in option {GCS-5}.
  1. For the above selected records the program will determine which are possible Intake or Output file records.
  2. Possible Intake  /  Output file records are identified as follows:
a) Intake File

i)  If the student’s registration year is equal to the reporting year e.g. reporting year 2002 and student’s registration year is also 2002.
ii)  The Final Year indicator is equal to “Y”.
iii) The qualification “Result Code” leads to a PASS.       
 
b) Output File

i)  If the student’s registration year is equal to the reporting year minus one, e.g. if the   reporting year is 2002 and the student’s registration year is 2001.
ii) The student  /  qualification record must have at least one primary subject that is:

I)   Registered for an exam year and month that are between the control file {HEAMN-1} start and end - year and month.
II)  The enrolment date is before 31-OCT-(Reporting Year -1), for this particular example it would be 31-OCT-2001.
III)  Has no cancellation date in existance for the registration record or the cancellation date is after the 31- OCT-(Reporting Year - 1). For this particular example, it would be 31-OCT- 2001.

  1.  For each record in the above possible Intake / Output tables, the following biographical and registration details are selected.
a) Student Number
b) Enrolment Year
c) Qualification - the “Ext. Code” as defined on {SACADO-1} will be reported, if no value exists for the field: the Qualification Code will be concatenated with the Offering Type. The HEA reporting requirement is that different program codes must be reported if different offering types are applicable.
d) Study Period - if the study period of the record is “C” it would be inserted into the table as 99. 
e) Qualification Result
f) FTEN Status
g) Final Year Y / N - if there is no value for the record it will default to “N”
h) Qualification Offering Type
i) Table 1.2 Row Code -  as defined for the qualification on {SACADO-1}. This row code will only be used if the answer to the question “For Table 1.2 : Is More Than One Row Applicable” is “Y”, otherwise the row code for subjects will be used. Also refer to the logic below to see which subject row code is used.
j) Program Code – the value as entered for the field “Ext. Code” {SACADO-1}. If no program code exists, the Approved Qualification Code as linked to the qualification in {SACAD-1b2}, will be selected.
k) Offering Type Indicator - (F)ull Time / (P)art Time as set-up on {GCS-5}.
l) Post / Undergraduate - indicator for the qualification as set-up on {SCODE3-1b1}.
m) Qualification Type - for the record selected as set-up in {SCODE3-1b1}.
n) Research / Teaching - indicator for the qualification record selected, as set-up in {SCODE3-1b1}.
o)Master / Doctorate  - Indicator for the qualification record selected in option {SCODE3-1b1}, if the qualification is not a master or a doctorate.
p) Exam Only Indicator - the block for the qualification record as set-up on {SCODE2-1}.
q) Preparation Time - the value as liked to the qualification ID for the qualification record as set-up on {SACADO-1}. If no value exists for this field a default of “0” will be used.
r) Pass / Fail Indicator - of the qualification’s result code, as linked on {SCODE-23}.
s) Gender of Student

  1. The final check is to evaluate the data selected: if the record’s data is incomplete according to the checks below, the student / qualification record will be excluded. These records will be printed at the end of the program’s output with the applicable error message. The program will check whether :
a) A gender value exists - if not, it prints No gender code available.
b) A FTEN status value exists - if not, it prints No FTEN Status available.
c) An Offering Type Indicator exists for the record’s offering type {GCS-5}- if not, it prints No offering type available.
d) Either an Ext. Code or Approved ID exists for the qualification {SACADO-1} - if not, it prints No Programme Code Available.
e) A Post / Undergraduate indicator exists for the qualification type linked to the qualification {SCODE3-1b1} - if not, it prints No Post / undergraduate type available.
f)  A Qualification Type for the qualification exists {SCODE3-1b1} - if not, it prints No Qualification type available.
g) A Research / Teaching indicator for the qualification type linked to the qualification exists {SCODE3-1b1} - if not, it prints No Research / Teaching indicator available.
h) An Exam Only indicator for the qualification / block registration exists {SCODE2-1} - if not print No Block Exam only indicator available. 
  1. The product of Intake / Output records identified up to this point will go through final checks before it is included in the different tables, which will be the source for the files reported to the HEA.
  2. Student Intake Data (TABLE 13)
All possible intake student / qualification records identified thus far will be checked against the following set of rules, before a record is added to the table.

a) Only first year student / qualification records are included. The record must have a study period of one (1).
b) The student / qualification record must be an AB-INITIO student. This will include only records where the preparation time for the qualification is “0”, as defined for Qualification ID linked to the qualification {SACADO-1}.
c) A student / qualification record registered for exam only purposes will be excluded from the table. The block code linked to this registration will determine this: if the block is linked to “Exam Only” on {SCODE2-1} it will cause the record to be excluded.
d) Check for valid ISCED codes on qualification level.
i)   If the field Table 1.2 Row Code in option {SACADO-1} has no value and the question on this bock Is more than 1 row applicable” is “N”, then the student will be excluded with the message No ISCED code available on course level.
ii)  If the field Table 1.2 Row Code in option {SACADO-1} has an ISCED code value with a length of three characters and the answer to Is more than 1 row applicable” is “N”, then this is regarded as a valid ISCED code, therefore no further checks are required.
iii) If the field Table 1.2 Row Code in option {SACADO-1} has a value with a length not equal to 3, and the answer to the question Is more than 1 row applicable” is “N", then this is an invalid length: therefore the student will be excluded with the message - Illegal length for ISCED code on course level. A valid ISCED code must be 3 characters in length.
e) Checks for ISCED codes on subject level and the ISCED code value to be included on the table, will only be applicable when the answer to the question in {SACADO-1}, "Is more than 1 row applicable” is “Y”.
i)   For each subject record selected for the student / qualification registration an ISCED code must exist. If the field Stats 1.2 Row Code in option {SACADO-1} has no ISCED code value, then the student / qualification record will be excluded and the message No ISCED code available on subject level will be printed.
ii)  If the ISCED code for the above mentioned field is not a 3 character value the record is excluded with the message Illegal length for ISCED code on subject level.
iii) If no subject registration is found for the student / qualification record, the record will be excluded from the table and the message No Subjects Registered to Identify ISCED code will be provided.
iv)  If only one valid ISCED code exists for this student, then this code will be used when the record is included in the table.
v)   If more than one valid ISCED code exists then the ISCED code with the most subjects is the value that will be used when the record is included in the table.

Example.    
ISCED Code  NR of Subjects
912  3
913  4
914 2

For the above example the value for Stats 1.2 Rowcode to be included on the table will be 913.

vi)  If subjects are equally divided between ISCED codes, then the code will be narrowed down to the narrow band or broad band. The band definition is as follows. The ISCED code is divided in 3 parts

Example: ISCED code 917 is split as follows :  9 is the Broad Band    1 is the Narrow Band     7 is the Detail Band

If subjects are equally divided between ISCED codes and only the detail band differs then the detail band will be replaced with a zero (0) -

Example        
ISCED Code  NR of Subjects
912  1
913  1
914 1
915 1
916 1

i.e. the  ISCED that will be used is 910, which is the first 2 digits plus a zero.

vii) If the subjects are equally divided and the narrow band differs, then the narrow and detail bands are replaced with zero's -

Example:        
ISCED Code  NR of Subjects
912  1
913  1
914 1
920 1
919 1

for example: the ISCED code that will be used is 900, which is the first digit plus two zeros.

viii) If the number of subjects is split equally between '2 Humanities and Arts' and '3 Social Sciences and Law' subjects then the ISCED code is set to 910.
ix)  If the subjects are equally divided and the broad band differs, then the ISCED code will be set to 900.

Example   
ISCED Code  NR of Subjects
912  1
713  1
814 1
314 1
 
f)     A student / qualification record qualifies as a successful Intake table record when all the above checks have been passed. Each record is inserted individually with the following information into specific columns that determine the data type that is inserted into the table. The following columns are included for table 13.

i) Column 50 = Institution Code
ii) Column 60 = Academic Year
iii) Column 130 = Student Number
iv) Column 70 = Scrambled Student Number
v) Column 100  = Programme Code concatenated with offering type. [As indicated in above discussion if no Programme code was available the Approved Qualification ID concatenated with the offering is used].
vi) Column 110  = Study Period
vii) Column 170     = Gender Tag (Male=1 & Female =2)
viii)  Column 280   = Student Type Tag

The value for the student tag is determined as follows:

I)    If the study period of the student / qualification record is equal to 1 and the FTEN status is not an “F” then the student type is set to '1' (not a new entrant). If the FTEN status is a “F” then the student type is set to '2' (new entrant).
II)  If the student / qualification record’s final year indicator is “Y” and the Result for this record leads to a PASS and is equal to the either of the result codes specified in the initial selection criteria, the student type is set to '4'  (first class or 2.1 award recipient). If the record’s result is not what was specified with the selection criteria then the student type is set to '3' (normal  graduand).
  
ix) Column 290   = ISCED Code - as determined by {SACADO-1} or by subject registrations.

  1. Student Output Data (Table 14)
All possible output student / qualification records identified thus far will be checked against the following set of rules before a record will be added to the table.

a) Only students with preparation time for the Qualification ID linked to the qualification in option {SACADO-1} equal to zero(0) or one (1) will be included.  If a student has any other value, the student is excluded.
b) Only graduate student / qualification records are included in this table: if the record’s final year indicator is not “Y’, the record will be excluded.
c) Only student / qualifications with a PASS related result code will be included. If the result leads to a FAIL result the record is excluded.
d) Checks for valid ISCED codes on qualification or subject level. The logic for the ISCED code to be used is the same as that for the Student Intake table as discussed above.
e) A student / qualification record qualifies as a successful Output table record when all the above checks have been passed. Each record is inserted individually with the following information into specific columns that determine the data type that is inserted into the table. The following columns are included for table 14.

i) Column 50 = Institution Code
ii) Column 60 = Academic Year
iii) Column 130 = Student Number
iv) Column 70 = Scrambled Student Number
v) Column 100  = Programme Code concatenated with offering type. [As indicated in above discussion if no Programme code was available the Approved Qualification ID concatenated with the offering is used].
vi) Column 110  = Study Period
vii) Column 170     = Gender Tag (Male=1 & Female =2)
viii)  Column 280   = Student Type Tag

The value for the student tag is determined as follows:

I) If the study period of the student / qualification record is equal to 1, and the FTEN status is not an “F”, then the student type is set to '1' (not a new entrant). If the FTEN status is an “F”, then the student    type is set to '2' (new entrant).
II) If the student / qualification record’s final year indicator is “Y” and the result for this record leads to a PASS and is equal to the either of the result codes specified in the initial selection criteria, the student type is set to '4' (first class or 2.1 award recipient). If the record’s result is not what was specified with the selection criteria then the student type is set to '3' (normal graduand).

ix) Column 290   = ISCED Code - as determined by {SACADO-1} or by subject registrations.

  1. From the data that is inserted into the student intake / output tables the data for the Programme (Approved Qualification) intake / output and course (Qualiffication) intake / output is determined.
  2. Course Intake Data (Table 12)
a) From the student intake table (Table 13) distinct records are selected for the
i)   Intake year
ii)  Programme Code concatenated with Offering Type or Approved Qualification name with Offering Type and;
iii) Approved qualifications ID concatenated with offering type.
b) Each record found will be individually inserted into the table, with the following set of information attached to it. This information is inserted into specific defined columns that determine the data type that is inserted into the table.
c) Table 12 consists of the following columns:

i) Column 40 = Institution Code
ii) Column 50 = Academic Year
iii) Column 70    = Student Number
iv) Column 70 = Programme Code -  Approved Qualification ID concatenated with Offering Type.
v) Column 90  = Course Code - the Qualification Code and Offering Type concatenated. [As indicated in above discussion if no Programme code was available the Approved Qualification ID concatenated with the offering is used].
vi) Column 100   = Qualification Description
vii) Column 120      = Study Period - this value will include the total number of years to complete the qualification. If the record’s study period is “C” the column value is set to “99”.

  1. Course Output Data (Table 16)
a) From the student output table (Table 14} distinct records are selected for the:
i)   Output year
ii)  Programme Code concatenated with Offering Type or Approved Qualification name with Offering Type and;
iii) Approved Qualifications ID concatenated with Offering Type.
b) Each record found will be individually inserted into the table, with the following set of information attached to it. This information is inserted into specific defined columns that determine the data type that is inserted into the table.
c)     Table 16 consists of the following columns:

i) Column 40 = Institution Code
ii) Column 50 = Academic Year
iii) Column 70 = Programme Code -  Approved Qualification ID concatenated with Offering Type.
iv) Column 90  = Course Code - the Qualification Code and Offering Type concatenated. [As indicated in the above discussion if no Programme code was available the Approved Qualification ID concatenated with the offering is used].
v) Column 100   = Qualification Description
vi) Column 120      = Study Period - this value will include the total number of years to complete the qualification. If the record’s study period is “C” the column value is set to “99”.

  1. Programme Intake Data (Table 11)
a) From the course intake table (Table 12} distinct records are selected for the intake year, Programme Code as defined in Course Intake (i.e. Approved Qualification ID concatenated with Offering Type) and Programme type. The definition of programme type is as follows.  The programme type consists of three digits determined as follows:
i)   First digit -
If Offering Type Indicator - (F)ull Time / (P)art Time as set-up on {GCS-5}; if it is 'F'.
then set the first digit to '1'.  If it is 'P' then set it to '2', otherwise default it to
ii)  Second digit –
If Post / Undergraduate - indicator for the qualification, as set-up on {SCODE3-1b1}; if it is 'U' then set the second digit to '1'.  If it is 'P' then set it to '2',
otherwise default it to '0'.
iii) Third digit -
If Master / Doctorate  - Indicator for a master or doctorat,e as set-up on {SCODE3-1b1}; if it is 'D', then set the third digit to '7'. 
If Master / Doctorate indicator is 'M', then the indicator is either set to '5' or '6'. This is determined by the Research / Teaching indicator for the qualification record selected, as set-up in {SCODE3-1b1}. If it is 'R', then set the third digit to '6', otherwise set the third digit to '5'.
b) Each record found will be individually inserted into the table, with the     following set of information attached to it. This information is inserted into specific defined columns that determine the data type that is inserted into the table.
c) Table 11 consists of the following columns:

i) Column 40 = Institution tag
ii) Column 50 = Academic Year
iii) Column 70 = Programme Code -  Approved Qualification concatenated with Offering Type.
iv) Column 80  = Programme Name description
v) Column 90  = Programme Type

  1. Programme Output Data (Table 15)
a) From the course output table (Table 16) distinct records are selected for the output year, Programme code as defined in Course Output (i.e. Approved Qualification ID concatenated with Offering Type) and Programme Type. Programme type consists of three digits, the same as outlined in Programme Intake Data section.                 
b) Each record found will be individually inserted into the table, with the following set of information attached to it. This information is inserted into specific defined columns that determine the data type that is inserted into the table.
c) Table 15 consists of the following columns:

i) Column 40 = Institution tag
ii) Column 50 = Academic Year
iii) Column 70 = Programme Code -  Approved Qualification concatenated with Offering Type.
iv) Column 80  = Programme Name description
v) Column 90  = Programme Type

   
User Selection Prompt Text
* an item between square brackets [ ] is the default answer
Type
&
Length
Comments
Is this the Preliminary (FIRST) Hemis Submission - (Y)es or (N)o ? A1
 

Sort Order Per Comments
Error messages are reported first and summary of report is given at the end.


System Select  
As per above discussion.

Example
:

heamis-1




Processing
Rules
 
  No special processing rules.


See Also:



History of Changes

Date System Version By Whom Job Description
29-May-2008 v01.0.0.0 Charlene van der Schyff t12345 New manual format.
22-Sep-2008 v01.0.0.0 Charlene van der Schyff t151627 Edit language obtained from proof read language Juliet Gillies.
10-Apr-2015v04.0.0.0Magda van der Westhuizent205922Convert to INT4.0.