Topics Map > Programs & Policies
Topics Map > Website > SoP Applications

School of Pharmacy Data Sharing with SIS

The UW-School of Pharmacy (SoP) and DoIT collaborate to share data between PharmCAS, SoP PharmD Admissions, SoP STAR (Student Tracking And Reports) and SIS.

UPDATES TO THE PROCESS

As of April 2025, the DoIT Workload Automation/IWS team provides the service to transfer the files from apps.pharmacy to SIS and back.  Technically, SFTP transfers are out of scope in the web hosting service and use of IWS is the recommended way to accomplish file transfer.

I have obsolete text marked in strikethrough format with updated text following it.  I recommend all strikethrough text be removed once the new process is firmly established.

Documenting Data Sharing between SoP and SIS

There are 3 data files that are being set up to exchange data between the SoP and SIS applications.

  1. General applicant information retrieved from PharmCAS and then sent to SIS when the applicant reaches the interview status.
  2. Status change information is sent as the applicant goes through the admission process.
  3. Student information is sent from SIS to the SoP STAR application to keep our student information up-to-date without students have to update their information at the SoP and University.

The Overview of the data exchange process can be found in the PharmD Data Exchange Document.

The fields exchanged in the process as well as what fields they are mapped to can be found in SIS Data Exchange Mapping document.

The SoP will have cron jobs to send and receive this information.  The data will be placed on a Central Campus Server.  There are two servers, one for test and one for production:

  1. \\sis.drive.wisc.edu\sis92_data\QA\Pharm  (test server: kelsier)
  2. \\sis.drive.wisc.edu\sis92_data\Prod\Pharm (production server: galbreth)

Data will be passed between sites using SFTP.  In order to set this up, you need to follow the instructions at https://kb.wisc.edu/52816.  That KB describes how to set things up on the web-hosting servers and what information to gather from the destination server.  Note that while you can set things up for two-way communication, we just set things up with the understanding that our web-hosted site will contact the SIS site to both read (GET) and send (PUT) data.

You will probably have to work with the web hosting team (webhosting@doit.wisc.edu) to set up the ftp script as well as the cron jobs on the live/production site.  Any PHP code that you want to run as a cron/scheduled task can be set up on the test site for testing.

Even though the domain name of the target folders ("sis.drive.wisc.edu") appears to be a campus shared drive site, according to SIS staff:

"The script should just have to cd to the pharm directory from the home directory of the user. For kelsier (test), the directory is sym linked to \\sis.drive.wisc.edu\sis92_data\QA\Pharm. Similarly, galbreth (production) is sym linked to \\sis.drive.wisc.edu\Prod\Pharm."

UPDATE: I don't believe we need to know the actual SIS drive and path anymore, or even if we ever did.  The IWS process contacts our apps.pharmacy server to GET the two input files (soppharmdsis.csv and soppharmddecision.csv) for processing on the SIS side, and then to PUT the output file (soppharmdfromsis.csv) back on our server.  KB52816 is still useful in that it describes how one updates our .ssh/authorized_keys file so that the SIS server can transfer files.   You may need to update authorized_keys to contain any updated public ssh key file from SIS (for example, if SIS undergoes a major upgrade).  The Plesk administrators for apps.pharmacy (and its test site) can update that file.  There should be no need to contact web hosting for that.

Data Sharing Steps

To keep a record of how data sharing is supposed to happen, these are the steps the automated processes should run on both test and live sites.

  1. The following PHP scripts are automatically run and generated data files to the /httpdocs/cronjobs/data-files folder
    1. SIS_Upload_cron.php generates soppharmdsis.csv daily at 22:00.
    2. StatusChange_Upload_cron.php generates soppharmddecision.csv daily at 23:00.
    3. You can confirm this in Plesk on the wwwtest server, but the jobs are hidden on the live server.  Nevertheless, the jobs on the live server should be clones of the test jobs and run at the same time.
  2. Once the PHP scripts are done, then two more automated jobs run to transfer data with the SIS system
    1. A SFTP cron job that runs at 23:15 to copy soppharmdsis.csv and soppharmddecision.csv to the SIS system.
    2. A SFTP cron job that runs at 00:45 to copy soppharmdfromsis.csv from the SIS system.
    3. You won't see these in Plesk on both the test and live servers.  If you need to confirm anything, you will have to contact webhosting@doit.wisc.edu.
    4. The SIS IWS job starts at 23:15 and will expect to find soppharmdsis and soppharmddecision on our server.
    5. The IWS job will also run the SIS process on those files and will generate soppharmdfromsis.
    6. soppharmdfromsis should be copied over as soon as it's ready.  Therefore, you will probable see the time stamp for it on our server that is much earlier than the previous 00:45 time stamp.
  3. Path Differences
    Due to the way PHP handles certain global array data, certain $_SERVER array items are usually not available when they run as cron jobs.  Therefore, specific values for files paths and server URLs must be encoded in the PHP script!  In particular, pay attention to the following file if you make any changes to code.
    1. inc_path.php
      1. If you are on the wwwtest server, make sure INC_FILE_PATH points to /var/www/vhosts/wwwtest.apps.pharmacy.wisc.edu/php_inc_files/
      2. If you are on the wwwtest server, make sure $_SERVER["SERVER_NAME"] = "wwwtest.apps.pharmacy.wisc.edu"
      3. If you are on the live server, make sure INC_FILE_PATH points to /var/www/vhosts/apps.pharmacy.wisc.edu/php_inc_files/
      4. If you are on the live server, make sure $_SERVER["SERVER_NAME"] = "apps.pharmacy.wisc.edu"
    2. SIS_Upload_cron.php and StatusChange_Upload_cron.php
      1. On the wwwtest server make sure DESTINATION_PATH points to /var/www/vhosts/wwwtest.apps.pharmacy.wisc.edu/httpdocs/cronjobs/data-files
      2. On the live server make sure DESTINATION_PATH points to /var/www/vhosts/apps.pharmacy.wisc.edu/httpdocs/cronjobs/data-files
    3. If the path/server values point to the wrong server (live vs. wwwtest), data will not end up in the correct location.

REQUESTING SUPPORT

As of April 2025, do not contact web hosting with any problems related to the file transfer.  Follow these steps.

  1. Send an email to sop-sis-ftp-support@g-groups.wisc.edu. This group contains the Pharmacy and SIS contacts needed to troubleshoot any problems.  Make sure you update the members of this list as needed!
  2. Mention that this is run via the IWS job stream named SIPHN_SOPPHARMD.  That should get IWS started in the right direction.
  3. Mention other useful information related to the problem (files not transferred, data not right, etc.)
  4. This is only for the SFTP part of the process.  If you suspect a problem with the cron jobs that run the PHP code to read/write the .csv files, then you would want to contact web hosting at webhosting@doit.wisc.edu.



Keywords:
PharmCAS SIS PharmD Data exchange sharing 
Doc ID:
122212
Owned by:
Katherine C. in Pharmacy IIT
Created:
2022-10-31
Updated:
2025-05-07
Sites:
School of Pharmacy, School of Pharmacy Instructional & Information Technology