docs: diagram flow and make iso flow
This commit is contained in:
BIN
docs/diagrams/diagram.png
Normal file
BIN
docs/diagrams/diagram.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.8 KiB |
1
docs/diagrams/diagram.svg
Normal file
1
docs/diagrams/diagram.svg
Normal file
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
32
docs/diagrams/diagram.txt
Normal 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 │ │ │ │
|
||||||
|
│<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │
|
||||||
|
│ │ │ │ │
|
||||||
|
│ │ │ │ │
|
||||||
27
docs/diagrams/make-iso-flow.puml
Normal file
27
docs/diagrams/make-iso-flow.puml
Normal 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
50
docs/flow-make-iso.md
Normal 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.
|
||||||
Reference in New Issue
Block a user