Plugin:org.tolven.cda

From DOC

Jump to: navigation, search

Contents

Overview

This plugin contains code and metadata used by CDA processing. The main CDA processor establishes the patient context from the CDA document body and then depends on CDA subprocessors, as needed, to provide further processing such as to harvest medications, observations, appointments, and other patient-related data.

Adding CDA Sub-processors

Because a CDA document has a wide range of possible formats, the processing is further subdivided into sub-processors. Each sub-processor is handed the CDA document so that it can pull additional information from it. In the following example, a specialized appointment processor is added.

	<!-- Add the CDA message sub-processor for Appointments -->
	<extension id="property1" plugin-id="org.tolven.component.tolvenejb" point-id="property">
		<parameter id="class" value="org.tolven.cda.process.ProcessCDA" />
		<parameter id="name" value="processorJNDI" />
		<parameter id="value" value="tolven/CDAAppointments/local" />
	</extension>

The variable parameter is the value which contains the JNDI name of a session bean that will be able to process the CDA document.

The referenced bean must implement the CDASubProcessLocal interface and override the process method.

	public void process( Document cda, MenuData mdPatient, AppEvalAdaptor app);

Establishing the SchemaURI

The templateId is used to establish the schemaURI of the document containing the CDA XML content. For example, in the following, 2.16.840.1.113883.2.4.3.6.5.2.1 becomes the schemaURI for that CDA Document. This represents the functional type of the document.

<?xml version="1.0"  encoding="US-ASCII" ?>
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" classCode="DOCCLIN" moodCode="EVN">
	<realmCode code="NL" />

	<typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040" />
	<templateId root="2.16.840.1.113883.2.4.3.6.5.2.1" />

Displaying CDA Documents

The DocServlet servlet is capable of displaying a CDA document using an XSL transform. This servlet will attempt to lookup a style sheet in Account Properties with a name in the format of tolven.xslt/ with the schema URI appended. For example: tolven.xslt/2.16.840.1.113883.2.4.3.6.5.2.1. That property can be setup to contain an XSL template that will format the CDA document for display. In the following example, an account property is setup specific to the echr account type and to a specific type of document.

	<property accountType="echr" name="tolven.xslt/2.16.840.1.113883.2.4.3.6.5.2.1" file="xslt/echr/cda.xsl"/>

To cause the DocServlet to actually display a CDA document using a matching XSLT, the above properties must be defined and then a page must access the servlet. The following is an except from the built-in wizardCDA.xhtml file which displays a CDA document.

	<script language="JavaScript" type="text/javascript">
	 // <![CDATA[
	   var ajax = new Ajax.Updater(
		 $('#{menu.elementLabel}x'),
		 contextPath + '/document',
		 {   method: 'get',
			 parameters: 'docId=#{menu.drilldownItemDoc.id}'+
			             '&serialNo='+serialNo +
			             '&accountUserId='+accountUserId });

	  // ]]>
	</script>

This generates a URL that looks something like this:

    /Tolven/document?docId=1064002&serialNo=38&accountUserId=2446000

Version 2.1 Notes

Version 2.1.0

  • This plug-in was moved over from Tolven V0 so that the entire catalog is in one place. This plug-in has minor, non-functional changes that were made to accommodate Tolven's release build process. If you want to use Tolven V2.1, you must use this version of the plug-in.

Version Notes

Version 0.0.7

Make sure that any placeholderIds not matched on are added to the placeholder anyway.

Version 0.0.6

Create inbound and/or outbound when needed.

Version 0.0.5

  • Add forwardToList() methon in ProcessCDA in order to send CDA document to contents of (usually) the accountShares list.
  • Add missing processor and TolvenMessage into working memory for ProcessCDA. (Same as ProcessTrim)

Version 0.0.4

CDA now calls a sub-processor to handle specific components of the CDA document. This plugin handled the document itself and the patient. The CDA wizard and drilldown are also now included in this plugin

Version 0.0.3

Move the CDA-specific metadata out of the generic application metadata into this plugin.

Personal tools