45.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.

45.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.

45.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.

45.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.

45.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.

45.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.

45.7.7Sample CDA Exchange+ route configuration

 
<route>
    <from uri="kafka:in-topic?brokers=localhost:9092"/>
    <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>