User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2024/05/22 19:33] – [Frequently Asked Questions] tdsmdiannestart [2024/11/27 20:41] (current) tdsmdianne
Line 1: Line 1:
 ====== OVERVIEW ====== ====== OVERVIEW ======
-The Teacher Demand and Supply Model (TDSM) supports Jordan's Ministries of Education (MoE) and Higher Education and Scientific Research (MoHESR) to make data-driven decisions and prepare multi-year supply and demand projections for grade K-12 teachers of Jordanian students in the Kingdom's public schools. The model uses data entered into the Open Education Management Information System (OpenEMIS((OpenEMIS (https://www.openemis.org) is an open-source education management information system initiated by UNESCO and used by the Kingdom of Jordan to track its students and teachers.))) to calculate teacher surpluses and shortages in each school from 2016 to five years in the future, allowing policymakers to recognize trends and shifts, and incorporate those into their considerations for policies and incentives impacting teacher recruitment and retention. TDSM will support stakeholders across the education sector in their efforts to plan strategically; it will inform the MoE, *Civil Service Bureau (CSB)*, and university partners about where teachers are going to be needed and for which subjects. The TDSM workflow is depicted in the illustration below.{{:tdsm.png?800|}}+The Teacher Demand and Supply Model (TDSM) supports Jordan's Ministries of Education (MoE) and Higher Education and Scientific Research (MoHESR) to make data-driven decisions and prepare multi-year supply and demand projections for grade K-12 teachers of Jordanian students in the Kingdom's public schools. The model uses data entered into the Open Education Management Information System (OpenEMIS((OpenEMIS (https://www.openemis.org) is an open-source education management information system initiated by UNESCO and used by the Kingdom of Jordan to track its students and teachers.))) to calculate teacher surpluses and shortages in each school from 2016 to five years in the future, allowing policymakers to recognize trends and shifts, and incorporate those into their considerations for policies and incentives impacting teacher recruitment and retention. TDSM will support stakeholders across the education sector in their efforts to plan strategically; it will inform the MoE and university partners about where teachers are going to be needed and for which subjects. The TDSM workflow is depicted in the illustration below.{{:tdsm.png?800|}}
 ====== USER GUIDE ====== ====== USER GUIDE ======
  
Line 6: Line 6:
  
 =====How to visualize the data===== =====How to visualize the data=====
-Browse to the Teacher Demand and Supply Model https://data.emis.moe.gov.jo/tdsm/ +Browse to the Teacher Demand and Supply Model https://tdsm.moe.gov.jo/
 ==== Charts ==== ==== Charts ====
 Choose from Filter choices: Click on the 'x' to remove individual filtered choices or click 'Clear Filters' to remove all   Choose from Filter choices: Click on the 'x' to remove individual filtered choices or click 'Clear Filters' to remove all  
Line 69: Line 68:
  
   * **Students**: For past years, the actual number of students in the cohort and school, for future years, the projected number of students in the cohort and school.     * **Students**: For past years, the actual number of students in the cohort and school, for future years, the projected number of students in the cohort and school.  
-  * **Sections**: For past years, the total number of actual sections for all grades and tracks in the cohort and school. For future years, the total number of sections at the school during the most recent past year, distributed across grades, tracks, and gender so that the largest section is as small as possible. Therefore, while the total number of sections at a school remains constant during all future years, the number of sections in a given cohort at the school may change from one future year to the next. For a list of all grades and tracks see the [[start#lookup tables|grades_crosswalk.csv lookup table]].+  * **Sections**: For past years, the total number of actual sections for all grades and tracks in the cohort and school. For future years, the total number of sections at the school during the most recent past year, distributed across grades, tracks, and gender so that the largest section is as small as possible. Therefore, while the total number of sections at a school remains constant during all future years, the number of sections in a given cohort at the school may change from one future year to the next. For a list of all grades and tracks see the list in the [[start#lookup tables|weekly_classes_per_specialization.csv lookup table]].
   * **Maximum section size**: The number of students in the largest section in that cohort and school that year. Section size is calculated as the number of students divided by the total number of sections for each school, grade, track (and gender for grades 4-12).  Section sizes may therefore be non-whole numbers (e.g., 29.5, 32.33).   * **Maximum section size**: The number of students in the largest section in that cohort and school that year. Section size is calculated as the number of students divided by the total number of sections for each school, grade, track (and gender for grades 4-12).  Section sizes may therefore be non-whole numbers (e.g., 29.5, 32.33).
   * **Lesson hours needed**: The number of sections for each grade and track within the cohort at the school multiplied by the number of lessons required per week for the specialization, summed together. See the [[start#lookup tables|weekly_classes_per_specialization.csv lookup table]] for the number of lessons required for each specialization, grade, and track.   * **Lesson hours needed**: The number of sections for each grade and track within the cohort at the school multiplied by the number of lessons required per week for the specialization, summed together. See the [[start#lookup tables|weekly_classes_per_specialization.csv lookup table]] for the number of lessons required for each specialization, grade, and track.
Line 131: Line 130:
    
 5. Moving Data  5. Moving Data 
-After running the script and generating the data, you may need to move data from one directory to another. This step is not specific to the script and can be performed using standard file management techniques.  +After running the script and generating the data, you may need to move the [[start#data files|data files]] from one directory to another. This step is not specific to the script and can be performed using standard file management techniques. This data files should be moved from **data-model/content** under **src/js** folder.  The list of data files can e found in the [[start#data files|data files]] section of this wiki.
-This list of files should be moved from **data-model/content** under **src/js** folder  +
- +
-  - lkp_location.txt  +
-  - lkp_cohort.txt  +
-  - lkp_specialization.txt  +
-  - lkp_school.txt+
    
 Make sure you have the necessary permissions and use commands like mv (on Unix-like systems) or move (on Windows) to relocate the files as needed.  Make sure you have the necessary permissions and use commands like mv (on Unix-like systems) or move (on Windows) to relocate the files as needed. 
Line 145: Line 138:
 Navigate to the [[start#how to visualize the data|TDSM front end]] to view the updated forecasts. Navigate to the [[start#how to visualize the data|TDSM front end]] to view the updated forecasts.
  
-===== How to archive a version =====+===== How to archive a version ===== 
  
 Inside the project folder is file called "archive.sh", this script will archive the old data for the project create a record for the archive in archive list. Inside the project folder is file called "archive.sh", this script will archive the old data for the project create a record for the archive in archive list.
-Run archive.sh from your terminal, script will ask for the name for archive, script will move all old data to a new folder under Archives+Run archive.sh from your terminal, script will ask for the name for archive, script will move all old data to a new folder under Archives.
  
  
Line 155: Line 148:
 Whenever TDSM receives a new subject during an OpenEMIS dowload, it automatically associates it with an existing teacher specialization. If TDSM's mapping rules do not apply to the new subject, "Other" is used as the default specialization.  The list of all subject-to-specialization mappings is stored in the [[start#staging tables|subjects.csv]] file.  To change the mapping of a given subject, modify the corresponding value in the specialization column of subjects.csv. The specialization can be one that already exists in the file or a new specialization.  TDSM does not overwrite existing subject x specialization mappings and will apply this new mapping to all data the next time it is updated. Whenever TDSM receives a new subject during an OpenEMIS dowload, it automatically associates it with an existing teacher specialization. If TDSM's mapping rules do not apply to the new subject, "Other" is used as the default specialization.  The list of all subject-to-specialization mappings is stored in the [[start#staging tables|subjects.csv]] file.  To change the mapping of a given subject, modify the corresponding value in the specialization column of subjects.csv. The specialization can be one that already exists in the file or a new specialization.  TDSM does not overwrite existing subject x specialization mappings and will apply this new mapping to all data the next time it is updated.
 ===== How to add a new student track to TDSM ==== ===== How to add a new student track to TDSM ====
-To add a new student track, e.g., Eleventh grade engineering, to TDSM, first check to see that the OpenEMIS grade label is already contained in the [[start#lookup tables|grade_mappings lookup table]].  If not, add the new grade mapping to this file. For example, you would add "Eleventh grade" in the name column and "11" in the grade column.  Next, add the new OpenEMIS track labels, separated by commas, and the corresponding suffix to the the [[start#lookup tables|track_mappins lookup table]].  For example, for engineering, you might add "engineering,هندسة" to the names column and "eng" to the track column.  Finally, you would create a new row in the [[start#lookup tables|weekly_classes_per_specialization lookup table]], with "11_eng" in the grade column and the number of hours required under each specialization column.  For specializations where instruction was not require, leave the column blank.+To add a new student track, e.g., Eleventh grade engineering, to TDSM, first check to see that the OpenEMIS grade label is already contained in the [[start#lookup tables|grade_mappings lookup table]].  If not, add the new grade mapping to this file. For example, you would add "Eleventh grade" in the name column and "11" in the grade column.  Next, add the new OpenEMIS track labels, separated by commas, and the corresponding suffix to the the [[start#lookup tables|track_mappins lookup table]].  For example, for engineering, you might add "engineering,هندسة" to the names column and "eng" to the track column.  Finally, you would create a new row in the [[start#lookup tables|weekly_classes_per_specialization lookup table]], with "11_eng" in the grade column and the number of hours required under each specialization column.  For specializations where instruction is not required, leave the column blank.
 ===== How to update required class hours for a student track ===== ===== How to update required class hours for a student track =====
 The weekly hours of required instruction for each student track are contained [[start#lookup tables|weekly_classes_per_specialization lookup table]]. To adjusted the required hours of instruction for a given student track, modify the values in this file. Leave the cells blank for specializations where no instruction is required. The weekly hours of required instruction for each student track are contained [[start#lookup tables|weekly_classes_per_specialization lookup table]]. To adjusted the required hours of instruction for a given student track, modify the values in this file. Leave the cells blank for specializations where no instruction is required.
 ===== How to add new OpenEMIS locations to TDSM ===== ===== How to add new OpenEMIS locations to TDSM =====
-Each directorate is uniquely identified in OpenEMIS by an area_id.  A list of all OpenEMIS area_ids can be found in the [[start#stagins tables|areas.csv]] table, which is updated each time the TDSM data are refreshed.  Additionally, each school in OpenEMIS is given a more granular administrative_area_id.  Administrative_area_ids are nested within area_ids.  Because OpenEMIS does not have unique identifiers for liwas, each known administrative_area_id+area_id pair has been mapped to a liwa in the [[start#lookup tables|administrative_area_crosswalk.csv]] file. If an administrative_area_id is not mapped in this table, any school with that administrative_area_id will not be included in TDSM. All unmaped schools are listed in the [[start#data files|unmapped_schoools.csv]] file. To add a new administrative_area_id+area_id pair to TDSM, add a new row the administrative_area_crosswalk.csv file, filling in a value for each column. Thenext time the TDSM data are refreshed, the newly mapped administrative_area_ids will then be included.+Each directorate is uniquely identified in OpenEMIS by an area_id.  A list of all OpenEMIS area_ids can be found in the [[start#staging tables|areas.csv]] table, which is updated each time the TDSM data are refreshed.  Additionally, each school in OpenEMIS is given a more granular administrative_area_id.  Administrative_area_ids are nested within area_ids.  Because OpenEMIS does not have unique identifiers for liwas, each known administrative_area_id+area_id pair has been mapped to a liwa in the [[start#lookup tables|administrative_area_crosswalk.csv]] file. If an administrative_area_id is not mapped in this table, any school with that administrative_area_id will not be included in TDSM. All unmaped schools are listed in the [[start#data files|unmapped_schoools.csv]] file. To add a new administrative_area_id+area_id pair to TDSM, add a new row the administrative_area_crosswalk.csv file, filling in a value for each column. The next time the TDSM data are refreshed, the newly mapped administrative_area_ids will then be included.
  
 ===== How to refine the forecasting models ===== ===== How to refine the forecasting models =====
Line 166: Line 159:
  
 =====Version history===== =====Version history=====
-TDSM version 1.0 was deployed February 2022.  Version 2.0 is in final testing and scheduled to deploy on..+TDSM version 1.0 was deployed February 2022.  Version 2.0 is scheduled to deploy in 2024
 |                                          ^  TDSM 1.0  ^  TDSM 2.0  ^ |                                          ^  TDSM 1.0  ^  TDSM 2.0  ^
-^  Data feed    |  Files manually generated from OpenEMIS and sent to TDSM  |  Automatically pulled from OpenEMIS via its API        |+^  Data feed    |  Files manually generated from OpenEMIS and sent to TDSM  |  Automatically pulls from OpenEMIS via its API        |
 ^  Granularity    |  Directorate-level  |  School-level  | ^  Granularity    |  Directorate-level  |  School-level  |
 ^  Teachers needed calculation    |  Based on user-defined class size  |  Based on number of sections in each grade, track, and school  | ^  Teachers needed calculation    |  Based on user-defined class size  |  Based on number of sections in each grade, track, and school  |
Line 225: Line 218:
     * G11_ag, G12_ag: Eleventh and twelfth grade agriculture stream     * G11_ag, G12_ag: Eleventh and twelfth grade agriculture stream
     * G11_hotel, G12_hotel: Eleventh and twelfth grade hospitality stream     * G11_hotel, G12_hotel: Eleventh and twelfth grade hospitality stream
-   * **grade_mappings.csv** Used by TDSM to translate grade labels from OpenEMIS into grade integers, e.g., "Tenth grade" maps to the value 10. +   * **grade_mappings.csv** Used by TDSM to translate grade labels from OpenEMIS into grade integers, e.g., "Tenth grade" maps to the value 10. [[https://drive.google.com/file/d/1Ex08OrPp9UZfmOVu82wGHeuX9nTNH-4k/view?usp=drive_link|View file]] 
-   * **track_mappings.csv** Used by TDSM to tranlsate track labels from OpenEMIS into standardized track suffixes in TDSM. For example, "agriculture" maps to the suffix "ag".+   * **track_mappings.csv** Used by TDSM to tranlsate track labels from OpenEMIS into standardized track suffixes in TDSM. For example, "agriculture" maps to the suffix "ag"[[https://drive.google.com/file/d/1oQ-TbEPhXwLzsNowZtNwKkYpTwT3v0o6/view?usp=drive_link|View file]]
    * **area_translations.csv**: Provides a crosswalk between OpenEMIS area_id values and English labels.[[https://drive.google.com/file/d/1QoZivmwOvOMOaM-NaM2bMI4DOIfk_TNE/view?usp=sharing|View file]]    * **area_translations.csv**: Provides a crosswalk between OpenEMIS area_id values and English labels.[[https://drive.google.com/file/d/1QoZivmwOvOMOaM-NaM2bMI4DOIfk_TNE/view?usp=sharing|View file]]
   * **administrative_area_crosswalk.csv**: Links OpenEMIS administrative_area_id values with liwas and area_id values.[[https://drive.google.com/file/d/1knlc_VnU14-dN6krqBYFfGE2S7NPXKhS/view?usp=sharing|View file]]   * **administrative_area_crosswalk.csv**: Links OpenEMIS administrative_area_id values with liwas and area_id values.[[https://drive.google.com/file/d/1knlc_VnU14-dN6krqBYFfGE2S7NPXKhS/view?usp=sharing|View file]]
Line 234: Line 227:
 The following tables are generated by TDSM each time it loads new data from OpenEMIS Jordan. These tables are persisted so that TDSM can be rerun without having to reload data from OpenEMIS. The following tables are generated by TDSM each time it loads new data from OpenEMIS Jordan. These tables are persisted so that TDSM can be rerun without having to reload data from OpenEMIS.
  
-  * **areas.csv**: List of all areas.+  * **areas.csv**: List of all areas. [[https://drive.google.com/file/d/1E1ekGoBVmVX_zc6QIR1NaTVs6WPLn2u-/view?usp=drive_link|View file]]
   * **institutions.csv**: List of all schools.   * **institutions.csv**: List of all schools.
-  * **subjects.csv**: List of all existing subjects and the teacher specialization they map to, Also includes the OpenEMIS ID of each subject and the OpenEMIS ID of the academic period during which the subject was first taught.+  * **subjects.csv**: List of all existing subjects and the teacher specialization they map to, Also includes the OpenEMIS ID of each subject and the OpenEMIS ID of the academic period during which the subject was first taught. [[https://drive.google.com/file/d/1aqtnm9tTF45D0RGscx_NGeYda7Oaiy9C/view?usp=drive_link|View file]]
   * **teacher_subjects.csv**:  All teachers by subject and year.     * **teacher_subjects.csv**:  All teachers by subject and year.  
   * **teacher_positions.csv**: Yearly teacher positions.     * **teacher_positions.csv**: Yearly teacher positions.  
Line 252: Line 245:
   * **lkp_specialization.txt**: Lookup table for specialization values.   * **lkp_specialization.txt**: Lookup table for specialization values.
   * **lkp_school.txt**: Lookup table for school details.   * **lkp_school.txt**: Lookup table for school details.
-  * **unmapped_schools.csv**: Lists all schools from OpenEMIS that were not successfully mapped to a liwa. These schools are not included in the TDSM data or projections. To include these schools in TDSM, see [[start#How to add new OpenEMIS locations to TDSM+  * **unmapped_schools.csv**: Lists all schools from OpenEMIS that were not successfully mapped to a liwa. [[https://drive.google.com/file/d/1l9HkEeOcJzrlDJ54blFjfNtZUZAxNxuy/view?usp=drive_link|View file]] These schools are not included in the TDSM data or projections. To include these schools in TDSM, see [[start#How to add new OpenEMIS locations to TDSM
 |How to add new OpenEMIS locations to TDSM |How to add new OpenEMIS locations to TDSM
 ]] ]]
  
  
start.1716406437.txt.gz · Last modified: 2024/05/22 19:33 by tdsmdianne