docs: diagram flow and make iso flow

This commit is contained in:
2026-06-05 14:16:57 +07:00
parent 38926ef4da
commit 644fda784a
5 changed files with 110 additions and 0 deletions

BIN
docs/diagrams/diagram.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.2 KiB

32
docs/diagrams/diagram.txt Normal file
View File

@@ -0,0 +1,32 @@
┌─┐
║"│
└┬┘
┌┼┐
│ ┌────────────────┐ ┌─────────────┐ ┌───────────┐ ┌───────────┐
┌┴┐ │HISv3 Verifikasi│ │DICOM ISO API│ │PACS Server│ │ISO Builder│
User └────────┬───────┘ └──────┬──────┘ └─────┬─────┘ └─────┬─────┘
│ Click "Make ISO" │ │ │ │
│──────────────────────>│ │ │ │
│ │ │ │ │
│ │Request ISO by accession number │ │ │
│ │───────────────────────────────>│ │ │
│ │ │ │ │
│ │ │Find and retrieve DICOM study │ │
│ │ │─────────────────────────────>│ │
│ │ │ │ │
│ │ │ Return DICOM files │ │
│ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │
│ │ │ │ │
│ │ │ Build ISO from DICOM files │
│ │ │────────────────────────────────────────────────────>│
│ │ │ │ │
│ │ │ ISO file ready │
│ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │
│ │ │ │ │
│ │ Return ISO download │ │ │
│ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ │
│ │ │ │ │
│User receives ISO file │ │ │ │
│<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │
│ │ │ │ │
│ │ │ │ │

View File

@@ -0,0 +1,27 @@
@startuml
hide footbox
skinparam shadowing false
skinparam sequenceMessageAlign center
skinparam responseMessageBelowArrow true
skinparam ArrowColor #444444
skinparam ParticipantBorderColor #666666
skinparam ParticipantBackgroundColor #F8F8F8
skinparam ActorBorderColor #666666
skinparam ActorBackgroundColor #F8F8F8
actor User
participant "HISv3 Verifikasi" as HIS
participant "DICOM ISO API" as API
participant "PACS Server" as PACS
participant "ISO Builder" as ISO
User -> HIS: Click "Make ISO"
HIS -> API: Request ISO by accession number
API -> PACS: Find and retrieve DICOM study
PACS --> API: Return DICOM files
API -> ISO: Build ISO from DICOM files
ISO --> API: ISO file ready
API --> HIS: Return ISO download
HIS --> User: User receives ISO file
@enduml

50
docs/flow-make-iso.md Normal file
View File

@@ -0,0 +1,50 @@
# Make ISO flow
This is the main flow when a user creates an ISO from HISv3.
The diagram below follows the current Go service in this repo. In short, HISv3 asks the DICOM ISO service for one study, the service takes the study from PACS, builds an ISO file, then returns that file back for download.
## Diagram
```plantuml
@startuml
hide footbox
skinparam shadowing false
skinparam sequenceMessageAlign center
skinparam responseMessageBelowArrow true
skinparam ArrowColor #444444
skinparam ParticipantBorderColor #666666
skinparam ParticipantBackgroundColor #F8F8F8
skinparam ActorBorderColor #666666
skinparam ActorBackgroundColor #F8F8F8
actor User
participant "HISv3 Verifikasi" as HIS
participant "DICOM ISO API" as API
participant "PACS Server" as PACS
participant "ISO Builder" as ISO
User -> HIS: Click "Make ISO"
HIS -> API: Request ISO by accession number
API -> PACS: Find and retrieve DICOM study
PACS --> API: Return DICOM files
API -> ISO: Build ISO from DICOM files
ISO --> API: ISO file ready
API --> HIS: Return ISO download
HIS --> User: User receives ISO file
@enduml
```
## Brief explanation
When the user clicks **Make ISO** in HISv3, HISv3 sends a request to the DICOM ISO service.
The DICOM ISO service then asks PACS for the study data that matches the accession number. After the study files are received, the service prepares them into one ISO file.
When the ISO file is ready, the service sends it back as a download response. From the user side, the process stays simple: click **Make ISO**, wait a moment, then download the ISO file.
## Note
This is the basic user-facing flow.
It leaves out lower-level details so the diagram stays easy to read.