A web application
PsyTrace runs in a web browser. Nothing is installed on the user's computer: any up-to-date
browser (Edge, Chrome, Firefox, Safari) on a computer connected to the internet opens it at its
web address. The program itself runs on a web server; the browser only shows the screens and
sends back what the user types or chooses.
Three parts
- The browser (the user's computer): shows the screens, the lists and the forms.
It keeps no client data of its own: the data stay on the servers.
- The web server: runs PsyTrace, checks who is logged in and what each user may
see and do (the user's roles), and is the only part that talks to the database.
- The database server (Microsoft SQL Server): keeps the data. Each organization
has its own database, with its facilities, services, clients, employees and finances, and a
second database for pictures, scanned documents and electronic signatures.
Short connections
The browser and the database never talk to each other. When a user asks for data (a client's
episodes, a list of encounters), the web server opens a connection to the database, reads the
data, closes the connection and sends the screen to the browser. Saving works the same way:
the connection is opened, the data are filed and the connection is closed. No connection stays
open while the user reads or types, so a computer that is switched off or loses its internet
connection cannot leave the database open or damaged; at worst the last unsaved form is lost.
A save that changes more than one record (an invoice and its encounters, a payment and its
claim) is done all at once: either every part is filed or none is.
Security
- The connection between the browser and the server is encrypted (https).
- Every user has a personal login. Passwords are stored only as a one-way code, never as
text, and must be changed regularly.
- Each screen and menu is shown only to the users whose roles allow it, and the server checks
the roles again on every request.
- Client names, identification numbers and clinical notes can be stored encrypted in the
database (chosen for each organization).
- Every change to a record is kept in the Audit Trail: who changed it, when, and the old and
new values.
Backups
Every night the databases are backed up on the server itself and to a second, remote location
(currently in Colorado), so the data can be restored even if the server is lost.
Electronic claims
Electronic claims (837) and payments (835) for all organizations are handled by a separate web
program, AgHipaa, which works with the same databases: it creates the claim files from the
encounters filed in PsyTrace and posts the carriers' payments back to them.