Does CCDA module in CareCoordination work in OpenEMR v7?

The Z&H’s CCDA Module page says “It has not yet been updated for OpenEMR 7.0” (3rd sentence)

https://www.open-emr.org/wiki/index.php/Z%26H's_CCDA_Module

Is this true? Or does the page just need an update?

Thanks

Hi Hank,
CCM CCDA import works and I just tested again.
If services are installed from ccdaservice directory then all should be well. On the first import it may take a little time to start the services but should complete.

It’s the wiki document itself that has not been updated for version 7, not the Carecoordination module. Sorry, I have fixed that ambiguity in the wording.

Thanks! I see the changed wording. Better.
Is it possible to provide a link to a CCD, CCR and CCDA/CDRA documents that can be successfully uploaded and added as new patients via the Care Coordination module? Would be great for testing purposes, and to know that my errors are not due to just trying to import an incorrect/corrupt xml file. Thanks

try
Elisha578_Little434_54c9245c-d55b-c29a-4fa0-d354770dc0a8.xml (830.9 KB)
which was created using the import random patients feature which uses synthea to create ccdas before importing which is detailed in the contributing guide

Ok, good progress. I can now import a ccda, and perform the “add as a new patient” operation on the import ccda tab of care coordination. What was missing were the soap and sockets extensions in php.ini. The openEMR wiki page " Z&H’s CCDA Module" says install/enable “php-xml, php-soap and php-net-socket”.
In my xampp windows implementation, the xml extension is already installed and enabled by default, so there is no mention of this in php.ini extensions section.
These two lines are commented out by default, and when un-commenting them, that caused the “php-soap” and “php-net-socket” extensions to be enabled
extension=soap
extension=sockets
With this change, importing the ccda Stephen mentioned (Elisha Little) and the one previously referenced (Wanda Moore) worked.
The CCD import process uploads the file, and shows the uploaded document details (name, dob) and offers the “view” icon, which when clicked shows the document. But the process still throws errors trying to process the files, and I get no “merge” or “add” icons.
The CCR import process similarly uploads the file and shows it in the list. But the View Details icon shows this error
XSLTProcessor::transformToXml() can only be called after a stylesheet has been imported
and no merge/add icons are shown
It is unclear if I am using valid CCD or CCR files, so that might be an issue
For now, being able to view and import a CCDA meets my need. Would be nice of all these features worked out of the box, and if example CCR, CCD and CCDA documents were included in the distribution for testing, but we are close.
Thank

1 Like

Will be removing CCR as don’t see a reason for it. CCD should upload CCD to documents. Not meant to import and parse. That’s what CCDA import is for.

Ok, good to know. That means I have everything that should be working, working :slight_smile:
Thanks

You can mass import CCDA or QRDA hundreds at a time if you wish. We’re still missing a few cures element on import such as clinical notes but will get to before next release.

Exploring ccda in patient portal
In the portal, on the report tab, the first three items are “View CCD”, “Download CCD”, and “Report Content”.

Interestingly, in “Report Content”, there are “Generate Report” buttons in the CCR and CDA sections and these both work

But the “View CCD” and “Download CCD” menu options do not work.

For “View CCD”:

After a few seconds, a “this page isn’t working right now page” page opens, and shows url:
http://localhost/openemr/ccdaservice/ccda_gateway.php?action=view&csrf_token_form=a46cbb66eecfc9349f94e6ac4dbf916a1b0e6c2f

in the php error log, I see a dozen or so errors, including

EncounterccdadispatchTable->getDocumentAuthorRecord() Failed to find author for c-cda document, no hie_author_id, authUserID in session, or provider relationship [] []

and

socket_read(): unable to read from socket [10054]: An existing connection was forcibly closed by the remote host in C:\xampp\htdocs\openemr\interface\modules\zend_modules\module\Carecoordination\src\Carecoordination\Model\CcdaServiceDocumentRequestor.php on line 99

and

OpenEMR.ERROR: Carecoordination\Controller\EncounterccdadispatchController->indexAction() Connection error with ccda service {“message”:"Ccda document generated was empty. Check node service logs

Ring any bells?

Trying to get to work in v7.0.1 here is the error

var/www/html/openemr/src/Services/Qrda/QrdaReportService.php:45

Message:

Can not complete report request. Node Service is not running.

Stack trace:

#0 /var/www/html/openemr/src/Cqm/QrdaControllers/QrdaReportController.php(27): OpenEMR\Services\Qrda\QrdaReportService->__construct()
#1 /var/www/html/openemr/interface/modules/zend_modules/module/Carecoordination/src/Carecoordination/Controller/EncountermanagerController.php(97): OpenEMR\Cqm\QrdaControllers\QrdaReportController->__construct()
#2 /var/www/html/openemr/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Carecoordination\Controller\EncountermanagerController->indexAction()
#3 /var/www/html/openemr/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\Mvc\Controller\AbstractActionController->onDispatch()
#4 /var/www/html/openemr/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\EventManager\EventManager->triggerListeners()
#5 /var/www/html/openemr/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\EventManager\EventManager->triggerEventUntil()
#6 /var/www/html/openemr/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\Mvc\Controller\AbstractController->dispatch()
#7 /var/www/html/openemr/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\Mvc\DispatchListener->onDispatch()
#8 /var/www/html/openemr/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\EventManager\EventManager->triggerListeners()
#9 /var/www/html/openemr/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\EventManager\EventManager->triggerEventUntil()
#10 /var/www/html/openemr/src/Core/ModulesApplication.php(168): Laminas\Mvc\Application->run()
#11 /var/www/html/openemr/interface/modules/zend_modules/public/index.php(59): OpenEMR\Core\ModulesApplication->run()
#12 {main}

I got this same error, trying to open the care coordination module
I found the care coordination module instructions document to be helpful.
In particular, to solve the problem, in my configuration (oemr 7.0.1 (1), running in xampp 8.1.6 on windows), I opened a command window and navigated to the ccdaservice folder inside openemr’s folder in the web root (xampp/htdocs) and ran
npm install --production
That was it
Now care coordination works
You can test if the node service is running by executing this in a command window
node serveccda.js
If nothing happens, then the node service has been started from the command window.
Care Coordination will load when the node service is started in this way.
You can stop it by ctrl-C.
Normally, the node service auto-starts, so you don’t need to start it this way. Stop it via ctrl-c and see if care coordination still works (perhaps after a full reboot, to really test).
Hope this helps