Bahmni on MacOSX, Parallels, Orthanc and OSIRIX

I posted previously about using Mac OS X. I am not sure, but perhaps there is a way to build from RPM’s on Mac OS X. Last I checked, I don’t think so, although there are some rpm tools available with Home Brew.

If that isn’t possible, isn’t there a Virtual Machine running Cent OS that could be used with Parallels, rather than using Virtual Box, Vagrant and the Virtual Machine that you download with .git ? It would be easier to just download a self-contained virtual machine to be used with Parallels.

I have a number of other questions. DCM4CHEE is apparently the PACS bundled with the system. Is it possible to use something like Orthanc. It is a cross platform PACS that is being developed, is open source and relatively nice.

For viewers, I’ve never tried Oviyam, but will try to install, particularly if it can be used with Orthanc or other PACS systems. Other viewers that I like are OSIRIX MD for Mac OS X and ORS Visual Viewer (Lite and Pro), both of which are FDA approved, like Oviyam.

Regarding Bahmni and radiology modules. Is that part of the package ? Are there order entry modules for radiology, reports modules, etc.

Does anyone know how to install Oviyam separate from DCM4CHEE and to configure to use a different PACS, like Orthanc.

I am involved with setting up a radiology consultation service and telerad service and just exploring other tools that we could use in the future.

Thank you.

Hello @sscotti,

Most folks from the Bahmni Dev team work on a Mac OS X. To do that, we run Bahmni on Vagrant (CentOS Virtual Box) on the Mac. You can follow the steps mentioned here to setup Bahmni on your machine here:

We haven’t tried Parallels, and I don’t know of any way to make RPMs run on Mac. Some parts of Bahmni, run on Java… like the OpenMRS backend / MYSQL, which can of course also run natively on Mac, since all you need is JDK/JVM on your Mac for that.

Overall for setting up Bahmni for Development / Coding, you can refer to this document:

I am unsure of Orthanc / others. Haven’t done any work in this space. Is it also an open source option? To see how Bahmni integrates / works with PACS/DCM4CHEE, this is a good article (besides the wiki documentation):

If you can help us understand Orthanc better, and try it out with Bahmni, would be good!

Hopefully someone else from the OpenMRS / Bahmni community can share their experience on alternative DICOM viewers.

Hi @sscotti, As @gsluthra pointed out, we use virtual box on mac machines. Looks like parallels is not freely available. Having said that, you can build a vagrant box with parallels provider. I’ll try to outline the process. You can let us know if that works

we build bahmni vagrant box using a tool called packer. The source code for building the box is available here. It is possible to build a box for parallels using packer. The documentation for that is available here. The virtual box builder that we use for building the image might give some clues on how you can configure something for parallels. Hope this helps.

Thank you for the reply. I’ll try to go ahead and create an virtual machine for Parallels. It is commercial, but I have a copy for my Mac.

Regarding Orthanc, it is open source, see: Orthanc, and they have some commercial partners, Partner. I’ve installed and it is pretty nice and cross platform, I believe. I built for OS X and it worked like a charm. It builds an Xcode project. It is well documented with a REST API and future development.

I have another question. I’ve tried to install Oviyam 2.x on my Mac and have it communicate with OSIRIX. I am pretty close, but I’m having some issues with transferring images, I think related to the imagio libraries. Any help with getting Oviyam up and running in a Tomcat instance on a Mac ? I just wanted to see what it is like. I am working on what I have. I deployed what is in the most recent .bin, which includes DCM4CHEE .jars, but I had to make some modifications, one of which changing the “tags” folder to “tids” in the /WEB-INF folder and making corresponding changes in the references to that folder. Also had to edit the roles and passwords to get access to Oviyam. I think that the only remaining problem is the imageio libraries. I think these are the culprits in the imagio.jar

1.2.840.10008.1.2.5=rle,org.dcm4che2.imageioimpl.plugins.rle.RLEImageReader 1.2.840.10008.1.2.5.typeSpecifier=true 1.2.840.10008.1.2.4.50=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader,0,RGB 1.2.840.10008.1.2.4.51=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader,0,RGB 1.2.840.10008.1.2.4.57=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader,0 1.2.840.10008.1.2.4.70=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader,0 1.2.840.10008.1.2.4.80=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader,0 1.2.840.10008.1.2.4.81=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader,0 1.2.840.10008.1.2.4.90=jpeg2000,com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReaderCodecLib,0,RGB 1.2.840.10008.1.2.4.91=jpeg2000,com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReaderCodecLib,0,RGB

This does NOT work for decoding images, but is good enough for reading the byte stream.

1.2.840.10008.1.2.4.100=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader,0

and:

JPEG Baseline (Process 1) 8 bit lossy

1.2.840.10008.1.2.4.50=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter

JPEG Extended (Process 2 & 4) 12 bit

1.2.840.10008.1.2.4.51=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter

JPEG Lossless, Non-Hierarchical (Process 14)

1.2.840.10008.1.2.4.57=jpeg-lossless,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter 1.2.840.10008.1.2.4.57.type=JPEG-LOSSLESS

JPEG Lossless, Non-hierarchical, first order prediction (Process 14, selection 1)

1.2.840.10008.1.2.4.70=jpeg-lossless,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter 1.2.840.10008.1.2.4.70.type=JPEG-LOSSLESS

JPEG-LS Lossless

1.2.840.10008.1.2.4.80=jpeg-ls,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter 1.2.840.10008.1.2.4.80.type=JPEG-LS

JPEG-LS Lossy

1.2.840.10008.1.2.4.81=jpeg,com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter 1.2.840.10008.1.2.4.81.type=JPEG-LS

