# huongni2201/ngoc_khanh_clinic_dx_springboot architecture

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

- Interactive diagram: https://gitdiagram.com/huongni2201/ngoc_khanh_clinic_dx_springboot
- Repository: https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot

## Overview

This is a clinic-management application with a substantial health-examination domain. The tree indicates capabilities spanning patient and encounter care, clinical orders, diagnostics, documents, billing, identity, notifications, and integrations. The sampled source confirms health-examination participant persistence and domain rules, but does not show HTTP entry points or the wider workflow orchestration; those connections are therefore left out. Other capability nodes reflect the repository’s domain directories and persistence records, not inspected runtime wiring.

Main entry points: [`src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence`](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence) (Health-check persistence), [`src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence/mapper/HealthExaminationParticipantMyBatisMapper.java`](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/blob/main/src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence/mapper/HealthExaminationParticipantMyBatisMapper.java) (Participant mapper), [`src/main/java/com/ngockhanh/clinic/healthcheck/domain/repository`](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/domain/repository) (Health-check repositories)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_health["Health examinations"]
  node_org_usecase["Create organization"]
  node_health_domain["Organizations, batches, participants"]
  node_health_services["Batch service assignments"]
  node_health_repository["Health-check repositories"]
  node_health_persistence["Health-check persistence"]
  node_health_mapper["Participant mapper"]
end

subgraph group_care["Clinical care"]
  node_patients[("Patient records")]
  node_encounters[("Appointments and encounters")]
  node_clinical[("Service orders")]
  node_diagnostics[("Lab and imaging results")]
  node_prescriptions[("Prescriptions")]
end

subgraph group_operations["Clinic operations"]
  node_catalog[("Services and departments")]
  node_documents[("Generated documents")]
  node_billing[("Invoices and payments")]
end

subgraph group_platform["Shared platform"]
  node_identity[("Users and permissions")]
  node_integration[("Integration messages")]
  node_notifications[("Notifications")]
  node_api_errors["API error handling"]
end

node_user(("Clinic user"))
node_clinic_db[("Clinic database")]

node_health_repository -->|"implemented by"| node_health_persistence
node_health_persistence -->|"calls"| node_health_mapper
node_health_mapper -->|"queries and updates"| node_clinic_db

click node_org_usecase "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/blob/main/src/main/java/com/ngockhanh/clinic/healthcheck/application/usecase/CreateOrganizationUseCase.java"
click node_health_domain "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/domain/aggregate"
click node_health_services "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/domain/entity"
click node_health_repository "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/domain/repository"
click node_health_persistence "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence"
click node_health_mapper "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/blob/main/src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence/mapper/HealthExaminationParticipantMyBatisMapper.java"
click node_patients "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/patient/infrastructure/persistence/record"
click node_encounters "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/encounter/infrastructure/persistence/record"
click node_clinical "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/clinical/infrastructure/persistence/record"
click node_diagnostics "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/diagnostics/infrastructure/persistence/record"
click node_prescriptions "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/prescription/infrastructure/persistence/record"
click node_catalog "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/catalog/infrastructure/persistence/record"
click node_documents "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/document/infrastructure/persistence/record"
click node_billing "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/billing/infrastructure/persistence/record"
click node_identity "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/identity/infrastructure/persistence/record"
click node_integration "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/integration/infrastructure/persistence/record"
click node_notifications "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/notification/infrastructure/persistence/record"
click node_api_errors "https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/blob/main/src/main/java/com/ngockhanh/clinic/shared/web/GlobalExceptionHandler.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_org_usecase,node_health_domain,node_health_services,node_health_repository,node_health_persistence,node_health_mapper,node_user toneBlue
class node_patients,node_encounters,node_clinical,node_diagnostics,node_prescriptions,node_clinic_db toneAmber
class node_catalog,node_documents,node_billing toneMint
class node_identity,node_integration,node_notifications,node_api_errors toneRose
```

## Components

### Health examinations

- [Create organization](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/blob/main/src/main/java/com/ngockhanh/clinic/healthcheck/application/usecase/CreateOrganizationUseCase.java): `src/main/java/com/ngockhanh/clinic/healthcheck/application/usecase/CreateOrganizationUseCase.java`
- [Organizations, batches, participants](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/domain/aggregate): `src/main/java/com/ngockhanh/clinic/healthcheck/domain/aggregate`
- [Batch service assignments](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/domain/entity): `src/main/java/com/ngockhanh/clinic/healthcheck/domain/entity`
- [Health-check repositories](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/domain/repository): `src/main/java/com/ngockhanh/clinic/healthcheck/domain/repository`
- [Health-check persistence](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence): `src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence`
- [Participant mapper](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/blob/main/src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence/mapper/HealthExaminationParticipantMyBatisMapper.java): `src/main/java/com/ngockhanh/clinic/healthcheck/infrastructure/persistence/mapper/HealthExaminationParticipantMyBatisMapper.java`

### Clinical care

- [Patient records](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/patient/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/patient/infrastructure/persistence/record`
- [Appointments and encounters](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/encounter/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/encounter/infrastructure/persistence/record`
- [Service orders](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/clinical/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/clinical/infrastructure/persistence/record`
- [Lab and imaging results](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/diagnostics/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/diagnostics/infrastructure/persistence/record`
- [Prescriptions](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/prescription/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/prescription/infrastructure/persistence/record`

### Clinic operations

- [Services and departments](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/catalog/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/catalog/infrastructure/persistence/record`
- [Generated documents](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/document/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/document/infrastructure/persistence/record`
- [Invoices and payments](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/billing/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/billing/infrastructure/persistence/record`

### Shared platform

- [Users and permissions](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/identity/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/identity/infrastructure/persistence/record`
- [Integration messages](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/integration/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/integration/infrastructure/persistence/record`
- [Notifications](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/tree/main/src/main/java/com/ngockhanh/clinic/notification/infrastructure/persistence/record): `src/main/java/com/ngockhanh/clinic/notification/infrastructure/persistence/record`
- [API error handling](https://github.com/huongni2201/ngoc_khanh_clinic_dx_springboot/blob/main/src/main/java/com/ngockhanh/clinic/shared/web/GlobalExceptionHandler.java): `src/main/java/com/ngockhanh/clinic/shared/web/GlobalExceptionHandler.java`

### Other components

- **Clinic user**
- **Clinic database**

## Connections

- Health-check repositories → Health-check persistence: implemented by
- Health-check persistence → Participant mapper: calls
- Participant mapper → Clinic database: queries and updates
