We have been testing Orthanc as a complete Pacs solution for our institution. At the moment, we have two instances of Orthanc running on a Postgres server and storing the studies in a Windows file system. We also have a replica of the database, in case the main one has a fault. We have to analyze having a replica of the File system, to have fault tolerance in all the services of the solution. This environment at the moment works correctly, taking studies of more than 40 teams of different modalities. The volume that is generated daily is quite high, without having at the moment problems to consult. But if we still have some things to analyze the way to obtain solutions.
Our file systems have a current capacity of 28TB. But eventually between 1 and 2 years, we will have it completely occupied. We could add storage and expand the volume in order to continue storing studies, but this would increase the complexity and risk of falling that volume. When analyzing that there is only one storage point in the json configuration file, we can not have studies in two different storages. In other systems, there is the possibility of adding different storages and cade studio stored in the Pacs, has an associated storage id, which allows you to go climbing in storage over time.
We thought about using Postgres, which would allow us to scale in storage, but we prefer to save the studies at the File System level. Any recommendation or comment for this point is welcome.
While one expects all studies to take patient data from a worklist, sometimes this does not happen, or even the data in the patient’s system is not correct. In this situation we need to be able to modify some data, such as patient data, Accession number, etc. Is there any method to perform this task, via Api rest, Lua script or other means? I have not found it at the moment.
-We are facing the need to be able to save the impression that is currently generated during the study, in a server pacs, and then print on demand. I know there’s nothing about Orthanc at the moment. If anyone could recommend me a way to achieve this goal, I would appreciate it. We print both on paper, and on plates (I do not know the exact translation to English).
For the rest, we are very satisfied with the solution. Today we have a Pacs server, with automatic load balancing and fault tolerance, that we can not have with a commercial solution of several thousand dollars. We are in the process of learning the concept of the Lua scripts, to continue strengthening our solution.
We are analyzing visualizers, which allow printing and recording to CD. We are analyzing commercial and / or open source solutions. I am interested in any comments and recommendations that you can give us.
Quiero felicitar al equipo que ha desarrollado y mantenido esta solución. Esperamos en un futuro poder realizar nuestro aporte a la misma.
Thanks to the Orthanc SDK, it is also be possible to create “storage area plugins” that would enable Orthanc to store its DICOM files in a distributed object store (such as Ceph): https://en.wikipedia.org/wiki/Distributed_data_store
Obviously, contributions are welcome to provide inputs about Lustre, Ceph, and other technologies.
Hi just for your information,
I made a Java app capable to send cd/DVD burning request to Epson and Primera disc producer robot.
The tool is based on orthanc.
My proposal to your storage problem is that it generates several servers with Orthanc and distributes the information load of the medical equipment among them, in this way the storage capacity needed per server is lower and it would have more security with the information. In the reading stations you can install visualization programs such as RADIANT that allow to locate the same information in all the servers in the network and that you configure in the search option, this option makes it easier to have several smaller servers instead of a large server .
About the possibility of modifying the information stored in the servers, there is a contribution of Mr. Salim Kanoun that is excellent and very effective to make changes in the information stored in the servers with Orthanc, it is called ORTHANC TOOL and I commented that it works wonderfully.
I had a problem similar to yours (although I do not have 28tb of information) and the solution was to install 2 servers with Orthanc, distributed the sending of information of the medical equipment between the 2 servers (using as criteria the type of study that each equipment does ) and on the workstations install the RADIANT viewer to search for the same information between the 2 servers. This solution worked faster than when I had a single big server.
Being smaller the servers are cheaper, more secure because they have fewer hard drives installed and I can optimize the search from the station. In a server I store tomographies and in other studies of Rx, if I need to look for a study of Rx I do not have to look for the study between the tomographies that are heavy studies with a lot of information, but if necessary I can look for the same patient in the 2 servers and bring me information of both servers.
I’m trying to avoid use a distributed file system. With this approeach, thw file System will be growing in complexity and in some years I will have several fisical volumes, all joined to a single logical disk, merging disks with 4 or 5 years ols with new ones. For that reason I think should be better to have a mark in each study ponting to a specific storage. I think this logic is part of the core of Orthanc, so I think I will be unable to make a plugging to accomplish that. Also woth Postgres I will have the same growing scenario. We are growing about 20TB of file use per year…
About the modification of the patient data. I will try using the Rest Api option. I have some examples to see how I can merge or split two patients ?
I’ve tried Radian.
It’s a very good alternative to see studies, but we need to have the option to print images and burn the stody to a CD, and we can not do that with Radiant software.
I will take a closer look to the option to have more smaller servers, working as containers of images.
But we use the web visualizer in some scenarios and I think we have the chance to see in the same viewer, studies from different Orthanc servers.
Sometimes we need to compare studies from the same patient, from different dates
We are trying also another desktop viewer, ClearCanvas Workstation. We have a chance to print and burnd studies, but I do not know if we have the chance to see studies from different servers, all together.
Thanks to take You time to give some help to me.
Regards, Diego
I’m also having issues to see tomosynthesis studies from some desktop viewers, like Efilm. With Orthanc explorer we cann see that studies, but it takes a long time to load the series. We can see without any problem in Radiant or ClearCanvas.
This plugin could distribute the files over several filesystems by implementing an extendible hashing function that takes the Orthanc-generated UUID as input: https://en.wikipedia.org/wiki/Extendible_hashing
I’m also having issues to see tomosynthesis studies from some desktop viewers, like Efilm. With Orthanc explorer we cann see that studies, but it takes a long time to load the series. We can see without any problem in Radiant or ClearCanvas.
Please share sample DICOM images (possibly anonymized), so that people can investigate this performance issue.
The clear canvas workstation allows you to visualize in the same screen a study of several server PACS if you previously configured them in the software (the software documentation says so):
“” When you have searched multiple servers, there are a couple of things to note:
I’ll check that option in ClearCanvas.
It could be a solution to my storage problems.
I will continue having this problem using the Orthanc web browser.
I think I can not, on the same screen, access studies from different servers, since it requires that the study be on the local server.
Eventually, I could request to use the ClearCanvas for a study analysis of different servers and leave the web browser, to visualize individual studies.
When I started using Orthanc I had the same thing as you, a big server and the stations checked using the web browser. As I increased the information of the medical teams, I increased the capacity of the server but the searches became slower with the web browser. At that point I implemented another server and divided the data flow of the medical equipment between the two servers, that improved the delay in the search with the web browser but it was difficult to get all the studies of the same patient, I presented the case in that a patient had information on both servers, there came to the rescue the Radiant (in his case the clear canvas).
At this moment I am considering preparing another server to store the images of the ultrasound equipment that I currently have on the same Rx server. At the end I will have installed 3 smaller servers, one with the images of the tomographs, another with the images of Rx and the new one with the images of the ultrasound equipment. As the servers are of lower capacity I can invest in SSD disks that are very fast and safe, and since I do not need as much capacity in each server, the investment is lower.
Hopefully my experience will help you with your problem, it has worked for me and most importantly, the client is happy jajajajaja.