Employee Management System v1.3.10
Employees
Total Employees
Active
Discharged
Expiring (60 days)
StatusNamePositionType PhoneEmailHire DateActions
Loading…
Expiring Credentials
Loading…
PDF Reports
Monthly Employee Roster
Signature roster for employees active during the selected month. Only employees hired before month-end and not yet terminated are included. Blank signature line per row.
License Verification Roster
Active employees with a license on file. Includes license number, type, issuing state, issue date, and expiration. Expiring within 60 days are color-flagged.
Fingerprinting / Background Roster
AHCA & Medicaid background screening compliance roster. Includes DOB, agency, position, hire date, termination date, and AHCA background expiration.
Note: All PDFs include the NY Community Wellness Center letterhead, generation date, page numbers, and a Medical Director signature + date line at the bottom of every page. The Monthly Roster accurately reflects who was employed during that specific month.
User Management
Users are managed in the EHR app. Only EHR users with the Admin or Office Manager role can access the HR Portal. Users are synced automatically every 5 minutes — password changes in EHR take effect within 5 minutes here too.

To add or remove HR Portal access, change the user's role in the EHR app → User Management. Then click Sync from EHR to apply immediately.
Loading…
Import from Excel
Merge import: Employees matched by Last Name + First Name + DOB will be updated. All others are inserted as new records. Columns must match the original EMPLOYEE_ROSTER.xlsx format.
Click or drag your .xlsx file here
Same column format as EMPLOYEE_ROSTER.xlsx
Audit Log
TimeUserActionRecordDetailIP
Loading…
Email & Settings
Email Configuration
Loading…
Send Test Email
Automated Reminders — All 11 Credentials

Every active employee with an email address is monitored. Reminders fire at 90 / 60 / 30 / 7 days before expiration, on the day itself, and daily for 7 days after. Each threshold fires only once per employee per credential — no duplicate emails.

# Credential Reminders at
1Professional License90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
2DEA Certificate90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
3FL Driver License90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
4AHCA Background Screening90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
5Professional Liability Insurance90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
6CEU (Continuing Education)90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
7CPR/BLS Certification90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
8Passport90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
9I-9 Employment Eligibility90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
10Worker's Comp Exemption90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
11Yearly Performance Evaluation90 / 60 / 30 / 7 / 0 days + 7 days post-expiry
Email Type Recipients When
Credential reminders (all 11)Employee + AdminAutomatic — daily 8:00 AM ET
Weekly HR digestAdmin onlyAutomatic — every Monday 7:00 AM ET
Welcome emailEmployee + Admin CCManual — ✉ Emails → Welcome
Offer letterEmployee + Admin CCManual — ✉ Emails → Offer Letter
Termination letterEmployee + Admin CCManual — ✉ Emails → Termination Letter
EHR Shared Login — Setup

Connect the HR Portal to your EHR so admin and office manager users can log in with the same credentials. Three steps:

Step 1 — Add to HR systemd service (/etc/systemd/system/hr-app.service)
Environment=EHR_INTERNAL_URL=http://localhost:3000
Environment=EHR_INTERNAL_KEY=pick-any-long-random-string
Environment=JWT_SECRET=paste-ehr-jwt-secret-here
Step 2 — Add to EHR systemd service (/etc/systemd/system/wellness.service)
Environment=EHR_INTERNAL_KEY=same-string-as-above
Step 3 — Patch EHR server.js with two internal routes
Open the file EHR_PATCH_INSTRUCTIONS.js included in the HR Portal zip. Copy the two routes inside and paste them into wellness-server/server.js just before the catch-all line at the bottom (app.get('/{*path}', ...)).
Step 4 — Restart both services
systemctl daemon-reload
systemctl restart wellness
systemctl restart hr-app
Then go to User Management → Sync from EHR to import users immediately.
VPS Configuration — Nginx (Option B: Path-based)
Add this inside your existing server { } block in your Nginx config, before the location / { } block:
    location /hr {
        return 301 /hr/;
    }

    location /hr/ {
        proxy_pass         http://localhost:3001/;
        proxy_http_version 1.1;
        proxy_set_header   Host              $host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Upgrade           $http_upgrade;
        proxy_set_header   Connection        'upgrade';
        proxy_cache_bypass $http_upgrade;
        proxy_read_timeout 60s;
    }
After saving: nginx -t && systemctl reload nginx
Confirm
Are you sure?