Melissa Uploader

Automated upload tool for practice exports. Uploads insurance PDFs and patient files to the correct FTP/SFTP servers for each practice, then archives what was sent.


First-time setup

  1. Double-click setup.bat — this downloads WinSCP (needed for uploading)
  2. Set up your entity folders (see below)
  3. Double-click run-all.bat each day after running the PT STMT rename script

Daily workflow

  1. Run the PT STMT rename script manually (as usual)
  2. Double-click run-all.bat to upload everything
  3. Check the window for any failures — failed files stay in place for retry

Folder layout

run-all.bat                        <- double-click to run everything
engine.ps1
setup.bat
WinSCP\                            <- created by setup.bat automatically
Entities\
  CAMBS\
    entity.json                    <- server details for this entity
    run.bat                        <- double-click to run just CAMBS
    Export1\
      AJMAT\
        practice.json              <- only needed if AJMAT has its own FTP login
        20260629\                  <- today's insurance PDFs go here
        Archive sent to FTP\       <- uploaded date folders move here
        Patient\
          Export\
            PT STMT_20260629\      <- created by rename script
            Archive Sent to FTP\   <- uploaded patient folders move here
      CIIR\
        ...
  CONSensio\
    entity.json
    ...

Setting up a new entity

  1. Create a folder under Entities\ with the entity name (e.g. Entities\CAMBS\)
  2. Copy run.bat into it
  3. Create entity.json in that folder — copy from Entities\EXAMPLE\entity.json and fill in:
Setting What to put
workflow insurance if no patient files, insurance+patient if both
ftps.host FTP server address
ftps.username FTP username (shared across all practices)
ftps.password FTP password
ftps.tls true for FTPS (secure), false for plain FTP
ftps.insurance_path Remote path for insurance PDFs — keep {practice} in it
ftps.pdf_path Remote path for PT STMT PDFs — keep {practice} in it
sftp.host SFTP server (only needed if workflow is insurance+patient)
sftp.username SFTP username
sftp.password SFTP password
sftp.patient_path Remote path for patient files — keep {practice} in it
  1. Create the Export1\ folder and a subfolder for each practice inside the entity folder

Setting up a practice with its own FTP login

If one practice has its own FTP username/password (different from the entity default):

  1. Create a practice.json file inside that practice's folder
  2. Copy from Entities\EXAMPLE\Export1\PRACTICE_NAME\practice.json
  3. Fill in only the username and password that differ — everything else comes from entity.json

Something went wrong?

  • Files failed to upload — they stay in the date folder. Fix the issue and run again.
  • A date folder is still there after running — one or more files failed. Check the output window.
  • WinSCP error on startup — run setup.bat again to re-download WinSCP.
S
Description
Automated FTPS/SFTP upload tool for practice exports
Readme
126 KiB
Languages
PowerShell 98.2%
Batchfile 1.8%