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
66 lines
1.4 KiB
YAML
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:
|