# GSoC Project: Radiology Reporting Enhancements Continuation

**URL:** <https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817>\
**Category:** Radiology\
**Tags:** gsoc2017-project, gsoc2017\
**Created:** [May 22, 2017, 3:18pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817 "2017-05-22T15:18:22Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![arastogi](https://forums.librehealth.io/user_avatar/forums.librehealth.io/arastogi/32/254_2.png) [@arastogi](https://forums.librehealth.io/u/arastogi)\
**Post date:** [May 22, 2017, 3:18pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/1 "2017-05-22T15:18:22Z")

</div>

Hi everyone, this thread is for discussion and refinement of the project: [https://summerofcode.withgoogle.com/dashboard/project/5824169460629504/overview/](https://summerofcode.withgoogle.com/dashboard/project/5824169460629504/overview/) Participant: @ivange94Mentors: @arastogi @sunbiz @judywawiraProposal Draft:

> **[Radiology Reporting Enhancement Continuation](https://docs.google.com/document/d/1ZcSVT9PwlfBbu8YV8afN4AfZ4WrYwTYSygSksutzQ4k/edit)**
>
> RADIOLOGY REPORTING ENHANCEMENTS CONTINUATION PROJECT PROPOSAL BY IVANGE LARRY NDUMBE Introduction LibreHealth Radiology provides Radiology Information System functions for radiologists. That is, it’s meant to track patients entire workflow in...

---

<div class="post-metadata">

**Author:** ![arastogi](https://forums.librehealth.io/user_avatar/forums.librehealth.io/arastogi/32/254_2.png) [@arastogi](https://forums.librehealth.io/u/arastogi)\
**Post date:** [May 22, 2017, 3:26pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/2 "2017-05-22T15:26:07Z")

</div>

Hi @ivange94

Good luck on your internship defense! I’ve made some initial suggestions to your proposal and will continue to make some more as I go along

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [May 27, 2017, 4:40pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/5 "2017-05-27T16:40:03Z")

</div>

Hi @arastogi

Thanks. I already rounded up with my defense and started responding to your comments.

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [June 4, 2017, 6:03pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/6 "2017-06-04T18:03:38Z")

</div>

**Update about fhir server setup.**

I kept on having issues with making the radiology module a fhir server. After implementing all the classes in radiology as documented in the fhir docs, my builds kept failing. Also the tutorial does not explain much about the different parts of the example server code on github so I have to make guesses about some things. So I decided to build a fhir server from scratch out of radiology just so I can understand the differents parts of the fhir server architecture. The problem I’ve been having so far is knowing which dependencies I should declare in my pom. The code on github is a multi module maven project and some dependencies have nothing to do with setting up a fhir jpa. Also there are some dependencies that are declared in the pom that are not directly used in the code.

I joined the fhir mailing list and posted the problems I was having there and though my problem was not directly solved I was pointed to another sample code that sets up a fhir server. [https://github.com/nhsconnect/careconnect-java-examples](https://github.com/nhsconnect/careconnect-java-examples). This is easier to work with as it’s not a multi module project hence all dependencies in the pom will probably be what’s necessary to setup a fhir server. And this has been helpful, I am beginning to understand why I kept have build failures and trying to resolve them. But still the same I still have to figure things out just by looking at the code.

Here is the link to fhir server I’m working on [https://github.com/ivange94/fhir-example-server](https://github.com/ivange94/fhir-example-server). I used spring boot. I’ve just implemented the single class necessary to setup a fhir server(a class that extends one of the dstu base classes in this case dstu3). Now when I run the tests spring is unable to initialize the application context due to some missing dependencies. Currently working on that.

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [June 5, 2017, 11:02am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/7 "2017-06-05T11:02:15Z")

</div>

Was finally able to build a fhir server from scratch by following the examples on the jpa guide and also some other examples I found on github. Here is a link to my commit [Setup fhir server · ivange94/fhir-example-server@a9df33c · GitHub](https://github.com/ivange94/fhir-example-server/commit/a9df33c2406e20cafb1ac3fad471507618571a11)

Now when I do mvn jetty:run I can access my server at [http://localhost:8181/fhirjpademoserver/](http://localhost:8181/fhirjpademoserver/) but I still see an error on the interface I’m trying to fix now. See snapshot below

 ![](https://forums.librehealth.io/uploads/default/original/1X/bca30d1dda92cd92a42f00d7382ca595dc90a227.png)

If you look at the repo here [GitHub - ivange94/fhir-example-server · GitHub](https://github.com/ivange94/fhir-example-server/) you 'll notice I didn’t implement all the files that are in the example on github from the tutorial. This is because I could not understand how they are been used so I skipped them until I have more understanding of their purpose. These files includes all the xml files inside the WEB-INF/ except the web.xml file. For instance I didn’t see how this web-non-polling-subscription-dstu3.xml is been used and the files in the xsd/ and template/ directories. You can see the files I’m talking of here [https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF](https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF)

Will be moving ahead now to do the same inside the radiology module.

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [June 6, 2017, 3:35am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/8 "2017-06-06T03:35:46Z")

</div>

@sunbiz, @judywawira pls I need clarification on something. The jpa example code is meant for a web application deployed to a web server. Amongst other things it needs it’s own web.xml. I don’t see how just copying those java classes into radiology and deploy on toolkit will make it work. Radiology module is not a web application like how the standard expects it to be, it’s an openmrs module and does not have it’s own configs like database connection settings.

Or do you need me to transform the radiology module to a web app by

1. Add a web.xml file in the omod submodule
2. Modify the build to generate a .war instead of .omod
3. Add the configurations for fhir jpa server and deploy radiology to tomcat as web application on it’s own

---

<div class="post-metadata">

**Author:** ![sunbiz](https://forums.librehealth.io/user_avatar/forums.librehealth.io/sunbiz/32/395_2.png) [@sunbiz](https://forums.librehealth.io/u/sunbiz)\
**Post date:** [June 6, 2017, 4:39pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/9 "2017-06-06T16:39:26Z")

</div>

It has to be a module and not a separate web app. The web.xml parts can be part of the module config xml

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [June 14, 2017, 12:58pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/10 "2017-06-14T12:58:06Z")

</div>

Was able to save report as complex obs using this

```
@Override
@Transactional
public synchronized RadiologyReport saveRadiologyReport(RadiologyReport radiologyReport, String content) {
    
    final Obs obs = new Obs();
    final ConceptComplex concept = radiologyProperties.getConceptForReport();
    obs.setConcept(concept);
    obs.setPerson(radiologyReport.getRadiologyOrder()
            .getPatient());
    obs.setObsDatetime(new Date());
    File tmpFile = null;
    InputStream complexDataInputStream = null;
    try {
        tmpFile = File.createTempFile("report", ".html");
        FileUtils.writeStringToFile(tmpFile, content);
        complexDataInputStream = new FileInputStream(tmpFile);
    }
    catch (IOException e) {
        throw new APIException(e.getMessage(), e);
    }
    final ComplexData complexData = new ComplexData(tmpFile.getName(), complexDataInputStream);
    obs.setComplexData(complexData);
    radiologyReport.setObs(obs);
    Context.getObsService()
            .saveObs(obs, "");
    return saveRadiologyReport(radiologyReport);
}

```

But when I visit thepatient dashboard under the obs section I don’t see any obs created but in the database there is an obs associated with the patient.

Screenshot of saved report

 ![](https://forums.librehealth.io/uploads/default/original/1X/f217dd3988d5f629e60687085bf282eb196ad84b.png)

Screenshot of patient dashboard

 ![](https://forums.librehealth.io/uploads/default/original/1X/ba8a97cbe9d70c31032d3a46c9094ede312f2908.png)

But when I visit the database, there is an obs associated with the patient and the complex value has the name of the report file

 ![](https://forums.librehealth.io/uploads/default/original/1X/7672efd95f60a84261f8ed232e8703c18702fc7d.png)

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [June 20, 2017, 7:19am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/11 "2017-06-20T07:19:12Z")

</div>

> **[GSoC Week 3](https://ivange94blog.wordpress.com/2017/06/20/gsoc-week-3/)**
>
> The third week of GSoC ended a few days ago and this my report. During week two updates I reported that I was able to save radiology reports as files on the file system but I didn’t use Compl…

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [June 28, 2017, 9:12pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/12 "2017-06-28T21:12:33Z")

</div>

> **[GSoC First Evaluation Report](https://ivange94blog.wordpress.com/2017/06/28/gsoc-first-evaluation-report/)**
>
> Introduction The first coding phase of GSoC just ended and here is my report. The milestone for this phase was to make it possible to create radiology reports using MRRT report templates. And IR…

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [June 29, 2017, 5:55am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/13 "2017-06-29T05:55:46Z")

</div>

I’ve completed my first evaluation, also written my report on my blog and I’ve updated my timeline to show exactly what I’ll be working on at all times. You can have a look here [https://docs.google.com/document/d/1txA04jbXu63SnfQR0VHJmw5jvmJCuYbkh4GtCOG-Y18/edit?usp=sharing](https://docs.google.com/document/d/1txA04jbXu63SnfQR0VHJmw5jvmJCuYbkh4GtCOG-Y18/edit?usp=sharing). The timeline for the final coding phase will be modified. It still talks about template validation but we decided to turn of validation so for the final coding phase I’ll still be working on the UI for radiology. But I’ll update it on the timeline after seeing the progress of the second coding phase. @judywawira, @arastogi have a look and let me know if the timeline is in line with our goals.

Thanks,

Larry

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [July 9, 2017, 5:31pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/14 "2017-07-09T17:31:21Z")

</div>

> **[GSoC Coding Phase 2 Week 1](https://ivange94blog.wordpress.com/2017/07/09/gsoc-coding-phase-2-week-1-report/)**
>
> It’s a little over a week since the GSoC first evaluation ended on June 30th, 2017. Glad to say I passed the first evaluation with good remarks from my mentors. The radiology back end code ca…

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [July 17, 2017, 9:51am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/15 "2017-07-17T09:51:45Z")

</div>

> **[GSoC Coding Phase 2 Week 2](https://ivange94blog.wordpress.com/2017/07/17/gsoc-coding-phase-2-week-2/)**
>
> The second week of GSoC coding phase 2 just ended. This week has mostly been about learning Angular 2. I also took some time out to follow up on my US nonimmigrant visa to attend the Open Source Su…

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [July 31, 2017, 7:39am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/16 "2017-07-31T07:39:22Z")

</div>

> **[GSoC Coding Phase 2 Week 3 & 4](https://ivange94blog.wordpress.com/2017/07/31/gsoc-coding-phase-2-week-3-4/)**
>
> Second Evaluation for GSoC just ended and for this coding phase I have bootstrap the new UI for radiology and fix all bugs I was having with the UI and now ready to use real data from the database …

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [August 6, 2017, 2:09pm UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/17 "2017-08-06T14:09:08Z")

</div>

> **[GSoC Final Coding Phase Week 1](https://ivange94blog.wordpress.com/2017/08/06/gsoc-final-coding-phase-week-1/)**
>
> The first week of the final coding phase just concluded and for this phase my job was to fetch actual data from the backend via REST. The screenshot below shows actual orders that are fetched from …

---

<div class="post-metadata">

**Author:** ![ivange94](https://forums.librehealth.io/user_avatar/forums.librehealth.io/ivange94/32/1031_2.png) [@ivange94](https://forums.librehealth.io/u/ivange94)\
**Post date:** [August 27, 2017, 1:25am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/18 "2017-08-27T01:25:00Z")

</div>

> **[GSoC 2017 Final Report](https://ivange94blog.wordpress.com/2017/08/27/gsoc-2017-final-report/)**
>
> It’s the end of the GSoC 2017 and here is my final report. The photo below is from my colleague Ujjwal Arora’s blog. I hope he doesn’t sue me :D.   Project Title Radiology Re…

---

<div class="post-metadata">

**Author:** ![r0bby](https://forums.librehealth.io/user_avatar/forums.librehealth.io/r0bby/32/1781_2.png) [@r0bby](https://forums.librehealth.io/u/r0bby)\
**Post date:** [September 29, 2017, 4:08am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/19 "2017-09-29T04:08:07Z")

</div>



---

<div class="post-metadata">

**Author:** ![r0bby](https://forums.librehealth.io/user_avatar/forums.librehealth.io/r0bby/32/1781_2.png) [@r0bby](https://forums.librehealth.io/u/r0bby)\
**Post date:** [January 3, 2018, 3:23am UTC](https://forums.librehealth.io/t/gsoc-project-radiology-reporting-enhancements-continuation/817/20 "2018-01-03T03:23:12Z")

</div>


