PHCIS Microservices (Go)
กำลังพัฒนาGo microservices for PHCIS — SSO, core API, inventory, and consent management with GitOps deployment on Kubernetes via ArgoCD and Thai national ID integration
role: Backend Developer
GoPostgreSQLKubernetesArgoCDDockerGitHub ActionsBunElysiaJSMongoDB
Overview
Backend microservices for PHCIS (Primary Care Unit Health Information System), written entirely in Go and deployed via ArgoCD GitOps workflow on Kubernetes.
Each service owns its domain and communicates through internal APIs, allowing independent scaling and maintenance.
Services
| Service | Language | Details |
|---|---|---|
phcis_main | Go | Core PHCIS API — OPD, EMR, Pharmacy, Lab, Finance |
phcis_sso | Go | Single Sign-On — SAML, ThaiID, Google, LINE |
phcis_inventory | Go | Drug and medical supply management |
phcis_consent | Go | Consent / PDPA management |
mylablink | Go | HL7/LIS lab integration — lab results exchange between systems |
myinventory | Go | Medical equipment inventory |
Thai National ID Authentication
thai-id-service-callback-bun-elysiajs-mongodb — identity verification via Thai national ID card, handling callbacks from the National Digital ID (NDID) platform.
Stack: Bun + ElysiaJS + MongoDB
Infrastructure
Container: Docker
Registry: registry.mih.co.th (self-hosted)
Orchestration: Kubernetes
GitOps: ArgoCD (hcis-gitops repo)
├── argocd/ — ArgoCD Application definitions
└── k8s/ — Kubernetes manifests
CI/CD: GitHub Actions
Database: PostgreSQL
Source code is a private repository within the multi-innovations-healthcare organization.