Adding ISCO 88 Job Codes to iHRIS Manage: Difference between revisions

From IHRIS Wiki
No edit summary
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The ISCO 88 Job Codes can be found [http://BLAH here] and represent an international standard for classifying jobs.  They are broken up hierachically into  major, sub-major , minor groups under which the job codes (called unit) are under the minor groups.
The ISCO 88 Job Codes can be found [http://BLAH here] and represent an international standard for classifying jobs.  They are broken up hierachically into  major, sub-major , minor groups under which the job codes (called unit) are under the minor groups.


Line 5: Line 4:


==Getting The Data==
==Getting The Data==
The data file can be found in the launchpad [http://BLAH bzr] repository for I2CE
The data file with all of the codes compiled can be found in the launchpad [http://BLAH bzr] repository for I2CE. All of the codes, names, and descriptions were downloaded from the International Labor Organization's [http://www.ilo.org/public/english/bureau/stat/isco/isco88/index.htm website].


==Creating The XML Magic(Configuration) Data==
==Creating The XML Magic(Configuration) Data==
The ISCO 88 codes are going to be separated into 10 different xml files, each representing a major group. Each xml file will contain the number and description of the major number followed by all the sub-major, minor, and then unit. The php code is provided [http://bazaar.launchpad.net/~intrahealth%2Binformatics/ihris-manage/3.2-dev/files/head%3A/modules/ManageJob/modules/isco_88/tools/ here] and needs to be in the same directory as the isco88 codes file to run.


==Creating The Modules==
==Creating The Modules==
Line 14: Line 14:
All instructions below assume that you are in this directory.
All instructions below assume that you are in this directory.


The first thing we will need to do is to enable sub-modules for ''ihris-manage-Job '' (you may wish to read the [[Technical Overview: Module Structure | module structure]] overview before proceeding).  To do this
The first thing we will need to do is to enable sub-modules for ''ihris-manage-Job '' (you may wish to read the [[Module Structure | module structure]] overview before proceeding).  To do this
  gedit Job.xml
  gedit Job.xml
and make sure the following lines are in the appropriate place in the metadata section:
and make sure the following lines are in the appropriate place in the metadata section:
Line 35: Line 35:
<?xml version="1.0"?>       
<?xml version="1.0"?>       
<!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd">
<!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd">
<I2CEConfiguration name='ihris-manage-isco-88'>       
<I2CEConfiguration name='isco-88'>       
   <metadata>
   <metadata>
     <displayName>ISCO 88 Job Codes</displayName>   
     <displayName>ISCO 88 Job Codes</displayName>   
     <description>The ISCO 88 Job Codes</description>
     <description>The ISCO 88 Job Codes</description>
    <version>3.2.0</version>
     <path name='modules'>
     <path name='modules'>
       <value>./modules</value>
       <value>./modules</value>
     </path>
     </path>
  </metadata>
  </metadata>
  <configurationGroup name='ihris-manage-isco-88' path='/'>
  <configurationGroup name='isco-88' path='/'>


   <configurationGroup name='isco_88_forms' path='/modules/forms/formClasses'>
   <configurationGroup name='isco_88_forms' path='/modules/forms/formClasses'>
Line 54: Line 55:
         iHRIS_ISCO_88_Unit has a field isco_88_minor which will map to the isco_88_minor form
         iHRIS_ISCO_88_Unit has a field isco_88_minor which will map to the isco_88_minor form
         -->
         -->
    <!--we will specify a header (or title) for each of the fields we add in the forms -->
     <!--the corrseponding forms are defined in the block  following this one -->
     <!--the corrseponding forms are defined in the block  following this one -->
         <configurationGroup name='iHRIS_ISCO_88_Major'>
         <configurationGroup name='iHRIS_ISCO_88_Major'>
Line 66: Line 68:
                 <!-- The field type is string-->
                 <!-- The field type is string-->
                 <value>STRING_LINE</value>
                 <value>STRING_LINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Major Group</value>
               </configuration>
               </configuration>
               <configuration name="required" type="boolean">
               <configuration name="required" type="boolean">
Line 76: Line 82:
                 <!-- The field type is a multi-line string -->
                 <!-- The field type is a multi-line string -->
                 <value>STRING_MLINE</value>
                 <value>STRING_MLINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Description</value>
               </configuration>
               </configuration>
             </configurationGroup>
             </configurationGroup>
Line 91: Line 101:
                 <!--The field type is string_line -->
                 <!--The field type is string_line -->
                 <value>STRING_LINE</value>
                 <value>STRING_LINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Sub-Major Group</value>
               </configuration>
               </configuration>
               <configuration name="required" type="boolean">
               <configuration name="required" type="boolean">
Line 101: Line 115:
                 <!--The field type is multi-line string -->
                 <!--The field type is multi-line string -->
                 <value>STRING_MLINE</value>
                 <value>STRING_MLINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Description</value>
               </configuration>
               </configuration>
             </configurationGroup>
             </configurationGroup>
Line 107: Line 125:
                 <!--The field  is a mapped  value -->
                 <!--The field  is a mapped  value -->
                 <value>MAP</value>
                 <value>MAP</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Major Group</value>
               </configuration>
               </configuration>
             </configurationGroup>
             </configurationGroup>
Line 118: Line 140:
                 <!--The field type is string -->
                 <!--The field type is string -->
                 <value>STRING_LINE</value>
                 <value>STRING_LINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Minor Group</value>
               </configuration>
               </configuration>
               <configuration name="required" type="boolean">
               <configuration name="required" type="boolean">
Line 128: Line 154:
                 <!--The field type is mult-line string -->
                 <!--The field type is mult-line string -->
                 <value>STRING_MLINE</value>
                 <value>STRING_MLINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Description</value>
               </configuration>
               </configuration>
             </configurationGroup>
             </configurationGroup>
Line 134: Line 164:
                 <!--The field is a mapped value -->
                 <!--The field is a mapped value -->
                 <value>MAP</value>
                 <value>MAP</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Sub-Major Group</value>
               </configuration>
               </configuration>
             </configurationGroup>
             </configurationGroup>
Line 145: Line 179:
                 <!--The field type is string -->
                 <!--The field type is string -->
                 <value>STRING_LINE</value>
                 <value>STRING_LINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Unit</value>
               </configuration>
               </configuration>
               <configuration name="required" type="boolean">
               <configuration name="required" type="boolean">
Line 155: Line 193:
                 <!--The field type is a mult-line string -->
                 <!--The field type is a mult-line string -->
                 <value>STRING_LINE</value>
                 <value>STRING_LINE</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Description</value>
               </configuration>
               </configuration>
             </configurationGroup>
             </configurationGroup>
Line 161: Line 203:
                 <!--The field is a mapped-value -->
                 <!--The field is a mapped-value -->
                 <value>MAP</value>
                 <value>MAP</value>
              </configuration>
              <configuration name="headers" type="delimited">
                <!-- The headers for this field. --> 
                <value>default:Minor Group</value>
               </configuration>
               </configuration>
             </configurationGroup>
             </configurationGroup>
Line 171: Line 217:
     <!--we will add a form for each of the isco 88 groupings -->
     <!--we will add a form for each of the isco 88 groupings -->
         <configurationGroup name='isco_88_major'>
         <configurationGroup name='isco_88_major'>
          <displayName>ISCO 88 Major Code</displayName>
           <configuration name='class' values='single'>
           <configuration name='class' values='single'>
             <displayName>Class Name</displayName>
             <!-- The name of the class providing the form -->
            <description>The name of the class providing the form</description>
             <value>iHRIS_ISCO_88_Major</value>
             <value>iHRIS_ISCO_88_Major</value>
           </configuration>
           </configuration>
           <configuration name='display' values='single'>
           <configuration name='display' values='single'>
             <displayName>Display name</displayName>
             <!-- The display name for this form -->
            <description>The display name for this form</description>
             <value>ISCO 88 Major</value>
             <value>ISCO 88 Major</value>
           </configuration>
           </configuration>
           <configuration name="storage" values='single'>
           <configuration name="storage" values='single'>
             <displayName>Storage Details</displayName>
             <!-- The storage mechanism for this form. --!>
            <description>The storage mechanism for this form.</description>
             <value>magicdata</value>
             <value>magicdata</value>
           </configuration>
           </configuration>
         </configurationGroup>
         </configurationGroup>
         <configurationGroup name='isco_88_sub_major'>
         <configurationGroup name='isco_88_sub_major'>
          <displayName>ISCO 88 Sub-Major Code</displayName>
           <configuration name='class' values='single'>
           <configuration name='class' values='single'>
             <displayName>Class Name</displayName>
             <!-- The name of the class providing the form -->
            <description>The name of the class providing the form</description>
             <value>iHRIS_ISCO_88_Sub_Major</value>
             <value>iHRIS_ISCO_88_Sub_Major</value>
           </configuration>
           </configuration>
           <configuration name='display' values='single'>
           <configuration name='display' values='single'>
             <displayName>Display name</displayName>
             <!-- The display name for this form -->
            <description>The display name for this form</description>
             <value>ISCO 88 Sub-Major</value>
             <value>ISCO 88 Sub-Major</value>
           </configuration>
           </configuration>
           <configuration name="storage" values='single'>
           <configuration name="storage" values='single'>
             <displayName>Storage Details</displayName>
             <!-- The storage mechanism for this form. --!>
            <description>The storage mechanism for this form.</description>
             <value>magicdata</value>
             <value>magicdata</value>
           </configuration>
           </configuration>
         </configurationGroup>
         </configurationGroup>
         <configurationGroup name='isco_88_minor'>
         <configurationGroup name='isco_88_minor'>
          <displayName>ISCO 88 Minor Code</displayName>
           <configuration name='class' values='single'>
           <configuration name='class' values='single'>
             <displayName>Class Name</displayName>
             <!-- The name of the class providing the form -->
            <description>The name of the class providing the form</description>
             <value>iHRIS_ISCO_88_Minor</value>
             <value>iHRIS_ISCO_88_Minor</value>
           </configuration>
           </configuration>
           <configuration name='display' values='single'>
           <configuration name='display' values='single'>
             <displayName>Display name</displayName>
             <!-- The display name for this form -->
            <description>The display name for this form</description>
             <value>ISCO 88 Minor</value>
             <value>ISCO 88 Minor</value>
           </configuration>
           </configuration>
           <configuration name="storage" values='single'>
           <configuration name="storage" values='single'>
             <displayName>Storage Details</displayName>
             <!-- The storage mechanism for this form. -->
            <description>The storage mechanism for this form.</description>
             <value>magicdata</value>
             <value>magicdata</value>
           </configuration>
           </configuration>
         </configurationGroup>
         </configurationGroup>
         <configurationGroup name='isco_88_unit'>
         <configurationGroup name='isco_88_unit'>
          <displayName>ISCO 88 Unit Code</displayName>
           <configuration name='class' values='single'>
           <configuration name='class' values='single'>
             <displayName>Class Name</displayName>
             <!-- The name of the class providing the form -->
            <description>The name of the class providing the form</description>
             <value>iHRIS_ISCO_88_Unit</value>
             <value>iHRIS_ISCO_88_Unit</value>
           </configuration>
           </configuration>
           <configuration name='display' values='single'>
           <configuration name='display' values='single'>
             <displayName>Display name</displayName>
             <!-- The display name for this form -->
            <description>The display name for this form</description>
             <value>ISCO 88 Unit</value>
             <value>ISCO 88 Unit</value>
           </configuration>
           </configuration>
           <configuration name="storage" values='single'>
           <configuration name="storage" values='single'>
             <displayName>Storage Details</displayName>
             <!-- The storage mechanism for this form. -->
            <description>The storage mechanism for this form.</description>
             <value>magicdata</value>
             <value>magicdata</value>
           </configuration>
           </configuration>
Line 250: Line 280:
     <!--Add the isco_88_unit field into iHRIS_Job which will point to the isco_88_units/job codes we have-->
     <!--Add the isco_88_unit field into iHRIS_Job which will point to the isco_88_units/job codes we have-->
     <configuration name="formfield">
     <configuration name="formfield">
      <displayName>The form field type</displayName>
       <!-- This is a mapped value-->
       <!-- This is a mapped value-->
       <value>MAP</value>
       <value>MAP</value>
     </configuration>
     </configuration>
     <configuration name="headers" type="delimited">
     <configuration name="headers" type="delimited">
       <displayName>The headers for this field.</displayName>   
       <!-- The headers for this field. -->   
       <value>default:ISCO 88 Code</value>
       <value>default:ISCO 88 Code</value>
     </configuration>
     </configuration>
Line 283: Line 312:
<?xml version="1.0"?>       
<?xml version="1.0"?>       
<!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd">
<!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd">
<I2CEConfiguration name='ihris-manage-isco-88-major-XX'>       
<I2CEConfiguration name='isco-88-major-XX'>       
   <metadata>
   <metadata>
     <displayName>ISCO 88 Job Codes</displayName>   
     <displayName>ISCO 88 Job Codes</displayName>   
     <description>The ISCO 88 Job Codes</description>
     <description>The ISCO 88 Job Codes</description>
     <version>3.2.0</version>
     <version>3.2.0</version>
    <path name='modules'>
     <requirement name='isco-88'>  
      <value>./modules</value>
    </path>
     <requirement name='ihris-manage-isco-88'>  
       <atLeast version='3.2'/>
       <atLeast version='3.2'/>
       <lessThan version='3.3'/>
       <lessThan version='3.3'/>
     </requirement>
     </requirement>
  </metadata>
  </metadata>
  <configurationGroup name='ihris-manage-isco-88-major-XX' path='/'>  
  <configurationGroup name='isco-88-major-XX' path='/'>  
   <!--Form Data Goes here -->
   <!--Form Data Goes here -->
  </configurationGroup>
  </configurationGroup>
Line 302: Line 328:
</source>
</source>
where '''XX''' is the Major Group number.
where '''XX''' is the Major Group number.
For each Major Group number ''XX'', we will do:
mkdir [BASE INSTALLATION PATH]/ihris-manage/modules/ManageJob/modules/isco_88/modules/isco_88_major_XX
and put the generated configuration file in this directory.
[[Category:Implementer Resources]][[Category:iHRIS Manage]][[Category:Review2013]]

Latest revision as of 13:22, 12 November 2013

The ISCO 88 Job Codes can be found here and represent an international standard for classifying jobs. They are broken up hierachically into major, sub-major , minor groups under which the job codes (called unit) are under the minor groups.

We will create a module for each of the major groups, all of which will sit under a meta-module.

Getting The Data

The data file with all of the codes compiled can be found in the launchpad bzr repository for I2CE. All of the codes, names, and descriptions were downloaded from the International Labor Organization's website.

Creating The XML Magic(Configuration) Data

The ISCO 88 codes are going to be separated into 10 different xml files, each representing a major group. Each xml file will contain the number and description of the major number followed by all the sub-major, minor, and then unit. The php code is provided here and needs to be in the same directory as the isco88 codes file to run.

Creating The Modules

Since this data is related to Jobs in iHRIS Manage, we will put everything as sub-modules under the ihris-manage-Job. This can be found in the directory:

[BASE INSTALLATION PATH]/ihris-manage/modules/ManageJob

All instructions below assume that you are in this directory.

The first thing we will need to do is to enable sub-modules for ihris-manage-Job (you may wish to read the module structure overview before proceeding). To do this

gedit Job.xml

and make sure the following lines are in the appropriate place in the metadata section: <source lang='xml'> <path name='modules'>

 <value>./modules</value>

</path> </source> Now we add the modules directory

mkdir modules

Creating The Meta-Module

We will create a meta-module to contain general information about the ISCO Codes

cd [BASE INSTALLATION PATH]/ihris-manage/modules/ManageJob/modules
mkdir isco_88
cd isco_88
mkdir modules
gedit ISCO_88.xml

Add the following contents and save: <source lang='xml'> <?xml version="1.0"?> <!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd"> <I2CEConfiguration name='isco-88'>

 <metadata>
   <displayName>ISCO 88 Job Codes</displayName>   
   <description>The ISCO 88 Job Codes</description>
   <version>3.2.0</version>
   <path name='modules'>
     <value>./modules</value>
   </path>
</metadata>
<configurationGroup name='isco-88' path='/'>
  <configurationGroup name='isco_88_forms' path='/modules/forms/formClasses'>
       <configurationGroup name='iHRIS_ISCO_88_Major'>
         <configuration name="extends">
           <value>I2CE_List</value>
         </configuration>
         <configurationGroup name="fields">
           <configurationGroup name="name">
             <configuration name="formfield">
               <value>STRING_LINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Major Group</value>
             </configuration>
             <configuration name="required" type="boolean">
               <value>true</value>
             </configuration>
           </configurationGroup>
           <configurationGroup name="description">
             <configuration name="formfield">
               <value>STRING_MLINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Description</value>
             </configuration>
           </configurationGroup>
         </configurationGroup>
       </configurationGroup>
       <configurationGroup name='iHRIS_ISCO_88_Sub_Major'>
         <configuration name="extends">
           <value>I2CE_List</value>
         </configuration>
         <configurationGroup name="fields">
           <configurationGroup name="name">
             <configuration name="formfield">
               <value>STRING_LINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Sub-Major Group</value>
             </configuration>
             <configuration name="required" type="boolean">
               <value>true</value>
             </configuration>
           </configurationGroup>
           <configurationGroup name="description">
             <configuration name="formfield">
               <value>STRING_MLINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Description</value>
             </configuration>
           </configurationGroup>
           <configurationGroup name="isco_88_major">
             <configuration name="formfield">
               <value>MAP</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Major Group</value>
             </configuration>
           </configurationGroup>
         </configurationGroup>
       </configurationGroup>
       <configurationGroup name='iHRIS_ISCO_88_Minor'>
         <configurationGroup name="fields">
           <configurationGroup name="name">
             <configuration name="formfield">
               <value>STRING_LINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Minor Group</value>
             </configuration>
             <configuration name="required" type="boolean">
               <value>true</value>
             </configuration>
           </configurationGroup>
           <configurationGroup name="description">
             <configuration name="formfield">
               <value>STRING_MLINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Description</value>
             </configuration>
           </configurationGroup>
           <configurationGroup name="isco_88_sub_major">
             <configuration name="formfield">
               <value>MAP</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Sub-Major Group</value>
             </configuration>
           </configurationGroup>
         </configurationGroup>
       </configurationGroup>
       <configurationGroup name='iHRIS_ISCO_88_Unit'>
         <configurationGroup name="fields">
           <configurationGroup name="name">
             <configuration name="formfield">
               <value>STRING_LINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Unit</value>
             </configuration>
             <configuration name="required" type="boolean">
               <value>true</value>
             </configuration>
           </configurationGroup>
           <configurationGroup name="description">
             <configuration name="formfield">
               <value>STRING_LINE</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Description</value>
             </configuration>
           </configurationGroup>
           <configurationGroup name="isco_88_sub_major">
             <configuration name="formfield">
               <value>MAP</value>
             </configuration>
             <configuration name="headers" type="delimited">
               <value>default:Minor Group</value>
             </configuration>
           </configurationGroup>
         </configurationGroup>
       </configurationGroup>
   </configurationGroup>


  <configurationGroup name='isco_88_forms' path='/modules/forms/forms'>
       <configurationGroup name='isco_88_major'>
         <configuration name='class' values='single'>
           <value>iHRIS_ISCO_88_Major</value>
         </configuration>
         <configuration name='display' values='single'>
           <value>ISCO 88 Major</value>
         </configuration>
         <configuration name="storage" values='single'>
           <value>iHRIS_ISCO_88_Sub_Major</value>
         </configuration>
         <configuration name='display' values='single'>
           <value>ISCO 88 Sub-Major</value>
         </configuration>
         <configuration name="storage" values='single'>
           <value>iHRIS_ISCO_88_Minor</value>
         </configuration>
         <configuration name='display' values='single'>
           <value>ISCO 88 Minor</value>
         </configuration>
         <configuration name="storage" values='single'>
           <value>magicdata</value>
         </configuration>
       </configurationGroup>
       <configurationGroup name='isco_88_unit'>
         <configuration name='class' values='single'>
           <value>iHRIS_ISCO_88_Unit</value>
         </configuration>
         <configuration name='display' values='single'>
           <value>ISCO 88 Unit</value>
         </configuration>
         <configuration name="storage" values='single'>
           <value>magicdata</value>
         </configuration>
       </configurationGroup>
    </configurationGroup>



  <configurationGroup name='isco_88_field' path='/modules/forms/formClasses/iHRIS_Job/fields/isco_88_unit'>
    <configuration name="formfield">
      <value>MAP</value>
    </configuration>
    <configuration name="headers" type="delimited">
      <value>default:ISCO 88 Code</value>
    </configuration>
    <configurationGroup name="display">
      <configurationGroup name="default">
        <configuration name="fields">
          <value>isco_88_unit:[isco_88_minor]:[isco_88_sub_major]:[isco_88_major]</value>
        </configuration>
      </configurationGroup>
    </configurationGroup>
  </configurationGroup>
</configurationGroup>

</I2CEConfiguration> </source>

Creating The Sub-Modules

We are going to create a sub-module for each of the Major Groups.

The template for the configuration file is: <source lang='xml'> <?xml version="1.0"?> <!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd"> <I2CEConfiguration name='isco-88-major-XX'>

 <metadata>
   <displayName>ISCO 88 Job Codes</displayName>   
   <description>The ISCO 88 Job Codes</description>
   <version>3.2.0</version>
   <requirement name='isco-88'> 
      <atLeast version='3.2'/>
      <lessThan version='3.3'/>
   </requirement>
</metadata>
<configurationGroup name='isco-88-major-XX' path='/'> 
</configurationGroup>

</I2CEConfiguration> </source> where XX is the Major Group number.

For each Major Group number XX, we will do:

mkdir [BASE INSTALLATION PATH]/ihris-manage/modules/ManageJob/modules/isco_88/modules/isco_88_major_XX

and put the generated configuration file in this directory.