Do not use it in a mission critical environment.
Orthanc assumes that the patient id is unique to a single patient across all interactions. Imagine a situation where the patient id in dicom is being recycled or duplicated. For instance, 2 hospitals each use an internal id generator and there is a collision. In this case, the first patient assigned an id is assigned the record regardless of if they are in fact the correct patient. We actually have a pregnant man because of this.
Secondly, Orthanc uses SQLite for it's DB, this decision was a HUGE mistake. SQLite uses a single index file and no server front end. It cannot be accessed by multiple instances safely.
If you are somehow able to share the directory, e.g. NFS, Samba, or s3fs, that file will eventually become corrupt. SQLite is not designed for multiprocess concurrency.
Also it is a file sitting on the same filesystem as the rest of the dicom data.
If this file becomes corrupted or damaged you have now lost all information on all images and must re-import the entire image set. That might work for a single instance sitting in a small clinic. However we generate 50GB DAILY in images, terabytes of data being reimported is not realistic at all. Having Orthanc crawl the DICOM dir when it can't open it's SQLite index, would probably be a much better idea.
Finally, user access controls are a joke.
I have no idea what use case the creator was imagining, but having each and every user in the same config file as the rest of the system is just bad design. A better solution would have been an LDAP connector for that stuff, or failing that a DB based solution.
Orthanc is nice, it has a slick ui and great licensing terms. I wanted this to work and we invested 400+ man hours in our setup (mostly importing extant data and trying to normalize it), only to find that there is no way to make this scale beyond a single instance.
It's odd because a couple of early design decisions from the original devs like SQLite instead of MySQL or PostGres (ODBC would have been best IMHO) and making all admin settings including user accounts something managed in config files is really what breaks this. We are looking at the possibility of ripping out SQLite and using ODBC instead and LDAP for user auth.
However this looks like a pretty fundamental change and it may be better to simply start over.
The office is much smaller than what you are dealing with. I am a bit concerned though regarding the SQL talk and reliability so I wanted to post this to see if I would be ok running Orthanc vanilla install.
The office has around 15 employees. It has one Siemens Acuson Sequoia device. I have a dedicated raid 5 server that would run Orthanc. They use the machine for about 5 patients a day. I was planning on running a nightly service to stop Orthanc, backup data directory and index files, and then restart Orthanc for backup purposes. I was going to use the standard remote web browser interface for them to login to the server. No more than 5 people at a time.
I am guessing this is more than adequate for my uses with this office? Or should I be making some changes from the standard install or adding plugins? I am very IT savvy, however this is my first dip into DICOM so I want to make sure I am not setting this up only to have a "gotcha" bit me in the a__ a couple months down the line. Thanks in advance for any advice.