JPEG 2000 Lossless

1.2.840.10008.1.2.4.90=jpeg2000,com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageWriterCodecLib

JPEG 2000 Lossy

1.2.840.10008.1.2.4.91=jpeg2000,com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageWriterCodecLib

You may need to post this on Oviyam forum. I see some discussion there already on Oviyam and OSIRIX https://groups.google.com/forum/#!searchin/dcm4che/OSIRIX

Maybe someone else has better ideas? I don’t know much.

Some interesting links to read on dcm4chee and orthanc:

https://groups.google.com/forum/#!topic/orthanc-users/rSSbfLMdk-U

http://idoimaging.com/blog/?p=288

dcm4chee seems to be very popular in the open source world, and its been around for some time.

If you can help document/spike Bahmni with Orthanc, and share your experience, that would be wonderful.

That is fine. I am just looking for options. The OHIF viewer is actually much nicer. Will look into that.

/sds

Well, still investigating. Orthanc I think is still under development. When installed on a fairly high end Mac it seems a little slow, and the database tools are not fully developed. By default it using SQLite, which for small scale operation is probably OK, but it isn’t a very robust database and subject to errors. They have a PostgreSQL plugin which is better. I’d like to see a MySQL plugin and faster performance in terms of transfer. The interface is relatively intuitive and simple.

I don’t know if they have an admin backend, which if they don’t is a problem. Most of the configuration that I’ve seen has to be done by editing configuration files. It is really well documented, with extensive REST API’s, and it built on Mac OS X without a problem. Maybe it runs better on a high end Windows machine.

I haven’t looked into the later releases of DCM4CHEE, the arc-lite versions, which is up to 5.5 something. Haven’t tried to build that yet, if ever. I’m working with some other rads on a telerad / consultation project. We are using a Cloud PACS. Still in early development stages of that. I’m semi-retired and have an interest in all of this stuff, so I am anxious to check out Bahnmi out of curiosity. It would be overkill, but if it could be integrated with our system to maintain radiology orders for interpretation, report generation, storage and distribution that would be great. Is there an API document somewhere if we were interested in doing that ? I can set up a Cent OS virtual machine and try it out locally.

Thanks.

@gsluthra, @sscotti, In the initial days while working on the PACS integration feature we had spiked using Orthanc. There is also a wiki here https://bahmni.atlassian.net/wiki/pages/viewpage.action?pageId=22380630. But as i learn from other colleagues, we had run into some integration issues with Oviyam2. Later on we learnt about dcm4chee and found it good and reliable, also easy to integrate with Oviyam2. So we started using it and have been successfully using that combination at a couple of implementations.

To answer some of the other questions

DCM4CHEE too is cross platform (based on java) open source and nice. Theoretically it should be possible to integrate with Orthanc as well. Bahmni through pacs-integration provides ability to configure any other PACS/modality to send ORM messages to. And you can configure bahmni web to link to any dicom viewer. in this case it could be oviyam2 fetching images from orthanc. As far as i remember osirix was specific to Apple and so might not be our preferred choice to bundle and support as lot of our implementations are in resource constrained settings where people might not have Apple devices. Also not sure if OSIRIX can be opened up via link from patient dashboard.
But it would always be good to have Bahmni integrate with other nice PACS / dicom viewers available around that people prefer to use for one or the other reason. So as Gurpreet suggested it would be great if you can help document/spike Bahmni with any of them and share your experience.

No there aren’t any separate order entry or report modules that come packaged with bahmni, if you are looking for some kind of a UI. There is one pacs-integration module part of bahmni that has atom feed reader running which reads feeds from bahmni openmrs for radiology orders and converts into ORM messages. There is an openmrs radiology module that was being worked upon (not by bahmni team). You can have a look at that as well. That probably has some UI and reporting stuff. We would be happy if you would like to spike integrating that with Bahmni as well.

1 Like

Hi @sscotti , In the initial spike that we did for getting the ability to view DICOM images in Bahmni Product we have tried Orthanc as well. When we tested Orthanc integration with one of our clients 3rd party software i.e ImageSuite, the X-Rays were synched to Orthanc server but they were not rendered properly. Thats when we stopped spiking around Orthanc and looked for other OpenSource DICOM web Viewers like Oviyam2. When Oviyam2 wasn’t able to retrieve X-Rays then we had to introduce DMC4CHEE as both are very well compatible(Both from same Organization).
All this is one phase when we worked with client with a Full fledged Sofrtware(Modality, PACS, WorkList server). The workflow looked as below.

  1. Order Xray - > Creates HL7 Order Message with order number as accession number (pacs-integration module of Bhamni) and sends it to ImageSuite(Which has worklist server)
  2. DCM4CHEE is configured at Imagesuite to get X-Rays automatically.
  3. View images using Oviyam2 (DICOM view URL made of Order Number) which in turn talks to DCM4CHEE.

The next phase is when we to integrate our Bahmni Product with a Vendor software without WorkList server at JSS. Then we started using the DCM4CHEE Worklist feature as well. The workflow now looked like

  1. Order Xray - > Creates HL7 Order Message with order number as accession number (pacs-integration module of Bhamni) and sends it to DCM4CHEE Worklist server
  2. The vendor software pulls the worklist from DCM4CHEE
  3. DCM4CHEE is configured at Vedor Software to get X-Rays automatically.
  4. View images using Oviyam2 (DICOM view URL made of Order Number) which in turn talks to DCM4CHEE.

We can separate Oviyam2 from DCM4CHEE but this option right now is not available in Bahmni installation package. We can manually do it.