Skip to content

monikadrajer/ccdaextendedvalidator-service

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The C-CDA Extended Validator Service is a service implementation of the SITE XPath Validator API that has been configured to utilize the SITE C-CDA XPath Validators.

Dependencies for this project:

SITE XPath Validator API
SITE C-CDA XPath Validators (Which depends on: SITE Code Validator API)

Deploy the C-CDA Extended Validator Web Service Project to a JEE Web Container, such as Tomcat.
You'll need to make sure there is a file on the classpath called "environment.properties". This file must include the following configuration items:

    ccdaextended.configFile=/directory/location/to/ccdaExtendedValidatorConfig.xml
    vocabulary.localRepositoryDir=/directory/location/to/code_repositories/
    vocabulary.orientDbConfigFile=/directory/location/to/orientdb-server-config.xml
    vocabulary.primaryDbName=primary
    vocabulary.secondaryDbName=secondary

Orient DB Configuration
You'll also need to make sure that you have a configuration file for the internal orientdb database. The following is a sample orient DB file:

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <orient-server>
      <handlers>
        <handler class="com.orientechnologies.orient.server.handler.OJMXPlugin">
           <parameters>
               <parameter value="false" name="enabled"/>
               <parameter value="true" name="profilerManaged"/>
           </parameters>
       </handler>
       <handler class="com.orientechnologies.orient.server.plugin.mail.OMailPlugin">
           <parameters>
                <parameter value="false" name="enabled"/>
                <parameter value="localhost" name="profile.default.mail.smtp.host"/>
               <parameter value="25" name="profile.default.mail.smtp.port"/>
                <parameter value="true" name="profile.default.mail.smtp.auth"/>
                <parameter value="true" name="profile.default.mail.smtp.starttls.enable"/>
                <parameter value="" name="profile.default.mail.smtp.user"/>
                <parameter value="" name="profile.default.mail.smtp.password"/>
            </parameters>
        </handler>
        <handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
            <parameters>
                <parameter value="false" name="enabled"/>
                <parameter value="4h" name="delay"/>
                <parameter value="backup" name="target.directory"/>
                <parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.json" name="target.fileName"/>
                <parameter value="" name="db.include"/>
                <parameter value="" name="db.exclude"/>
            </parameters>
        </handler>
        <handler class="com.orientechnologies.orient.server.handler.OServerSideScriptInterpreter">
            <parameters>
                <parameter value="false" name="enabled"/>
            </parameters>
        </handler>
    </handlers>
    <network>
        <protocols>
            <protocol implementation="com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary" name="binary"/>
            <protocol implementation="com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpDb" name="http"/>
        </protocols>
        <listeners>
            <listener protocol="binary" socket="default" port-range="2424-2430" ip-address="0.0.0.0"/>
            <listener protocol="http" socket="default" port-range="2480-2490" ip-address="0.0.0.0">
                <commands>
                    <command implementation="com.orientechnologies.orient.server.network.protocol.http.command.get.OServerCommandGetStaticContent" pattern="GET|www GET|studio/ GET| GET|*.htm GET|*.html GET|*.xml GET|*.jpeg GET|*.jpg GET|*.png GET|*.gif GET|*.js GET|*.css GET|*.swf GET|*.ico GET|*.txt GET|*.otf GET|*.pjs GET|*.svg" stateful="false">
                        <parameters>
                            <entry value="Cache-Control: no-cache, no-store, max-age=0, must-revalidate\r\nPragma: no-cache" name="http.cache:*.htm *.html"/>
                            <entry value="Cache-Control: max-age=120" name="http.cache:default"/>
                        </parameters>
                    </command>
                </commands>
                <parameters>
                    <parameter value="utf-8" name="network.http.charset"/>
                </parameters>
            </listener>
        </listeners>
    </network>
    <storages>
        <storage loaded-at-startup="true" userPassword="admin" userName="admin" path="plocal:/Users/chris/Development/tomcat/tomcat-CCDA/databases/primary" name="primary"/>
        <storage loaded-at-startup="true" userPassword="admin" userName="admin" path="plocal:/Users/chris/Development/tomcat/tomcat-CCDA/databases/secondary" name="secondary"/>
    </storages>
    <users>
        <user resources="*" password="1C9E93E16EA272C1B6C95AC591CE56E52153AB30C7F08C958475B2016AECA2F5" name="root"/>
        <user resources="connect,server.listDatabases,server.dblist" password="guest" name="guest"/>
    </users>
    <properties>
        <entry value="info" name="log.console.level"/>
        <entry value="fine" name="log.file.level"/>
    </properties>
   </orient-server>

Code Value Set Repository The Validation Engine, and corresponding document loaders, require a specific directory hierarchy for the vocabulary code value set files. The hirearchy is as follows:

code_repository
  ICD9CM_DX (files can be obtained from http://www.cms.gov/Medicare/Coding/ICD9ProviderDiagnosticCodes/codes.html)
  ICD9CM_SG (files can be obtained from http://www.cms.gov/Medicare/Coding/ICD9ProviderDiagnosticCodes/codes.html)
  ICD10CM (files can be obtained from http://www.cms.gov/Medicare/Coding/ICD10/2015-ICD-10-CM-and-GEMs.html)
  ICD10PCS (files can be obtained from http://www.cms.gov/Medicare/Coding/ICD10/2015-ICD-10-PCS-and-GEMs.html)
  LOINC (files can be obtained from http://loinc.org/downloads)
  RXNORM (files can be obtained from http://www.nlm.nih.gov/research/umls/rxnorm/docs/rxnormfiles.html)
  SNOMED-CT (files can be obtained from http://www.nlm.nih.gov/research/umls/Snomed/us_edition.html)

Xpath Validator API Configuration: The SITE XPath Validation API requires configuration in order to properly associate Validators with XPath Expressions. A sample configuration is included with this project and its location must be configured in the "environment.properties" file. The sample configuration should be in the following XML format:

	<configuration>
		<expression xpathExpression="//section/templateId[@root='2.16.840.1.113883.10.20.22.2.22.1']/ancestor::section[1]/code">
			<validator className="org.sitenv.xml.validators.ccda.structuredbody.coderequirements.MustBeValidator">
				<param key="codeSystem" value="2.16.840.1.113883.6.1"/>
			</validator>
		</expression>
	</configuration>

About

Extended Validator for C-CDA files using the xpathvalidator API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.4%
  • CSS 0.6%