# 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.