I am currently not a student but rather, I’m in the work industry - as a Programmer.
Just wanted to check if I can still go ahead and work with this Radiology module - just started setting up the Virtual Box and Vagrant now… will it not interfere with my core Operating System? Just curious.
Let me know please.
Anyone can work on any openmrs project. You are not eligible for GSOC though. We cannot give assurances of your core operating system but it should not
Hi @teleivo, @judy,
I’m trying to get started…
Please let me know where do I run the following :–
git clone https://github.com/teleivo/puppet-openmrs-radiologydcm4chee.git
Does the above need to be executed on Vagrant? If yes, where do I find the file to execute this please? I found a file called msys.bat and tried executing there, but it says it cannot find the command “Git”
P.S. I also tried to do it on Vagrant.exe, but when I try launching this, it dies off after like 3 seconds. ( So I cannot get to the shell )
You need to install virtualbox and vagrant as described in the readme. The run vagrant up in the puppet-openmrs-radiologydcm4che directory
On CMD ? (Command line for Windows?)
Yes, correct. Or a shell on Linux
I have some questions regarding the proposal:-
"entry of imaging modalities (DICOM AE Title, DICOM modality type, description, vendor information, active or in maintenance, …) "
Is adding a new form similar to the radiologyOrderForm sufficient?
"allocation of imaging procedures to imaging modalities "
-This is different from the current Modality class where I believe only image procedures are given. For example, in Modality.java, we have
CR("Computed Radiography"), MR("Magnetic Resonance"), CT("Computed Tomography"), NM("Nuclear Medicine"), US("Ultrasound"), XA("X-Ray Angiography");. So we do need a complete revamp to separate the image modality and the image procedure?
“add a calendar for imaging modalities (for ex. available from 8am-16pm Monday-Saturday)”
-Just to clarify, is this a scheduler for the image modalities?
“management of imaging procedures feasible at the healthcare facility (import through standardized catalogs, configuration of procedure durations)”
-I don’t understand what management encompasses.
- Modality.java is just an enum holding the modality types (currently a subset of what DICOM defines). So yes we need a new class Modality where the DICOM modality type is a member, other members are DICOM AE title, maybe location, vendor description, and the more difficult part the imaging procedures (which should come from the concept dictionary)
- yes, scheduling
- management means, the administrator needs a form where he can edit the modalities that exist at the facility. so enter new modalities, and edit existing ones. He needs to assign imaging procedures to these modalities. So this form is backed by the Modality object you create in 2.
And this all relates to the radiology order form. A doctor then either selects a modality where he wants a procedure to take place, this then filters the imaging procedures search field (and shows only the procedures that the administrator configured for the modality) or the doctor selects an imaging procedure first (out of the ones that were configured for the facility) and this then filters the list of modalities where the procedure can take place.
If a modality was selected upon ordering, this info will be sent to the PACS in the HL7 order message. So that in the DICOM MWL in the PACS the modality is set (I believe its called scheduled station/ or scheduled AE). This enables the technician at the modality to query the PACS DICOM MWL for orders that he should do at his modality. Modality manufacturers usually let you define filters for this query. So you can for example filter only for the modality type like US, XR, CT, MR or also for your modality DICOM AE title, thus the specific modality.
I hope you and others now get the full picture
Initial plan to complete the first set of objectives:-
- Create a new Modality class where the fields are modality type, location, vendor description and the imaging procedures.
- The Administrator Form:
-Creating new image modalities, adding existing ones, assigning image procedures and so forth. (Setting the attributes of the modality class).
-Assignment of Imaging Procedures:- I believe this data must be acquired from the site: http://playbook.radlex.org/playbook/SearchRadlexAction and couple of other sites. More thought must be put into how to transfer that data in an efficient way to our module. (Your suggestion on how to achieve this will be must appreciated and I will also do some research on how this can be done)
-Calendar (Similar to the scheduledDate in radiologyOrderForm but one that would also include the hours of the day as well and not only just the days of the month) to schedule starting and ending time of an image modality.
I believe these are the steps that need to be done to complete the first set of objectives. Please suggest corrections and areas where more detail is necessary.
Add some wireframes and more description for your proposal
dear @venkatp1997 and all other interested students!
please put your proposal on https://summerofcode.withgoogle.com/ you should be able to create a google doc as a first draft, where we can add comments.
and put some more emphasis on the “Assignment of Imaging Procedures” and how this relates to the OpenMRS concepts as this together with the scheduling is the crucial part!
One way to extract all the imaging procedures relating to a particular modality is by running the following command: (This command works only for Linux systems)
sed -n '5~7p' 1.html > 1.txt; sed -e 's/^[ \t]*//' 1.txt > 2.txt; sed -e 's/<[^>]*>//g' 2.txt > final.txt;
I will explain each step of this command:
- 1.html:- First, I am searching for procedures relating to a particular modality (for example, CT) in the http://playbook.radlex.org/playbook/SearchRadlexAction. I am viewing the page source and getting only the lines that correspond to the table that appears in the page. This is only the last n lines of the page source.
- sed -n ‘5~7p’:- Get only the long description fields from the page source along with the html tags.
- sed -e ‘s/^[ \t]*//’:- Remove leading spaces in each line.
- sed -e ‘s/<[^>]*>//g’ :- Remove html tags to get only the long description.
Note that the final result of the sed command is stored in final.txt.
Result of running this command by running modality as CT: final.txt (3.6 KB)
Now, we can read this file from a java program and store it in an enum or anything else.
Hence, we can get the imaging procedures specific to each modality.
I have done the wireframes for a dashboard type page for image modalities and edit image modalities. I have done these wireframes in such a way that they do not appear too inconsistent with the current design. The add image modality would be very similar to the edit page except that instead of some information while being confirmed in the edit page are asked for input (like vendor information) in the add page.
Be sure to include these in your proposal
Any feedback or update on the above posts?
@venkatp1997 please create a google doc on https://summerofcode.withgoogle.com/
as I already told you so I can properly comment on your proposal.
@teleivo @judy Have PMed the proposal link to you. Please review and comment on the same.
Edit: Have also shared the draft with OpenMRS on the summerofcode website.
@venkatp1997 please find my comments in your shared doc.