# 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 | 4. 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.