Public Access
Initial build: engine, run scripts, WinSCP setup, example configs
This commit is contained in:
@@ -1,3 +1,90 @@
|
||||
# melissa-uploader
|
||||
# Melissa Uploader
|
||||
|
||||
Automated FTPS/SFTP upload tool for practice exports
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user