Updating PTS
End-user PTS 5 software updates are not covered by a standard support contract and are something we would only consider in very specific circumstances.
We are documenting the instructions here for completeness.
Update files
In the event that we provide the update files, you will likely be given a link to the appropriate PTS update repository on Sharepoint. If not, we may send you a zip archive containing the update files.
In any case the relevant files and folders are:
- Report rdls
New or updated report template documents. - SSRS Update Datasource for Reports Script
The tools for uploading the new reports to your SSRS server and registering them. - DatabaseUpdate.sql
The T-SQL script to update the PTS 5 database. - PTS 5.x.x.x Update.zip
The updated files for the PTS web application. - PTSCommsSetup64.msi
The matching PTS Comms Client installer for this version of PTS. - Web.config
The updated web.config file.
Update guide
The aim of this guide is to summarise the steps involved so that a server and/or database administrator could understand and follow them. It will not include enough detail for a novice.
Be sure to do the backups! Not only does it make good sense but you will actually use the backup files as part of the update.
- Login to the SQL server using SQL Management Studio and locate the PTS 5 database
Likely to be named "pharmacyDB". - TRUNCATE the ELMAH_Error table
This table can be huge and can massively increase the backup file size. - Backup the database
- Login to the application server and locate the PTSWeb IIS application folder
- Delete everything from the Contents\Labels folder
- Create a backup of the PTSWeb folder
Consider omitting the Content\Sounds folder. It's not important to back this up, and it will be quite large. - Open IIS and locate the application pool that is handling the PTS 5 application and stop it
The downtime starts now. - Copy everything from the PTS 5.x.x.x Update.zip folder and drop it into the live PTSWeb directory
You should have to confirm overwrites; make sure you do so. - Copy the new web.config file and drop it into the live PTSWeb directory
You should have to confirm an overwrite. - Locate the old copy of the web.config file in the backup directory and open it in Notepad
- Locate the <connectionStrings> section and copy it to your clipboard
- Locate the new web.config file in the live directory and open it in Notepad
- Locate the <connectionStrings> section and paste the copy of the old <connectionStrings> section from your clipboard
This process is to replace the placeholder connection strings from the PTS update with the working connection strings from your existing installation. Make sure you replace the entire <connectionStrings> section cleanly. - Back on the database server, carefully execute the DatabaseUpdate.sql script against the PTS database
- Monitor the output window for errors and deal with them
For example older versions of PTS 5 allowed the same username to be assigned to multiple users. This behaviour was eventually changed, but the script cannot apply the fix while duplicates still exist in the table. Monitor the output window for any affected records and change the username of one of them using an UPDATE script on the AspNetUsers table. - Having fixed any issues, execute the update script again and monitor the output window for further errors
Repeat this process until the script completes with no errors. The script is failsafe and can be executed repeatedly without issue. - Restart the application pool
- Test that you can login to the application and that it reports the new version number
- Have your contact in pharmacy test the application (not including reports) and sign off on the update
If pharmacy report no issues they can resume using the system normally at this point.
Updating reports
- Login to the SSRS server
You can identify the name of your SSRS server via the "URL of SQL Reports Server" setting in Application Settings in PTS. - Copy the "Report rdls" and "SSRS Update Datasource for Reports Script" folders to the server. If the folders are zipped up be sure to unzip them
- Run ReportSync.exe
- Under "Destination SSRS web service", connect to the web service using the URL, User and Password settings that are currently being used by PTS
You can glean this information from Application Settings within PTS; do a search for "report" to see all pertinent settings. The URL setting will be equivalent to the "URL of SQL Reports Service" setting minus the "reportservice2010.asmx" part, e.g. http://ReportServerName/ReportServer. - Click Load; you should see the report folders loaded in the right hand pane
Note you don't have to use the left hand pane ("Source SSRS web service") for anything, we will be using the Local Path option. - At the bottom of the window, under Local Path, click the ellipses button (...)
- Navigate to the "Report rdls" folder
- Inside you will find a 2008 folder and a 2016 folder; open 2016
The 2008 files are for legacy versions of SQL Server that are no longer officially supported by PTS. - Select the Prescription folder and click OK
- In the right hand pane, tick the "PTS Reports" report folder
- Click Upload, and wait for the process to finish
- Repeat these steps for the "PTS Activity Reports", "PTS CD Report" and any other folders that have been made available to you
- You can now close ReportSync
- In File Explorer navigate back to the "SSRS Update Datasource for Reports Script" folder and locate the UpdatePTSReports.bat file
- Right-click it and click Edit
- At the top of the script you will see several variables being "set" with placeholder values, amend these to the correct values for your environment
- Save the changes and close Notepad, then execute the .bat file
It's important NOT to run this file as an administrator. Doing so will make it unable to find the files based on their relative paths. The output from the batch file will make it clear if it is working correctly or not.