devsofttech_hms_ci4/middleware-gateway/docker-compose.yml
DevSoftTech Server 0628f8f813 feat: ABDM OPD Queue + ABHA Register flow + patient ABHA search fix
ABDM OPD Queue (today):
- New EAtriaBridgeConnector: opdQueueFetch/opdTokenCreate/opdTokenUpdateStatus + patch() helper
- New AbdmOpdQueue controller: index/list/fetchQueue/createToken/updateTokenStatus/processScannedToken
  - fetchQueue syncs gateway tokens into abdm_opd_tokens (local DB) and enriches with HMS patient data
  - processScannedToken auto-finds/creates patient_master record from ABHA scan data, marks token CALLED
- New migration: abdm_opd_tokens table (gateway_token_id, source, status, patient_id, opd_id, processed_at)
- New view: abdm/opd_queue.php - reception screen with auto-refresh 30s, HMS Patient column (green row when OPD registered)
- Sidebar: ABDM OPD Queue nav link added
- Routes: AbdmOpdQueue with abdmPermFilter

ABHA Register tab (earlier this session):
- New Abha controller: initiate/verifyOtp/communication/verifyCommOtp/validateAbha/card + autoCreateOrFindPatient
- New views: abha/card.php, partials/abha_create_panel.php, partials/abha_otp_modal.php
- Patient_V.php: ABHA Register tab with 4-method wizard (ABHA number, QR scan, facility QR, mobile OTP)

Patient ABHA search fix:
- Patient::search() now detects ABHA column (abha_id/abha_no/abha/abha_address) and searches by it

ABDM Bridge infrastructure:
- EAtriaBridgeConnector: new connector for e-atria.in ABDM bridge gateway
- AbdmConnectorFactory/Interface updated
- AbdmGatewaySettings controller + view
- SNOMED/CSNOTK terminology service skeleton
- Finance payout OPD consult views
- Migration: AddAbdmPushFieldsToOpdAndPatient, CreateSnomedCoreTables
- Docs: abdm/ API specs, architecture, gateway guides
2026-05-16 04:21:31 +05:30

66 lines
1.4 KiB
YAML

version: '3.8'
services:
abdm-gateway:
build:
context: .
dockerfile: Dockerfile
container_name: abdm-bridge-gateway
ports:
- "3000:3000"
environment:
- NODE_ENV=${NODE_ENV:-production}
- PORT=3000
- BRIDGE_SOURCE_CODE=${BRIDGE_SOURCE_CODE}
- BRIDGE_SYNC_TOKEN=${BRIDGE_SYNC_TOKEN}
- ABDM_M3_URL=${ABDM_M3_URL}
- ABDM_M3_TOKEN=${ABDM_M3_TOKEN}
- SNOMED_SERVICE_URL=${SNOMED_SERVICE_URL}
- ABDM_HFR_ID=${ABDM_HFR_ID}
- ABDM_NPI_ID=${ABDM_NPI_ID}
- LOG_LEVEL=${LOG_LEVEL:-info}
volumes:
- ./logs:/app/logs
- ./config:/app/config:ro
restart: unless-stopped
networks:
- abdm-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/api/v3/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
deploy:
resources:
limits:
cpus: '1'
memory: 512M
reservations:
cpus: '0.5'
memory: 256M
nginx:
image: nginx:alpine
container_name: abdm-nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./ssl:/etc/nginx/ssl:ro
- /etc/letsencrypt:/etc/letsencrypt:ro
depends_on:
- abdm-gateway
restart: unless-stopped
networks:
- abdm-network
networks:
abdm-network:
driver: bridge
volumes:
logs:
config: