Integrating Student Performance Data – Using APEX

As I teach data management for school districts and consult on building data systems I focus on assisting school districts in the importance of integrating data into a coherent information source. As school districts administer North Carolina Check-In assessments, the reports are distributed to schools via paper reports or electronic .pdf documents. The districts also administer other assessments like the NWEA or I-Ready. Then for grades K-3, the district administers DIBELS. Each of these electronic assessments has a data portal and presents reports based on the single data source. This “siloed” data system, frequently managed by different administrators in the district, provides a myopic view of the student’s performance.

All of these data sources do not take into consideration a student’s prior performance on assessments like the End of Grade tests. My recommendation to school districts is to develop a singular portal for access all student performance in one data system so that various student scores during the year can be accessed and viewed alongside of each other. For example, it is important to know that a student on this year’s I-Ready test is testing at the 40th percentile rank during the BOY test and at the 20th percentile rank on the MOY testing, while last year the student achieved an achievement level of 4.

By integrating the student performance data in one data system, with tables of student test scores and demographic information including the student identification number, all data can be linked using the SID. This can be accomplished by creating a database and a reporting system using Oracle Application Express. For more information on how this can be accomplished visit Data Smart LLC in Greensboro, NC at

Oracle Application Express 20.1 Version Released

Oracle continues to support the ongoing improvement of Application Express (aka APEX). This application building tool is a low-code environment that makes building database-driven applications easier than writing all of the HTML and SQL code from scratch. Also, because it is embedded within the Oracle database, there is no need for add-on reporting tools. This low-code development tool saves hundreds of hours in development time and is very versatile.

For example, NC DPI uses APEX for the development of its EDDIE system.

This new version includes an enhanced search feature for its reports, responsive report widths in its interactive reports, and an expanded library of graphing and charting types.
To see more about its features go to this URL.

Data Smart LLC uses APEX to build custom student reporting systems for school districts. Other applications created include a student performance recording for direct daily measurement (DDM), a team meeting recording system, and a curriculum development tool. Within the “family’ of applications, all data can be combined and accessed for reporting and analysis.

Do You Provide Files to Vendors?

If the school district does, then you will want to learn about ETL

What is ETL?

ETL stands for Extract, Transform and Load. It is the data process in which data is exported to an ETL program, changed in some way, and then pushed to a new location, such as a local or remote database table.

The process can be accomplished by a series of scripts that require expertise to write, attention to see if they are executing correctly. In my work at Data Smart LLC, I no longer write scripts to transform data for uploading to our Oracle database. Instead, I use an ETL program that automates the process.

While I have used a few ETL programs, however, I found an ETL program that I really like and recommend. The program is EasyMorph   You really need to check out their website and watch the video demonstration. Now here is the great news about this program.  There is a free version so you can get the feel of the program and I use it for most of my ETL work. The professional version is about $750 per year. 

Here is a typical process that I create (in about 30 minutes):

On a pre-defined schedule that I set up in the program, the process is run.

  1. Set up a scheduled export from a source like Power School so the file is saved on your computer.
  2. EasyMorph will Import the file(s) from my desktop or a database source. (EXTRACT)
  3. Then the program will change the column headings, data type if I need number instead of text, remove unwanted characters such as “N/A”, and change the file from a .txt or tab-delimited to a .csv separated file type and save it. (TRANSFORM) This transforming process is accomplished by selecting pre-programmed actions which are arranged in a timeline sequence.
  4. The program then moves on to the process step of uploading the data file to the destination. (LOAD) The destination can be back to your desktop for attaching to an email, a local database or a remote hosted database table.
  • The real power comes from the ability to execute SQL queries on the data table BEFORE uploading the data. So if you are replacing data daily to a remote server, you can either on the front end merge your previous data file and select only new data, or run a TRUNCATE statement to remove all data and start fresh or run an UPDATE statement to add data if the data is changed.
  1. Lastly, I get an email from the program telling me that the process ran and a log of errors if there were any errors.

This is by far the best solution to getting your data from point A to point B in a format that meets the vendor’s specifications. No this is what I call be data smart.

Dr. Lew Johnson
Oracle APEX Developer
Data Smart LLC

Considering a Data System?

Recently, I was asked what is the most cost-efficient way to provide multi-year data storage and be able to access it for creating reports. Four questions come to mind which need to be answered before providing a database recommendation.


1: Will the data need to be accessed by users in various sites across the district, rather than one person at a central site?

2: How many users do you anticipate connecting to or viewing the data?

3: Do you want a unified system which would be a database AND a way to report the data? Or do you want separate database storage and a separate reporting tool?

4: what is your budget?


Option 1 – Single user, no budget then MS ACCESS will do the job.

Option 2 – Multiple users, low budget: then a self-hosted database such as MS SQL, MySQL, or Oracle XE Express. There are free tools which can be used “read-only” to query the data and make basic reports

Option 3 – Multiple users, low budget (Less than $10,000 and no per-user fee), cloud-hosted and a query/reporting tool. My choice would be a host Oracle database with Application Express for query and reporting. Unlimited users can be added AT NO ADDITIONAL COST. Users can have various roles and permissions to view and manipulate data.

Option 4 – Multiple users, high budget (over $30,000 and per-user fees), cloud-hosted and a separate reporting tool, which has the per-user fee, I would recommend a hosted database and an add-on reporting tool. For example, a hosted database may cost $1,500 per year and then a user fee might be $10-$20 per user PER MONTH. So for 250 viewers (teachers) the cost at $10/month would be over $30,000 per year.

I recommend option 3, which is what Data Smart LLC provides to school districts. Data Smart LLC does all of the database management, data uploads, report tweaking, and analysis reports as part of its single fee.

Announcing APEX 19.1

Significant Software and Database Upgrade

Data Smart LLC has upgraded all of its client’s data systems to APEX 19.1.
The new system will use the Oracle database 18c xe.  

This is a giant step forward in the ability to customize pages within the data systems and also produce a much wider variety of charts.  You can learn more about APEX 19.1 at: