As I understood, Radiology Module is implemented for handling “Radiology Scheduled Workflow”. Correct me if I’m wrong! Also http://hl7-fhir.github.io/diagnosticreport.html mentioned that “The DiagnosticReport resource is not intended to support cumulative result presentation (tabular presentation of past and present results in the resource). The DiagnosticReport resource does not yet provide full support for detailed structured reports of sequencing; this is planned for a future release.” So, if we are going to use DICOM standard then I think it’s better to decouple the DICOM standard from the Radiology module and use it in FHIR module? (which means with using DICOM lib directly, such as dcm4che2 DICOM Toolkit. Or any other idea about that? (I don’t know whether Radiology module has a generic interface to satisfy FHIR module needs. In other way, FHIR module has to depend on another module. May be this idea will add additional work on the project.)
Are we going to concern only about images? Do we have to concern about audio and video as well?
Thanks @milan, let’s get this discussion on the road
Our project title is for supporting Lab data exchange, but i’m a bit concerned what our official OpenMRS process for managing lab data is… Some folks use tools like OpenELIS, others use the OpenMRS simple Lab data module. Does @judy have an opinion as to our scope?
Regarding the storage of DICOM images, I’d rather we give people a list of options. You’ll be working against the OpenMRS core (latest). Does the OpenMRS Radiology module support the core? I don’t know. And plus, what if other people don’t want to use that module? If a DICOM standard image needs to be persisted, but the user specifically doesn’t want to use the Radiology module, we should probably let them use the complex obs feature. I also do think that any format the the radiology module doesn’t support should be persisted using complex obs - so basically, videos and audio should be complex obs.
Have you been able to find any good sample FHIR resources using the demo sites?
This is also a question to @burke, I think. How should OpenMRS manage lab data? For our work on FHIR, should we support the simple lab module and say that lab data belongs inside OpenMRS? Or should we simply say that lab data belongs elsewhere, like OpenELIS, and wash our hands?
I think that the OpenMRS Simple Lab Data module you mentioned here is this one (not Laboratory module).
Is there any module which uses tools like OpenELIS? (I couldn’t find anything related other than this doc).
Yes, It’s important to know what @judy think about it.
After reading you answer, I have to implement this project in a generic way to switch between storing mechanism such as DICOM standards and Complex Obs support. If it’s the case, then I suggest to start implement using Complex Obs support.
Radiology Module mentioned that “In November 2013, it was determined that this module broke the Spring binding mechanism.” Thus we have to continue with Radiology Module with dcm4chee. @harsha89 said that we are going to use Platform version 1.9.8 with FHIR module. And the module also mentioned that it’s compatible with 1.9.x versions and I also tried it with Platform 1.9.8 version as well.
Did you mean that Complex Obs feature is using DICOM standard for storing images? Correct me if I’m wrong.
Which means we are supposed to implement audio and video formats as well.
This url you provided showing this message (not any useful content). I couldn’t find any example for audio and video formats. Thus I don’t understand about how to upload and download contents. I think other link, also showing examples similar to FHIR diagnostic resource examples.
Here is a brief summary of the discussion that we had so far with @surangak@harsha89 and @judy:
The main issue that should address first was mapping between FHIR Diagnostic Report and OpenMRS. There isn’t table or schema in OpenMRS which is directly mapping to the FHIR Diagnostic Report. But it seems to be Obs API can use to store most of data in Diagnostic Report and need to research about how should the mapping done.
Another problem is how to store complex data objects such as Images, Videos and Audios. If the user need to store in DICOM format, as @surangak suggested it’s better to provide as a option in module configuration. So we can use Radiology module with dcm4chee and Complex Obs Support to store resources. Before going to decide about which tools/modules are used to implement the project, it’s better to investigate what are mostly used tools by the community.
TODO List:
Try Radiology Module, Simple Lab Entry Module and Complex Obs Support
Compare FHIR Diagnostic Report with OpenMRS core and identify how each other can remaps
A survey on what are the most popular tools used by the community to handle Lab data
Hi @burke, question to you on how we should manage lab data:
For OpenMRS, should we say that its out of scope for us, and belongs to some other lab system that we need to interact with? Or should we be using the Simple lab module?
My thought is that we allow users to configure which option they want to support via handlers. So basically, we’ll have one handler if the user wants to forward FHIR Lab reports to a different system. But if they want to use simple lab module, they’ll use the hander which persists lab data in this module.
I just had a discussion with @burke … @milan, we have good news for you.
For working with lab data, OpenMRS implementers sometimes use OpenELIS or other tools. But these tools only manage the workflows for lab data testing. We don’t care about these workflows; we care only about the data. So basically, it doesn’t matter because no matter what tools they use, they always persist lab data as observations in OpenMRS.
So, I propose the following workflow:
Diagnostic report sent to FHIR module
FHIR module identifies report as a lab report
FHIR module stores lab data as multiple obs under an Encounter.
We can identify a diagnostic report as a lab report using the ServiceCategory field.
For labs, there would be only one way to store the data (in OpenMRS). But for other types of reports, there may be multiple options. And so, for workflow #3 above, I’d recommend that you implement a handler process. Basically, in the event that there’s multiple ways to persist data, users will write handlers to do what they want.
I didn’t understand what you exactly meant here. Anyway I got a hint about the implementation. Basically, storing lab data will be one of option in the handler process.
@surangak, @harsha89, @judy, It would be helpful, if you can give me some clarification about my doubts!
The simple lab entry module and OpenELIS basically manage workflows for generating lab reports. They don’t introduce any new tables or processes for storing lab data. But both of them store the ultimate lab data in obs. Not as complex obs, but as discrete obs. For example, “CD4 cell count” will be one concept, and there will be a value stored for it using an Obs. So ultimately, while other implementations may use different tools, the lab data makes it into OpenMRS db.
So we don’t need to worry about wether an implementation uses OpenELIS or simple lab.
However, this doesn’t apply to the radiology work. We need to figure out how the Radiology module stores data, and use the same approach. For labs, the approved process is to store lab data in Obs table, and thats what we do.
Perhaps we can have a quick conversation around the use of handlers when you’re free?
@milan please invite me also when you have the discussion.
Shall we create some test Diagnostic Resource in FHIR module and see how we can handle things? Because we don’t have sample which implement how HAPI support to retrieve images and complex data through post request to HAPI FHIR Providers. While you researching that, let’s start things on that side too.
I tried to say here, Complex Data store in Obs API. Please see Technical Workflow in Complex Obs Support and Obs API.
Are you trying to say that, “The Laboratory data will be store using Obs in OpenMRS. Then the Radiology data will be store using Radiology module. In that way, we have to identify ways to each case on the categories which are mentioned in Diagnostic Services” ?
Yes, please!. Anyway, I posted what I need to ask. Ping me when you are free.