Skip to content
A JBoss Drools Based Syntactic and Semantic CCR Validator
Branch: drools5.0
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
LICENSE
README
pom.xml

README

Copyright 2010 OpenHealthData, Inc.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.



ValidationService
=================
This is a simple J2EE Servlet implementation of the CCR Validator.  This 
Validator utilizes a RETE based rules engine (JBoss Drools) to implement 
the validation testing.  This allows for the rules to be updated independently 
and more importantly supports the implementation of rule packages for 
different profiles.

The validation rules are stored in "org/astm/ccr/rules."  The subfolder "core" 
contains the rules to explode the CCR and assert all the components into 
working memory.  The subfolder "v1" contains the validation rules for ASTM 
E2869-05 Continuity of Care Record Implementation Guide. The subfolder 
"meaningfuluse" contains the validation rules for the use of the CCR 
within the Federal Regulations for Meaningful Use.

You can add other subfolders to "org/astm/ccr/rules," if you wish to add 
your own validation rules.  If you do not want the meaningful use rules 
to be used, you can unzip the .WAR file and remove the org/astm/ccr/rules/meaningfuluse 
folder.


** MAY NEED TO CHANGE URL FOR XSL **
The entry point is org.openhealthdata.validator.ValidatorServlet which is 
tied to the context "/ValidationService"  Currently the location (URL) of the 
XSL, which is used to renyder the resulting XML is inferred based on server IP, 
PORT, and servlet contextu.  If your server is in a NAT'd environment, you may need 
to change this behavior. There are instructions in the org.openhealthdata.validator.ValidatorServlet 
source file.  A future release will have a property file that can be set to 
override this behavior.

** NEED TO ADD CCR XSD **
The ASTM E2369-05 CCR XSD is copyrighted to ASTM.  You will need to add 
your copy to org.openhealthdata.validation and name it CCRV1.xsd.  There 
is a stub file there now.  There is a Maven (see Deployment below) test looking for 
updated content and will cause a failed test if this stub is not replaced.
The CCR XSD is available at http://www.astm.org/BOOKSTORE/ADJUNCT/734.htm


Project structure
=================
The project is organized using maven. Any developer familiarized with this technology
should be able to set up its IDE to start working with the project.

Maven - http://maven.apache.org/

Deployment 
==========
Run
$ mvn package
and you should get a .war file into the target/ folder. This is the CCR validator webapp.
This is deployable in any servlet container because it doesn't use any proprietary extension

Testing
=======
For testing purpose it's possible to run an embedded jetty server with
$ mvn jetty:run

Then open a web browser to http://localhost:8080
You can’t perform that action at this time.