Tile-based admin panel: Doctor Master, User & Role Management, AI Settings, HealthPlix Integration, ABDM Gateway, Hospital Profile, Insurance Master, Bank & Payment, Medical Bank, Bed Management, Hospital Stock.
+
Tile-based admin panel: Doctor Master, User & Role Management, AI Settings, ABDM Gateway, Hospital Profile, Insurance Master, Bank & Payment, Medical Bank, Bed Management, Hospital Stock.
- Base URL (QA/Dev):https://consultation-edge-dev.healthplix.com |
- Doc version: 1.7 (26-Apr-2025) |
- All paths below are pre-filled as per official API Specification Doc.
-
-
-
- >
-
-
Keep disabled for hospitals that do not use HealthPlix.
-
-
-
-
-
-
-
QA/Dev URL from HealthPlix doc. Production URL is provided by HealthPlix team.
-
-
-
-
-
Header name for tenant ID in API requests. Default: tenant_id (do NOT put your Tenant ID value here).
diff --git a/docs/HEALTHPLIX_APACHE_PROXY_CENTOS7.md b/docs/HEALTHPLIX_APACHE_PROXY_CENTOS7.md
deleted file mode 100644
index 109688e..0000000
--- a/docs/HEALTHPLIX_APACHE_PROXY_CENTOS7.md
+++ /dev/null
@@ -1,156 +0,0 @@
-# HealthPlix Reverse Proxy Setup (CentOS 7 + Apache)
-
-This guide is for a central public Apache server that forwards each hospital domain to its own local HMS over VPN.
-
-Example topology:
-- Public Apache server: 139.59.13.39
-- Hospital A domain: 100001.dhms.in -> A record -> 139.59.13.39
-- Hospital A HMS private VPN IP: 10.7.0.32
-- Hospital B domain: 100002.dhms.in -> A record -> 139.59.13.39
-- Hospital B HMS private VPN IP: 10.8.0.45
-
-Recommended exposure model:
-- Expose only callback/fetch path to internet.
-- Do not expose full HMS unless required.
-
-## 1) Install and enable required Apache modules
-
-Run on CentOS 7 Apache host:
-
- sudo yum install -y mod_ssl
- sudo httpd -M | egrep "proxy|ssl|headers|rewrite"
-
-If any are missing, enable in Apache config and restart httpd.
-
-## 2) Reusable virtual-host template (callback-only)
-
-Create one file per hospital in /etc/httpd/conf.d/
-
-Template file name:
-- /etc/httpd/conf.d/DOMAIN.conf
-
-Template content:
-
-
- ServerName DOMAIN
- RewriteEngine On
- RewriteRule ^/(.*)$ https://DOMAIN/$1 [R=301,L]
-
-
-
- ServerName DOMAIN
-
- SSLEngine On
- SSLCertificateFile /etc/letsencrypt/live/DOMAIN/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
- SSLProxyEngine On
-
- RequestHeader set X-Forwarded-Proto "https"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- # Callback/fetch endpoint only
- ProxyPass /healthplix/fetch http://VPN_HMS_IP/healthplix/fetch
- ProxyPassReverse /healthplix/fetch http://VPN_HMS_IP/healthplix/fetch
-
- ErrorLog /var/log/httpd/DOMAIN-healthplix-error.log
- CustomLog /var/log/httpd/DOMAIN-healthplix-access.log combined
-
-
-Replace:
-- DOMAIN with hospital DNS name (example 100001.dhms.in)
-- VPN_HMS_IP with local HMS VPN IP (example 10.7.0.32)
-
-## 3) Hardened variant (recommended)
-
-Use this inside the :443 VirtualHost when HealthPlix source IPs and secret are available.
-
- # 3.1 Limit endpoint to known HealthPlix source IPs
-
- Require all denied
- Require ip 203.0.113.10
- Require ip 203.0.113.11
-
-
- # 3.2 Shared-secret header validation at edge
- RewriteEngine On
- RewriteCond %{REQUEST_URI} ^/healthplix/fetch$
- RewriteCond %{HTTP:X-Healthplix-Secret} !^REPLACE_WITH_STRONG_SECRET$
- RewriteRule ^ - [F,L]
-
- # 3.3 Restrict methods
-
-
- Require all denied
-
-
-
- # 3.4 Body size limits (adjust to payload)
- LimitRequestBody 1048576
-
-Notes:
-- Replace placeholder IPs with official HealthPlix outbound IPs.
-- Replace secret with a long random value.
-- Validate same secret again in HMS controller before processing.
-
-## 4) Multi-hospital mapping examples
-
-Hospital A:
-- Domain: 100001.dhms.in
-- Target: 10.7.0.32
-
-Hospital B:
-- Domain: 100002.dhms.in
-- Target: 10.8.0.45
-
-Hospital C:
-- Domain: 100003.dhms.in
-- Target: 10.9.0.20
-
-All domains can point to same public IP 139.59.13.39.
-Apache routes by ServerName.
-
-## 5) Enable and reload Apache
-
- sudo apachectl configtest
- sudo systemctl reload httpd
-
-If using firewalld:
-
- sudo firewall-cmd --add-service=http --permanent
- sudo firewall-cmd --add-service=https --permanent
- sudo firewall-cmd --reload
-
-## 6) HMS application-side settings
-
-For outbound sync from HMS to HealthPlix:
-- Keep HEALTHPLIX_BASE_URL as official HealthPlix API base URL.
-- Keep token/patient/appointment paths as currently configured.
-
-For inbound fetch/callback from HealthPlix:
-- Give HealthPlix callback URL as:
- https://DOMAIN/healthplix/fetch
-
-## 7) Validation checklist
-
-1. DNS resolves correctly:
- nslookup DOMAIN
-2. TLS certificate is valid:
- curl -Iv https://DOMAIN/healthplix/fetch
-3. Reverse proxy reaches HMS private node:
- curl -i -X POST https://DOMAIN/healthplix/fetch -H "X-Healthplix-Secret: REPLACE_WITH_STRONG_SECRET" -d '{}'
-4. Apache logs show routed request in domain-specific log file.
-5. HMS receives request and returns expected response.
-
-## 8) Operations notes
-
-- Keep one vhost file per hospital for isolation.
-- Keep one log file pair per hospital for easier troubleshooting.
-- Rotate logs and monitor 4xx/5xx rates.
-- Keep VPN routes and ACLs documented and version-controlled.
-- Do not log bearer tokens or patient-sensitive payloads in plaintext.
diff --git a/docs/Hospital-Integration-API-Contract-v1.7 (1) (1)-1.pdf b/docs/Hospital-Integration-API-Contract-v1.7 (1) (1)-1.pdf
deleted file mode 100644
index dee875c..0000000
Binary files a/docs/Hospital-Integration-API-Contract-v1.7 (1) (1)-1.pdf and /dev/null differ
diff --git a/docs/apache-proxy-templates/generated/100001.dhms.in.conf b/docs/apache-proxy-templates/generated/100001.dhms.in.conf
deleted file mode 100644
index ca02f69..0000000
--- a/docs/apache-proxy-templates/generated/100001.dhms.in.conf
+++ /dev/null
@@ -1,51 +0,0 @@
-
- ServerName 100001.dhms.in
- RewriteEngine On
- RewriteRule ^/(.*)$ https://100001.dhms.in/$1 [R=301,L]
-
-
-
- ServerName 100001.dhms.in
-
- SSLEngine On
- SSLCertificateFile /etc/letsencrypt/live/100001.dhms.in/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/100001.dhms.in/privkey.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
- SSLProxyEngine On
- SSLProxyVerify require
- SSLProxyCheckPeerName on
- SSLProxyCheckPeerExpire on
-
- RequestHeader set X-Forwarded-Proto "https"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- # Replace with official HealthPlix source IPs
-
- Require all denied
- Require ip 203.0.113.10
- Require ip 203.0.113.11
-
- Require all denied
-
-
-
- # Replace with your strong shared secret
- RewriteEngine On
- RewriteCond %{REQUEST_URI} ^/healthplix/fetch$
- RewriteCond %{HTTP:X-Healthplix-Secret} !^CHANGE_ME_TO_STRONG_SECRET$
- RewriteRule ^ - [F,L]
-
- LimitRequestBody 1048576
-
- # Use internal DNS name reachable via VPN so backend TLS/certificate can be used.
- ProxyPass /healthplix/fetch https://khrc.dhms.in/healthplix/fetch
- ProxyPassReverse /healthplix/fetch https://khrc.dhms.in/healthplix/fetch
-
- ErrorLog /var/log/httpd/100001-healthplix-error.log
- CustomLog /var/log/httpd/100001-healthplix-access.log combined
-
diff --git a/docs/apache-proxy-templates/generated/100002.dhms.in.conf b/docs/apache-proxy-templates/generated/100002.dhms.in.conf
deleted file mode 100644
index b30b91a..0000000
--- a/docs/apache-proxy-templates/generated/100002.dhms.in.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-
- ServerName 100002.dhms.in
- RewriteEngine On
- RewriteRule ^/(.*)$ https://100002.dhms.in/$1 [R=301,L]
-
-
-
- ServerName 100002.dhms.in
-
- SSLEngine On
- SSLCertificateFile /etc/letsencrypt/live/100002.dhms.in/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/100002.dhms.in/privkey.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
- SSLProxyEngine On
-
- RequestHeader set X-Forwarded-Proto "https"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- # Replace with official HealthPlix source IPs
-
- Require all denied
- Require ip 203.0.113.10
- Require ip 203.0.113.11
-
- Require all denied
-
-
-
- # Replace with your strong shared secret
- RewriteEngine On
- RewriteCond %{REQUEST_URI} ^/healthplix/fetch$
- RewriteCond %{HTTP:X-Healthplix-Secret} !^CHANGE_ME_TO_STRONG_SECRET$
- RewriteRule ^ - [F,L]
-
- LimitRequestBody 1048576
-
- ProxyPass /healthplix/fetch http://10.8.0.45/healthplix/fetch
- ProxyPassReverse /healthplix/fetch http://10.8.0.45/healthplix/fetch
-
- ErrorLog /var/log/httpd/100002-healthplix-error.log
- CustomLog /var/log/httpd/100002-healthplix-access.log combined
-
diff --git a/docs/apache-proxy-templates/generated/100003.dhms.in.conf b/docs/apache-proxy-templates/generated/100003.dhms.in.conf
deleted file mode 100644
index cf6179b..0000000
--- a/docs/apache-proxy-templates/generated/100003.dhms.in.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-
- ServerName 100003.dhms.in
- RewriteEngine On
- RewriteRule ^/(.*)$ https://100003.dhms.in/$1 [R=301,L]
-
-
-
- ServerName 100003.dhms.in
-
- SSLEngine On
- SSLCertificateFile /etc/letsencrypt/live/100003.dhms.in/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/100003.dhms.in/privkey.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
- SSLProxyEngine On
-
- RequestHeader set X-Forwarded-Proto "https"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- # Replace with official HealthPlix source IPs
-
- Require all denied
- Require ip 203.0.113.10
- Require ip 203.0.113.11
-
- Require all denied
-
-
-
- # Replace with your strong shared secret
- RewriteEngine On
- RewriteCond %{REQUEST_URI} ^/healthplix/fetch$
- RewriteCond %{HTTP:X-Healthplix-Secret} !^CHANGE_ME_TO_STRONG_SECRET$
- RewriteRule ^ - [F,L]
-
- LimitRequestBody 1048576
-
- ProxyPass /healthplix/fetch http://10.9.0.20/healthplix/fetch
- ProxyPassReverse /healthplix/fetch http://10.9.0.20/healthplix/fetch
-
- ErrorLog /var/log/httpd/100003-healthplix-error.log
- CustomLog /var/log/httpd/100003-healthplix-access.log combined
-
diff --git a/docs/apache-proxy-templates/local-test/LOCAL_TEST_CHECKLIST.md b/docs/apache-proxy-templates/local-test/LOCAL_TEST_CHECKLIST.md
deleted file mode 100644
index b70dee8..0000000
--- a/docs/apache-proxy-templates/local-test/LOCAL_TEST_CHECKLIST.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Local-First Validation Checklist (My Host + VPN Server)
-
-## A) My Host local test (10.7.0.31 machine)
-
-1. Start CI4 locally:
- php spark serve --host localhost --port 8080
-
-2. Add hosts entry from my-host/hosts.example:
- 127.0.0.1 100001.localtest
-
-3. Enable local Apache vhost:
- my-host/100001.localtest.conf
-
-4. Reload local Apache.
-
-5. Test through local domain (same callback path):
- curl -i -X POST http://100001.localtest/healthplix/fetch -H "X-Healthplix-Secret: CHANGE_ME_TO_STRONG_SECRET" -d '{}'
-
-Expected:
-- Request reaches CI4 route at localhost:8080/healthplix/fetch.
-
-## B) VPN server test (10.7.0.1)
-
-1. Install config:
- vpn-server/100001.dhms.in.conf -> /etc/httpd/conf.d/100001.dhms.in.conf
-
-2. Validate and reload Apache:
- apachectl configtest
- systemctl reload httpd
-
-3. From your VPN client machine (10.7.0.31), verify DNS and TLS:
- nslookup 100001.dhms.in
- curl -Iv https://100001.dhms.in/healthplix/fetch
-
-4. Verify callback path through edge proxy:
- curl -i -X POST https://100001.dhms.in/healthplix/fetch -H "X-Healthplix-Secret: CHANGE_ME_TO_STRONG_SECRET" -d '{}'
-
-Expected:
-- Edge server accepts request.
-- Request is forwarded to khrc.dhms.in over VPN.
-- HMS responds with your fetch endpoint response.
-
-## Notes
-
-- Replace placeholder source IPs and secret before production.
-- If backend HMS certificate is private/self-signed, import internal CA cert to proxy trust store.
-- Keep healthplix/fetch endpoint method-restricted to POST.
diff --git a/docs/apache-proxy-templates/local-test/my-host/100001.localtest.conf b/docs/apache-proxy-templates/local-test/my-host/100001.localtest.conf
deleted file mode 100644
index f647c7a..0000000
--- a/docs/apache-proxy-templates/local-test/my-host/100001.localtest.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-# Local machine Apache config for pre-production testing
-# Purpose: test callback flow locally by forwarding to CI4 dev server (php spark serve)
-# Place on local Apache host and adapt paths/ports for your OS.
-
-
- ServerName 100001.localtest
-
- ProxyRequests Off
- ProxyPreserveHost On
-
- RequestHeader set X-Forwarded-Proto "http"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- # Keep same route shape as production, but target local spark server.
- ProxyPass /healthplix/fetch http://localhost:8080/healthplix/fetch
- ProxyPassReverse /healthplix/fetch http://localhost:8080/healthplix/fetch
-
- ErrorLog logs/100001-localtest-error.log
- CustomLog logs/100001-localtest-access.log combined
-
diff --git a/docs/apache-proxy-templates/local-test/my-host/hosts.example b/docs/apache-proxy-templates/local-test/my-host/hosts.example
deleted file mode 100644
index 6c05b2f..0000000
--- a/docs/apache-proxy-templates/local-test/my-host/hosts.example
+++ /dev/null
@@ -1,8 +0,0 @@
-# Add to your local hosts file for local-domain testing
-# Windows path: C:\Windows\System32\drivers\etc\hosts
-# Linux path: /etc/hosts
-
-127.0.0.1 100001.localtest
-
-# Optional for testing real VPN domain from your machine over VPN
-# 10.7.0.1 100001.dhms.in
diff --git a/docs/apache-proxy-templates/local-test/vpn-server/100001.dhms.in.conf b/docs/apache-proxy-templates/local-test/vpn-server/100001.dhms.in.conf
deleted file mode 100644
index 6addcad..0000000
--- a/docs/apache-proxy-templates/local-test/vpn-server/100001.dhms.in.conf
+++ /dev/null
@@ -1,51 +0,0 @@
-# CentOS 7 VPN/public proxy server config
-# Place on VPN server: /etc/httpd/conf.d/100001.dhms.in.conf
-
-
- ServerName 100001.dhms.in
- RewriteEngine On
- RewriteRule ^/(.*)$ https://100001.dhms.in/$1 [R=301,L]
-
-
-
- ServerName 100001.dhms.in
-
- SSLEngine On
- SSLCertificateFile /etc/letsencrypt/live/100001.dhms.in/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/100001.dhms.in/privkey.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
- SSLProxyEngine On
-
- RequestHeader set X-Forwarded-Proto "https"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- # Replace with official HealthPlix source IPs
-
- Require all denied
- Require ip 203.0.113.10
- Require ip 203.0.113.11
-
- Require all denied
-
-
-
- # Replace with your strong shared secret
- RewriteEngine On
- RewriteCond %{REQUEST_URI} ^/healthplix/fetch$
- RewriteCond %{HTTP:X-Healthplix-Secret} !^CHANGE_ME_TO_STRONG_SECRET$
- RewriteRule ^ - [F,L]
-
- LimitRequestBody 1048576
-
- # Production target: HMS server over VPN
- ProxyPass /healthplix/fetch https://khrc.dhms.in/healthplix/fetch
- ProxyPassReverse /healthplix/fetch https://khrc.dhms.in/healthplix/fetch
-
- ErrorLog /var/log/httpd/100001-healthplix-error.log
- CustomLog /var/log/httpd/100001-healthplix-access.log combined
-
diff --git a/docs/apache-proxy-templates/vhost-callback-hardened.template.conf b/docs/apache-proxy-templates/vhost-callback-hardened.template.conf
deleted file mode 100644
index 54d00b9..0000000
--- a/docs/apache-proxy-templates/vhost-callback-hardened.template.conf
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copy to /etc/httpd/conf.d/DOMAIN.conf and replace placeholders.
-# This variant includes source IP allowlist and shared-secret header check.
-
-
- ServerName __DOMAIN__
- RewriteEngine On
- RewriteRule ^/(.*)$ https://__DOMAIN__/$1 [R=301,L]
-
-
-
- ServerName __DOMAIN__
-
- SSLEngine On
- SSLCertificateFile /etc/letsencrypt/live/__DOMAIN__/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/__DOMAIN__/privkey.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
- SSLProxyEngine On
-
- RequestHeader set X-Forwarded-Proto "https"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- # Allow only known HealthPlix source IPs (replace with official list)
-
- Require all denied
- Require ip __HEALTHPLIX_IP_1__
- Require ip __HEALTHPLIX_IP_2__
-
- Require all denied
-
-
-
- # Block requests without valid shared secret header
- RewriteEngine On
- RewriteCond %{REQUEST_URI} ^/healthplix/fetch$
- RewriteCond %{HTTP:X-Healthplix-Secret} !^__STRONG_SHARED_SECRET__$
- RewriteRule ^ - [F,L]
-
- # Limit payload size to 1 MB (adjust as needed)
- LimitRequestBody 1048576
-
- ProxyPass /healthplix/fetch http://__VPN_HMS_IP__/healthplix/fetch
- ProxyPassReverse /healthplix/fetch http://__VPN_HMS_IP__/healthplix/fetch
-
- ErrorLog /var/log/httpd/__DOMAIN__-healthplix-error.log
- CustomLog /var/log/httpd/__DOMAIN__-healthplix-access.log combined
-
diff --git a/docs/apache-proxy-templates/vhost-callback-only.template.conf b/docs/apache-proxy-templates/vhost-callback-only.template.conf
deleted file mode 100644
index 1373079..0000000
--- a/docs/apache-proxy-templates/vhost-callback-only.template.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copy to /etc/httpd/conf.d/DOMAIN.conf and replace placeholders.
-
-
- ServerName __DOMAIN__
- RewriteEngine On
- RewriteRule ^/(.*)$ https://__DOMAIN__/$1 [R=301,L]
-
-
-
- ServerName __DOMAIN__
-
- SSLEngine On
- SSLCertificateFile /etc/letsencrypt/live/__DOMAIN__/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/__DOMAIN__/privkey.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
- SSLProxyEngine On
-
- RequestHeader set X-Forwarded-Proto "https"
- RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
-
- ProxyTimeout 60
- Timeout 60
-
- ProxyPass /healthplix/fetch http://__VPN_HMS_IP__/healthplix/fetch
- ProxyPassReverse /healthplix/fetch http://__VPN_HMS_IP__/healthplix/fetch
-
- ErrorLog /var/log/httpd/__DOMAIN__-healthplix-error.log
- CustomLog /var/log/httpd/__DOMAIN__-healthplix-access.log combined
-
diff --git a/env b/env
index adf9faf..96c104e 100644
--- a/env
+++ b/env
@@ -100,28 +100,6 @@
# If empty, signature validation is skipped.
# EKA_WEBHOOK_SECRET =
-#--------------------------------------------------------------------
-# HEALTHPLIX INTEGRATION (OPTIONAL)
-#--------------------------------------------------------------------
-
-# Enable per hospital using Admin panel by default.
-# These env keys can be used as deployment fallback defaults.
-
-# HEALTHPLIX_ENABLED = 0
-# HEALTHPLIX_BASE_URL =
-# HEALTHPLIX_TENANT_HEADER_NAME = tenant_id
-# HEALTHPLIX_TENANT_ID =
-# HEALTHPLIX_TENANT_KEY =
-# HEALTHPLIX_TOKEN_PATH =
-# HEALTHPLIX_PATIENT_PATH =
-# HEALTHPLIX_APPOINTMENT_PATH =
-# HEALTHPLIX_DOCTOR_IDENTIFIER =
-# HEALTHPLIX_DOCTOR_EMAIL =
-# HEALTHPLIX_SERVICE_IDENTIFIER =
-# HEALTHPLIX_SERVICE_NAME =
-# Optional fallback secret used by POST /healthplix/fetch when hospital_setting has no value.
-# HEALTHPLIX_FETCH_SECRET =
-
#--------------------------------------------------------------------
# SNOMED / CSNOTK TERMINOLOGY (OPTIONAL)
#--------------------------------------------------------------------
diff --git a/public/HMS_FEATURES_PRESENTATION.html b/public/HMS_FEATURES_PRESENTATION.html
index 8c8ed85..026d56e 100644
--- a/public/HMS_FEATURES_PRESENTATION.html
+++ b/public/HMS_FEATURES_PRESENTATION.html
@@ -449,12 +449,12 @@
-
+
Admin & Settings
Admin Control Panel
-
Tile-based admin panel: Doctor Master, User & Role Management, AI Settings, HealthPlix Integration, ABDM Gateway, Hospital Profile, Insurance Master, Bank & Payment, Medical Bank, Bed Management, Hospital Stock.
+
Tile-based admin panel: Doctor Master, User & Role Management, AI Settings, ABDM Gateway, Hospital Profile, Insurance Master, Bank & Payment, Medical Bank, Bed Management, Hospital Stock.