3

I’m assisting an optometrist in migrating decades of patient data from Opto, a legacy DOS-based program by Professional Practice Systems, Inc., to a cloud-based solution.

The challenge:

  • There’s no obvious export function or documented way to access the raw database.
  • Manual entry is impractical due to the volume of records.

Questions:

  1. Has anyone successfully extracted data from Opto (PPS)? If so, what tools or methods did you use?
  2. Are there known file formats or database structures (e.g., dBase, Clipper) that Opto uses?

We’re open to workarounds (e.g., parsing print reports, reverse-engineering file formats). Thanks for any leads!

Edit:

  • I have contacted Opto for help by emailing the addresses listed on their website. However, after verifying them with Hunter Email Verifier, I found that both the server and email statuses were invalid. To find alternative contacts, I searched Facebook and LinkedIn and located Scott Bussinger, the chief programmer of Opto (according to their site). I reached out to him about 24 hours ago but haven't received a response yet. Additionally, I found his Stack Overflow account, though he was last active over a month ago. I remain hopeful that he will reply.
  • I am running Opto in VMware using a snapshot of the optometrist’s Windows 7 environment stored on an external NTFS-formatted hard drive that my boss lent to me. The drive contains multiple backups of the program.
  • While examining Opto’s files via the file manager, I discovered a folder containing numerous .db database files. Opening one in Notepad revealed mostly unreadable content, though some parts were somewhat legible. I then attempted to view the file using SQLCipher, which prompted me for a password (“key used to encrypt the database”) and displayed SHA512 under HMAC and KDF algorithms—suggesting the database is encrypted. I searched for configuration files within Opto but couldn't find any that might contain the encryption key. Upon closing the password prompt, another pop-up appeared stating: "Could not open database file. Reason: Invalid file format."

Would it be best to continue testing different database browsers, or should I explore alternative approaches like scraping?

1 Answers1

0

That the software ran on "Windows 7 environment stored on an external NTFS-formatted hard drive," makes it more likely that database files can be backed up and possibly explored. The extension, .db, is generic, and it might be SQLite, Corel Paradox, Microsoft Works, SmartWare, Novell GroupWise address book or other type of database.

There are at least three ways to proceed, and you might try all.

  • Continue trying to get help from Opto. Try the phone number, look in SEC and online for legal information on Opto to locate management, etc.

  • Reverse-engineer the application. Try to find out what calls are being made in the application, i.e., examine or decompile it. There are tools such as Process Monitor, ListDLLs, etc. If you do not have that expertise, you might try to get help on that approach.

  • The most straight-forward approach would be to print a report with all information for all clients, if that feature is available, or at least to print a full report for each client, time consuming as that might be. Print to file (either directly or using print-to-PDF). Then either dirctly process the file(s) to abstract the data, or use optical character recognition (OCR) to convert it to pure text, and abstract from that.

    However, that approach requires developing a routine or program to assign specific text to specific database locations. It could be done with regexp, a programming language, or other tool which would take some time and effort to create.