001/*-
002 * #%L
003 * Smile CDR - CDR
004 * %%
005 * Copyright (C) 2016 - 2025 Smile CDR, Inc.
006 * %%
007 * All rights reserved.
008 * #L%
009 */
010package ca.cdr.api.camel;
011
012import ca.cdr.api.model.json.TransactionLogStepJson;
013import ca.cdr.api.pub.cdaexchange.model.CdaToFhirConversionResultJson;
014import org.apache.camel.Exchange;
015
016import java.util.List;
017
018/**
019 * Contract for CDA Camel procedures which provide their own constructed list of transaction log steps
020 */
021public interface ICdaTxLogStepsProvider {
022        /**
023         * @param theExchange the camel {@code Exchange} object
024         * @param theConversionResult the {@code CdaToFhirConversionResultJson} object
025         * @return the list of {@code TransactionLogStepJson}
026         */
027        List<TransactionLogStepJson> provideTxLogSteps(
028                        Exchange theExchange, CdaToFhirConversionResultJson theConversionResult);
029}