# mas-elkhanza/simrs-khanza architecture

> Architecture diagram of the GitHub repository mas-elkhanza/simrs-khanza, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mas-elkhanza/simrs-khanza
- Repository: https://github.com/mas-elkhanza/simrs-khanza

## Overview

SIMRS Khanza is a collection of hospital and clinic applications, including patient self-service, queue displays, administrative tools, and external health-service integrations. A representative patient workflow is choosing a clinic and doctor, registering, selecting payment, and printing a ticket; the tree identifies these stages in the kiosk dialogs, but the excerpts do not establish their call sequence. The graph also captures the named service integrations and the explicitly visible SMS intake and persistence behavior. Most application wiring is not shown in the sampled source.

Main entry points: [`src/smsservice/SMSReadService.java`](https://github.com/mas-elkhanza/simrs-khanza/blob/master/src/smsservice/SMSReadService.java) (SMS intake), [`KhanzaHMSAnjungan/src/khanzahmsanjungan/frmUtama.java`](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/frmUtama.java) (Registration kiosk)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_patient["Patient access"]
  node_kiosk["Registration kiosk<br/>[frmUtama.java]"]
  node_registration["Patient registration<br/>[DlgRegistrasi.java]"]
  node_clinic["Clinic selection<br/>[DlgPilihPoli.java]"]
  node_doctor["Doctor selection"]
  node_payment["Payment selection<br/>[DlgPilihBayar.java]"]
  node_ticket["Registration print<br/>[DlgCetak.java]"]
  node_verify["Auto verification<br/>[frmUtama.java]"]
  node_resume["Medical summaries<br/>[frmUtama.java]"]
end

subgraph group_queues["Queue operations"]
  node_pharmacy["Pharmacy queue<br/>[DlgAntrian.java]"]
  node_counter["Counter queue<br/>[DlgAntrian.java]"]
  node_counter2["Counter queue 2<br/>[DlgAntrian.java]"]
  node_clinicqueue["Clinic queue<br/>[DlgAntrian.java]"]
  node_queueprint["Queue ticketing<br/>[frmUtama.java]"]
end

subgraph group_services["External services"]
  node_aplicare["Aplicare service"]
  node_mobilejkn["Mobile JKN service<br/>[ApiMobileJKN.java]"]
  node_pcare["PCare service<br/>[ApiPcare.java]"]
  node_sirs["SIRS Yankes service<br/>[SirsApi.java]"]
  node_spdgt["SPDGT service<br/>[SPDGTApi.java]"]
  node_satusehat["SatuSehat service<br/>[ApiSatuSehat.java]"]
  node_mandiri["Mandiri service<br/>[frmUtama.java]"]
end

subgraph group_shared["Shared utilities"]
  node_sms["SMS intake"]
  node_smsstore[("Message database")]
  node_dbconfig["Database connection<br/>[koneksiDB.java]"]
  node_encryption["Text encryption<br/>[frmUtana.java]"]
  node_updater["Software updater<br/>[Updater.java]"]
end

node_patient(("Patient"))

node_patient -->|"uses"| node_kiosk
node_sms -->|"writes messages"| node_smsstore

click node_kiosk "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/frmUtama.java"
click node_registration "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgRegistrasi.java"
click node_clinic "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihPoli.java"
click node_doctor "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihDokter.java"
click node_payment "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihBayar.java"
click node_ticket "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgCetak.java"
click node_pharmacy "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianApotek/src/khanzaantrianapotek/DlgAntrian.java"
click node_counter "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianLoket/src/khanzaantrianloket/DlgAntrian.java"
click node_counter2 "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianLoket2/src/khanzaantrianloket2/DlgAntrian.java"
click node_clinicqueue "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianPoli/src/khanzaantrianpoli/DlgAntrian.java"
click node_queueprint "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaCetakAntrianLoket/src/khanzacetakantrianloket/frmUtama.java"
click node_verify "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAutoVerify/src/khanzahmsautoverify/frmUtama.java"
click node_resume "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSResume/src/khanzahmsresume/frmUtama.java"
click node_aplicare "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceAplicare/src/fungsi/BPJSApiAplicare.java"
click node_mobilejkn "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceMobileJKN/src/fungsi/ApiMobileJKN.java"
click node_pcare "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServicePCare/src/fungsi/ApiPcare.java"
click node_sirs "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceSIRSYankes/src/fungsi/SirsApi.java"
click node_spdgt "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceSPDGT/src/fungsi/SPDGTApi.java"
click node_satusehat "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceSatuSehat/src/fungsi/ApiSatuSehat.java"
click node_mandiri "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceMandiri/src/khanzahmsservicemandiri/frmUtama.java"
click node_sms "https://github.com/mas-elkhanza/simrs-khanza/blob/master/src/smsservice/SMSReadService.java"
click node_dbconfig "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/fungsi/koneksiDB.java"
click node_encryption "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaPengenkripsiTeks/src/khanzapengenkripsiteks/frmUtana.java"
click node_updater "https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaUpdater/src/update/Updater.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_kiosk,node_registration,node_clinic,node_doctor,node_payment,node_ticket,node_verify,node_resume toneBlue
class node_pharmacy,node_counter,node_counter2,node_clinicqueue,node_queueprint toneAmber
class node_aplicare,node_mobilejkn,node_pcare,node_sirs,node_spdgt,node_satusehat,node_mandiri toneMint
class node_sms,node_smsstore,node_dbconfig,node_encryption,node_updater toneRose
class node_patient toneIndigo
```

## Components

### Patient access

- [Registration kiosk](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/frmUtama.java): `KhanzaHMSAnjungan/src/khanzahmsanjungan/frmUtama.java`
- [Patient registration](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgRegistrasi.java): `KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgRegistrasi.java`
- [Clinic selection](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihPoli.java): `KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihPoli.java`
- [Doctor selection](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihDokter.java): `KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihDokter.java`
- [Payment selection](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihBayar.java): `KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgPilihBayar.java`
- [Registration print](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgCetak.java): `KhanzaHMSAnjungan/src/khanzahmsanjungan/DlgCetak.java`
- [Auto verification](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAutoVerify/src/khanzahmsautoverify/frmUtama.java): `KhanzaHMSAutoVerify/src/khanzahmsautoverify/frmUtama.java`
- [Medical summaries](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSResume/src/khanzahmsresume/frmUtama.java): `KhanzaHMSResume/src/khanzahmsresume/frmUtama.java`

### Queue operations

- [Pharmacy queue](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianApotek/src/khanzaantrianapotek/DlgAntrian.java): `KhanzaAntrianApotek/src/khanzaantrianapotek/DlgAntrian.java`
- [Counter queue](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianLoket/src/khanzaantrianloket/DlgAntrian.java): `KhanzaAntrianLoket/src/khanzaantrianloket/DlgAntrian.java`
- [Counter queue 2](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianLoket2/src/khanzaantrianloket2/DlgAntrian.java): `KhanzaAntrianLoket2/src/khanzaantrianloket2/DlgAntrian.java`
- [Clinic queue](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaAntrianPoli/src/khanzaantrianpoli/DlgAntrian.java): `KhanzaAntrianPoli/src/khanzaantrianpoli/DlgAntrian.java`
- [Queue ticketing](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaCetakAntrianLoket/src/khanzacetakantrianloket/frmUtama.java): `KhanzaCetakAntrianLoket/src/khanzacetakantrianloket/frmUtama.java`

### External services

- [Aplicare service](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceAplicare/src/fungsi/BPJSApiAplicare.java): `KhanzaHMSServiceAplicare/src/fungsi/BPJSApiAplicare.java`
- [Mobile JKN service](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceMobileJKN/src/fungsi/ApiMobileJKN.java): `KhanzaHMSServiceMobileJKN/src/fungsi/ApiMobileJKN.java`
- [PCare service](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServicePCare/src/fungsi/ApiPcare.java): `KhanzaHMSServicePCare/src/fungsi/ApiPcare.java`
- [SIRS Yankes service](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceSIRSYankes/src/fungsi/SirsApi.java): `KhanzaHMSServiceSIRSYankes/src/fungsi/SirsApi.java`
- [SPDGT service](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceSPDGT/src/fungsi/SPDGTApi.java): `KhanzaHMSServiceSPDGT/src/fungsi/SPDGTApi.java`
- [SatuSehat service](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceSatuSehat/src/fungsi/ApiSatuSehat.java): `KhanzaHMSServiceSatuSehat/src/fungsi/ApiSatuSehat.java`
- [Mandiri service](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSServiceMandiri/src/khanzahmsservicemandiri/frmUtama.java): `KhanzaHMSServiceMandiri/src/khanzahmsservicemandiri/frmUtama.java`

### Shared utilities

- [SMS intake](https://github.com/mas-elkhanza/simrs-khanza/blob/master/src/smsservice/SMSReadService.java): `src/smsservice/SMSReadService.java`
- **Message database**
- [Database connection](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaHMSAnjungan/src/fungsi/koneksiDB.java): `KhanzaHMSAnjungan/src/fungsi/koneksiDB.java`
- [Text encryption](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaPengenkripsiTeks/src/khanzapengenkripsiteks/frmUtana.java): `KhanzaPengenkripsiTeks/src/khanzapengenkripsiteks/frmUtana.java`
- [Software updater](https://github.com/mas-elkhanza/simrs-khanza/blob/master/KhanzaUpdater/src/update/Updater.java): `KhanzaUpdater/src/update/Updater.java`

### Other components

- **Patient**

## Connections

- Patient → Registration kiosk: uses
- SMS intake → Message database: writes messages
