50.7.1CDA Exchange+ Processors

 

CDA Exchange+ processors require that the CDA Exchange+ (CDA_EXCHANGE_PLUS) module is running. These processors execute each individual step of the CDA Exchange+ import transformation CDA Exchange+.

Each CDA Exchange+ processor has the specifications below:

A description of each CDA Exchange+ processor is provided below.

50.7.2CDA to FHIR Pre-Convert Script Processor

 

Executes the logic found in the pre-import script method (onPreImportCDA) that is configured in the CDA Exchange+ module. The resulting changes are set in the modifiableDocument property on the CdaToFhirConversionResultJson.

50.7.3CDA to FHIR Pre-Convert Interceptor Processor

 

Invokes the pointcut CDA_PRE_IMPORT, executing any interceptor code that is configured in the CDA Exchange+ module. The resulting changes are set in the modifiableDocument property on the CdaToFhirConversionResultJson.

50.7.4CDA to FHIR Conversion Processor

 

Translates an incoming CDA Exchange document into a FHIR transaction Bundle using the CDA Exchange+ engine. This Bundle is placed in the bundle field of the outputted CdaToFhirConversionResultJson.

50.7.5CDA to FHIR Post-Convert Script Processor

 

Executes the logic found in the post-import script method (onPostImportCDA) that is configured in the CDA Exchange+ module. The resulting changes to the bundle are set in the bundle property on the CdaToFhirConversionResultJson.

50.7.6CDA to FHIR Post-Convert Interceptor Processor

 

Invokes the pointcut CDA_POST_IMPORT, executing any interceptor code that is configured in the CDA Exchange+ module. The resulting changes to the bundle are set in the bundle property on the CdaToFhirConversionResultJson.

50.7.7Sample CDA Exchange+ Route Configuration

 
<route>
    <from uri="kafka:in-topic?brokers=localhost:9092"/>

	<setProperty name="originalCcd">
		<spel>#{body}</spel>
	</setProperty>

	<to uri="smile:camel/txLogStart"/>
	<to uri="smile:camel/wrapInDocumentReferenceProcessor?status=current&amp;contentType=application/xml&amp;docStatus=final&amp;typeCode=34133-9&amp;formatCode=urn:hl7-org:sdwg:ccda-structuredBody:2.1" />
	<to uri="smile:persistence/singleResourceProcessor?method=CREATE" />

	<setBody>
		<spel>#{exchange.getProperty('originalCcd')}</spel>
	</setBody>
	
    <to uri="smile:cda_exchange_plus/cdaToFhirPreConvertScriptProcessor"/>
    <to uri="smile:cda_exchange_plus/cdaToFhirPreConvertInterceptorProcessor"/>
    <to uri="smile:cda_exchange_plus/cdaToFhirProcessor"/>
    <to uri="smile:cda_exchange_plus/cdaToFhirPostConvertScriptProcessor"/>
    <to uri="smile:cda_exchange_plus/cdaToFhirPostConvertInterceptorProcessor"/>
    <choice>
        <when>
            <spel>#{body.isDoProcess()}</spel>
            <setBody>
                <spel>#{body.bundle}</spel>
            </setBody>
            <to uri="smile:persistence/bundleProcessor"/>
        </when>
    </choice>
</route>