new-site/scripts/Dockerfile
justin e212f20a34 Add CMS-855 PDF filler + e-sign fulfillment for Medicare revalidation/enrollment
- cms855_pdf_filler.py: fills official CMS-855I/B/O/A AcroForms from intake
  (name, NPI, DOB, cert-page printed name) and records the signature anchor at
  the form's official /Sig box so the e-sign stamper lands on the cert line.
- npi_provider handlers (revalidation/reactivation/enrollment) now generate the
  paper CMS-855, upload it to MinIO, request_esign with anchors, and email the
  signing link. Human completes/verifies + USPS Priority Mails to the MAC.
- scripts/Dockerfile: copy the official CMS-855I/B/O/A forms into the image.
2026-06-05 02:27:11 -05:00

38 lines
1.2 KiB
Docker

FROM python:3.12-slim
# Install LibreOffice for DOCX→PDF, Playwright deps, and system packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libreoffice-writer \
fonts-liberation \
fonts-dejavu \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Install Python dependencies
COPY scripts/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Install Playwright browsers
RUN playwright install chromium && playwright install-deps chromium
# Copy all scripts
COPY scripts/ /app/scripts/
COPY docs/product-facts.md /app/docs/product-facts.md
COPY ["docs/MCS-150 Form.pdf", "/app/docs/MCS-150 Form.pdf"]
COPY ["docs/MCS-150B Form.pdf", "/app/docs/MCS-150B Form.pdf"]
COPY ["docs/MCS-150C Form.pdf", "/app/docs/MCS-150C Form.pdf"]
COPY ["docs/CMS-855I Form.pdf", "/app/docs/CMS-855I Form.pdf"]
COPY ["docs/CMS-855B Form.pdf", "/app/docs/CMS-855B Form.pdf"]
COPY ["docs/CMS-855O Form.pdf", "/app/docs/CMS-855O Form.pdf"]
COPY ["docs/CMS-855A Form.pdf", "/app/docs/CMS-855A Form.pdf"]
# Create data directories
RUN mkdir -p /app/data/screenshots /app/data/documents /app/data/logs
ENV PYTHONPATH=/app
ENV PYTHONUNBUFFERED=1
EXPOSE 8090
CMD ["python", "-m", "scripts.workers.job_server"]