Radiology Module: Manage imaging modalities and procedures

welcome @ulrich!

for you and other interested gsoc students I started creating tickets just for you. so please look out for gsoc-2016 issues ready for dev

Thanks @teleivo, Will definitely proceed with solving these issues once I am done with the preliminary steps you gave or can that be done in parallel ?

it can be, but I suggest you first prepare your dev setup, compile the module, deploy it, configure it and then move to solving a first issue

Ok :slightly_smiling:

Thank you for your prompt reply. I will create the requested VMs and report my results. I’ll get started on writing my proposal and share with you when it’s ready.

there all please read and post any questions about an issue concerning the dev setup here:

1 Like

Thank you very much @teleivo, I will take a look at these documents immediately.

I am new to OpenMRS - havent done any changes to OpenMRS, as such. In terms of this module, would you think its OK for me to attempt this module and work on the JIRAs please?

1 Like

Prior knowledge of or experiences with openmrs are an advantage but not a prerequisite, anybody is welcome to apply!

1 Like

please check out these two resources which I just added to the wiki

Intro video on radiology workflow and IT systems involved:

Imaging procedure catalogs and DICOM:

they give a great overview and will help you to quickly get some domain knowledge!

3 Likes

For anyone still having problems with the devops setup of the radiology module + pacs.

Please read the following:

To give you some background on what is being downloaded:

  • first vagrant downloads the ubuntu 14.04 image from vagrant cloud. but this is done only once, then it will just fetch it from your filesystem. That is should be working for you.

  • then inside the VM puppet downloads following archives, in addition to all other packages like tomcat, mysql

  • oracle jdk 7: 150MB

  • jboss: 100MB

  • dcm4chee: 30MB

  • weasis: 15MB

The thing is the archives all come from different servers, and it might be a mix of your connection not being fast enough or their servers upload.


A few important vagrant commands:

If vagrant fails just do vagrant destroy -f

this will remove the created VM and you can simply do vagrant up

to repeat the process. No need to remove the repo and clone again!

You could try vagrant up --provision

to force running the provision blocks in the vagrant file again after the timeout. Unfortunately this wont take of where it left of, since it would run both provision blocks.

I might figure out a way to change the second block into puppet provisioner instead of shell. We could then redo it using vagrant up --provision-with puppet

And also get to know vagrant https://www.vagrantup.com/docs/getting-started/


If you are having issues due to timeouts, I suggest you try the setup in 2 steps:

Make sure you run the latest https://www.vagrantup.com/downloads.html As they ironed out some bugs.

1.Bootsrap the VM and package it vagrant destroy -f

Then comment the second provision block in the Vagrantfile which runs the puppet_deploy_apply.sh

vagrant up

This will bootstrap your VM.

Now create a vagrant package and add it to your vagrant boxes (like openmrs-rad-basebox).

See steps https://github.com/teleivo/puppet-openmrs-radiologydcm4chee#how-to-speed-up-recreating-a-fresh-vm

2.Run puppet

In the Vagranftile rename config.vm.box = "ubuntu/trusty64" to your custom box you created before ("openmrs-rad-basebox" or whatever you called it)

Uncomment the second provision block in the Vagrantfile which runs the puppet_deploy_apply.sh

Comment the first provision block which runs the bootstrap.sh

vagrant up

This should at least save you the time of the bootstrapping.

Hope this helps! And if it runs without errors once, please create another box!!! To save you from going through this process again

3 Likes

@teleivo, are you on IRC? I am currently using CentOS. I am trying to setup the VMs on my system. I don’t know if you will prefer I install Ubuntu for this or I should just set up vagrant and the VMs on my current Linux system?

@ajaipreetg no I am busy with work, so I cant really chat too much :wink:

I dont really mind where you install it. I think its easiest to set it up in VMs. This way you can make a snapshot/vagrant package to recreate the environment freshly whenever you want and it does not mess with your local OS. I created this vagrant/puppet setup, so I can save others the hassle. I have only tested it using the Ubuntu box. So if you use my setup I dont think it will work with any other box, meaning if you change the box in the Vagrantfile (maybe debian will work). Your local OS does not matter with vagrant/virtualbox.

You can also of course set up everything manually.

All up to you!

Having problems, running the bootstrap.sh provision succeeded but the second part fails. It can’t access git. I have a very good connection now. This time around it turned to be worst i.e dividing the process into two.

What I realised is that running the process as a single one without dividing always hangs at the point where trying to do configurations for Tomcat, it stays there for long and sends me connection timeout message. Why should it hang here meanwhile the other configurations don’t complaint.

Error Log

http://pastebin.com/7ZNWK7DR

When I run vagrant up command over the two provisions at once it always hangs when it reaches the line

==> default: Notice: /Stage[main]/Tomcat/Group[tomcat]/ensure: created

It always stays here for long and returns with the connection timeout message

Does is it tell you something ?

your connection is most likely the problem

You can set up openMRS manually as detailed here:: https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer

The devOps makes things easier , but if you dont have the connection/ bandwidth to support it then manual setup is best

@ulrich I am sorry it does not ring a bell.

If you are stuck again at this point you can vagrant ssh cd /vagrant/etc/puppet/environments/master/ puppet apply manifests/site.pp --hiera_config hiera.yaml --modulepath site:modules

puppet continues where it left of, so it should be possible to resume. It can however be that an archive was not downloaded completely and in this case you have to find out which one, where it is and delete it. Because incomplete zip files, tar.gz files cannot be resumed to download.

Give the above commands a try.

And yes you can talk to @kwurst if you’d like. @kwurst do you have a suggestion that might help @ulrich out installing the VM? Unfortunately he is running into timeouts, although we disabled them.

dear @ulrich,

another thing which I just tried is download dcm4chee and jboss manually and make sure they are in

vagrant@pacs:/vagrant$ sudo ls -lh /opt/staging/dcm4chee total 125M -rw-r–r-- 1 root root 30M Mar 7 17:41 dcm4chee-2.18.1-psql.zip -rw-r–r-- 1 root root 95M Mar 7 18:05 jboss-4.2.3.GA.zip

puppet then just skips the download and extracts them right away.

Tomcat is downloaded via the package manager apt, not much we can do there.

Hope this helps!!

2 Likes

Thanks for the suggestions, will try them out and revert with the observations.

Hey @teleivo

I am Akash Singhal, a final year dual degree (B.Tech + M.Tech) student from IIT Bombay. I participated in GSoC 2015 with ASCEND, where I developed Chemical Engineering Domain specific modules. Coming from a medical family background and having fascination for technology, I have been highly inclined towards Healthcare Technologies. I had also developed my own SaaS based ‘Lab Management Software’ CerebrumLMS (Demo Credentials:- LabID: wchc, Username: demo, Password: demo123) for my Startup (YourStory Coverage). Here we integrated electronic health records from marketplace to LMS.

This year, I want to work with OpenMRS in GSOC '16. Though most of the listed projects are quite interesting but I like ‘Radiology Module: Manage imaging modalities and procedures’. I watched the video on ‘Radiology Workflow’ and could pretty much relate to the time we developed the whole Lab Information System and eHR integration. Meanwhile, I am following the steps to get started. Please tell me I am not too late to start the discussion for application.

2 Likes