/*
 * Generated by XDoclet - Do not edit!
 */


package gov.va.med.cds.ejb;


/**
 * Remote interface for ClinicalDataServiceInterface.
 *
 * @xdoclet-generated at ${TODAY}
 * @copyright The XDoclet Team
 * @author XDoclet
 * @version ${version}
 */
public interface ClinicalDataServiceSynchronousRemoteInterface
    extends
        javax.ejb.EJBObject
{
    /**
     * Synchronous version of a clinical data read
     *
     * @param templateId - ID of the template for which the filter requests applies
     * @param filterRequest - Filter request specified in xml format according to the CDS filter schema
     * @param filterId ID of the named (canned) filter. The filterId may be null if no canned filter is referenced
     * @param requestId Client specified unique request Id
     * @return Results of the read returned in XML according to the CDS read results schema
     */
    String readClinicalData( String templateId, String filterRequest, String filterId, String requestId )
        throws java.rmi.RemoteException;


    /**
     * Synchronous version of a clinical data read
     *
     * @param templateId - ID of the template for which the filter requests applies
     * @param filterId ID of the named (canned) filter. The filterId may be null if no canned filter is referenced
     * @param requestId Client specified unique request Id
     * @return Results of the read returned in XML according to the CDS read results schema
     */
    String readClinicalData( String templateId, String filterId, String requestId )
        throws java.rmi.RemoteException;


    /**
     * Synchronous version of a clinical data create
     *
     * @param createRequest - Write request specified in XML according to the CDS create request schema
     * @param templateId ID of the named (canned) filter
     * @param requestId Client specified unique request Id
     * @return Results of the create returned in XML according the CDS create results schema
     */
    String createClinicalData( String createRequest, String templateId, String requestId )
        throws java.rmi.RemoteException;
    
    String createClinicalData( String createRequest, String templateId, String requestId , boolean auditVhimRequest)
                    throws java.rmi.RemoteException;
    

    /**
     * Synchronous version of a clinical data update
     *
     * @param updateRequest - Update request specified in XML according to the CDS update request schema
     * @param templateId ID of the template for which the update request applies
     * @param requestId Client specified unique request Id
     * @return Results of the update returned in XML according the CDS update results schema
     */
    String updateClinicalData( String updateRequest, String templateId, String requestId )
        throws java.rmi.RemoteException;


    /**
     * Synchronous version of a clinical data delete
     *
     * @param deleteRequest - Delete request specified in XML according to the CDS delete request schema
     * @param templateId ID of the template for which the delete request applies
     * @param requestId Client specified unique request Id
     * @return Results of the delete returned in XML according the CDS delete results schema
     */
    String deleteClinicalData( String deleteRequest, String templateId, String requestId )
        throws java.rmi.RemoteException;


    /**
     * Synchronous version of a clinical data append
     *
     * @param appendRequest - Append request specified in XML according to the CDS append request schema
     * @param templateId ID of the template for which the append request applies
     * @param requestId Client specified unique request Id
     * @return Results of the append returned in XML according the CDS append results schema
     */
    String appendClinicalData( String appendRequest, String templateId, String requestId )
        throws java.rmi.RemoteException;


    /**
     * Indicates whether the system is running.
     *
     * @return true if the system if running and false if not.
     * @throws java.rmi.RemoteException
     */
    boolean isAlive( )
        throws java.rmi.RemoteException;
}
