
package com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.1.6 in JDK 6
 * Generated source version: 2.1
 * 
 */
@WebService(name = "QuerySvcSoap", targetNamespace = "http://mdws.domain/QuerySvc")
@XmlSeeAlso({
    ObjectFactory.class
})
public interface QuerySvcSoap {


    /**
     * Get Vista file data dictionary
     * 
     * @param fileNumber
     * @param includeXRefs
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.VistaFileTO
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/getFile")
    @WebResult(name = "getFileResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "getFile", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetFile")
    @ResponseWrapper(localName = "getFileResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetFileResponse")
    public VistaFileTO getFile(
        @WebParam(name = "fileNumber", targetNamespace = "http://mdws.domain/QuerySvc")
        String fileNumber,
        @WebParam(name = "includeXRefs", targetNamespace = "http://mdws.domain/QuerySvc")
        boolean includeXRefs);

    /**
     * Get Vista file cross references
     * 
     * @param fileNumber
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.XRefArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/getXRefs")
    @WebResult(name = "getXRefsResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "getXRefs", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetXRefs")
    @ResponseWrapper(localName = "getXRefsResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetXRefsResponse")
    public XRefArray getXRefs(
        @WebParam(name = "fileNumber", targetNamespace = "http://mdws.domain/QuerySvc")
        String fileNumber);

    /**
     * 
     * @param screen
     * @param flags
     * @param maxrex
     * @param file
     * @param xref
     * @param iens
     * @param from
     * @param part
     * @param identifier
     * @param fields
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.TextArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/ddrLister")
    @WebResult(name = "ddrListerResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "ddrLister", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.DdrLister")
    @ResponseWrapper(localName = "ddrListerResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.DdrListerResponse")
    public TextArray ddrLister(
        @WebParam(name = "file", targetNamespace = "http://mdws.domain/QuerySvc")
        String file,
        @WebParam(name = "iens", targetNamespace = "http://mdws.domain/QuerySvc")
        String iens,
        @WebParam(name = "fields", targetNamespace = "http://mdws.domain/QuerySvc")
        String fields,
        @WebParam(name = "flags", targetNamespace = "http://mdws.domain/QuerySvc")
        String flags,
        @WebParam(name = "maxrex", targetNamespace = "http://mdws.domain/QuerySvc")
        String maxrex,
        @WebParam(name = "from", targetNamespace = "http://mdws.domain/QuerySvc")
        String from,
        @WebParam(name = "part", targetNamespace = "http://mdws.domain/QuerySvc")
        String part,
        @WebParam(name = "xref", targetNamespace = "http://mdws.domain/QuerySvc")
        String xref,
        @WebParam(name = "screen", targetNamespace = "http://mdws.domain/QuerySvc")
        String screen,
        @WebParam(name = "identifier", targetNamespace = "http://mdws.domain/QuerySvc")
        String identifier);

    /**
     * Visit single VistA system.
     * 
     * @param sitecode
     * @param pwd
     * @param userSitecode
     * @param context
     * @param ssn
     * @param userName
     * @param duz
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.UserTO
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/visitSite")
    @WebResult(name = "visitSiteResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "visitSite", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.VisitSite")
    @ResponseWrapper(localName = "visitSiteResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.VisitSiteResponse")
    public UserTO visitSite(
        @WebParam(name = "pwd", targetNamespace = "http://mdws.domain/QuerySvc")
        String pwd,
        @WebParam(name = "sitecode", targetNamespace = "http://mdws.domain/QuerySvc")
        String sitecode,
        @WebParam(name = "userSitecode", targetNamespace = "http://mdws.domain/QuerySvc")
        String userSitecode,
        @WebParam(name = "userName", targetNamespace = "http://mdws.domain/QuerySvc")
        String userName,
        @WebParam(name = "DUZ", targetNamespace = "http://mdws.domain/QuerySvc")
        String duz,
        @WebParam(name = "SSN", targetNamespace = "http://mdws.domain/QuerySvc")
        String ssn,
        @WebParam(name = "context", targetNamespace = "http://mdws.domain/QuerySvc")
        String context);

    /**
     * DDR GETS ENTRY DATA
     * 
     * @param flds
     * @param flags
     * @param file
     * @param iens
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.TextArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/ddrGetsEntry")
    @WebResult(name = "ddrGetsEntryResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "ddrGetsEntry", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.DdrGetsEntry")
    @ResponseWrapper(localName = "ddrGetsEntryResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.DdrGetsEntryResponse")
    public TextArray ddrGetsEntry(
        @WebParam(name = "file", targetNamespace = "http://mdws.domain/QuerySvc")
        String file,
        @WebParam(name = "iens", targetNamespace = "http://mdws.domain/QuerySvc")
        String iens,
        @WebParam(name = "flds", targetNamespace = "http://mdws.domain/QuerySvc")
        String flds,
        @WebParam(name = "flags", targetNamespace = "http://mdws.domain/QuerySvc")
        String flags);

    /**
     * Does this VistA have this patch installed?
     * 
     * @param patchId
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.TaggedText
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/siteHasPatch")
    @WebResult(name = "siteHasPatchResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "siteHasPatch", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SiteHasPatch")
    @ResponseWrapper(localName = "siteHasPatchResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SiteHasPatchResponse")
    public TaggedText siteHasPatch(
        @WebParam(name = "patchId", targetNamespace = "http://mdws.domain/QuerySvc")
        String patchId);

    /**
     * Do these VistAs have this patch installed?
     * 
     * @param patchId
     * @param sitelist
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.TaggedTextArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/sitesHavePatch")
    @WebResult(name = "sitesHavePatchResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "sitesHavePatch", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SitesHavePatch")
    @ResponseWrapper(localName = "sitesHavePatchResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SitesHavePatchResponse")
    public TaggedTextArray sitesHavePatch(
        @WebParam(name = "sitelist", targetNamespace = "http://mdws.domain/QuerySvc")
        String sitelist,
        @WebParam(name = "patchId", targetNamespace = "http://mdws.domain/QuerySvc")
        String patchId);

    /**
     * Execute Rpc
     * 
     * @param paramEncrypted
     * @param paramTypes
     * @param paramValues
     * @param rpcName
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.TaggedTextArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/runRpc")
    @WebResult(name = "runRpcResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "runRpc", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.RunRpc")
    @ResponseWrapper(localName = "runRpcResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.RunRpcResponse")
    public TaggedTextArray runRpc(
        @WebParam(name = "rpcName", targetNamespace = "http://mdws.domain/QuerySvc")
        String rpcName,
        @WebParam(name = "paramValues", targetNamespace = "http://mdws.domain/QuerySvc")
        ArrayOfString paramValues,
        @WebParam(name = "paramTypes", targetNamespace = "http://mdws.domain/QuerySvc")
        ArrayOfInt paramTypes,
        @WebParam(name = "paramEncrypted", targetNamespace = "http://mdws.domain/QuerySvc")
        ArrayOfBoolean paramEncrypted);

    /**
     * Get list of sites
     * 
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.TaggedTextArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/getSites")
    @WebResult(name = "getSitesResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "getSites", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetSites")
    @ResponseWrapper(localName = "getSitesResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetSitesResponse")
    public TaggedTextArray getSites();

    /**
     * Get MDWS Version
     * 
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/getMDWSVersion")
    @WebResult(name = "getMDWSVersionResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "getMDWSVersion", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetMDWSVersion")
    @ResponseWrapper(localName = "getMDWSVersionResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetMDWSVersionResponse")
    public String getMDWSVersion();

    /**
     * Add a data source for this session
     * 
     * @param region
     * @param port
     * @param id
     * @param protocol
     * @param name
     * @param modality
     * @param datasource
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SiteTO
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/addDataSource")
    @WebResult(name = "addDataSourceResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "addDataSource", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.AddDataSource")
    @ResponseWrapper(localName = "addDataSourceResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.AddDataSourceResponse")
    public SiteTO addDataSource(
        @WebParam(name = "id", targetNamespace = "http://mdws.domain/QuerySvc")
        String id,
        @WebParam(name = "name", targetNamespace = "http://mdws.domain/QuerySvc")
        String name,
        @WebParam(name = "datasource", targetNamespace = "http://mdws.domain/QuerySvc")
        String datasource,
        @WebParam(name = "port", targetNamespace = "http://mdws.domain/QuerySvc")
        String port,
        @WebParam(name = "modality", targetNamespace = "http://mdws.domain/QuerySvc")
        String modality,
        @WebParam(name = "protocol", targetNamespace = "http://mdws.domain/QuerySvc")
        String protocol,
        @WebParam(name = "region", targetNamespace = "http://mdws.domain/QuerySvc")
        String region);

    /**
     * Set the current session's sites file
     * 
     * @param sitesFileName
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SiteArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/setVha")
    @WebResult(name = "setVhaResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "setVha", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SetVha")
    @ResponseWrapper(localName = "setVhaResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SetVhaResponse")
    public SiteArray setVha(
        @WebParam(name = "sitesFileName", targetNamespace = "http://mdws.domain/QuerySvc")
        String sitesFileName);

    /**
     * Get all VHA sites
     * 
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.RegionArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/getVHA")
    @WebResult(name = "getVHAResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "getVHA", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetVHA")
    @ResponseWrapper(localName = "getVHAResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.GetVHAResponse")
    public RegionArray getVHA();

    /**
     * Connect to a single VistA system
     * 
     * @param sitelist
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.DataSourceArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/connect")
    @WebResult(name = "connectResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "connect", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.Connect")
    @ResponseWrapper(localName = "connectResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.ConnectResponse")
    public DataSourceArray connect(
        @WebParam(name = "sitelist", targetNamespace = "http://mdws.domain/QuerySvc")
        String sitelist);

    /**
     * Log onto a single VistA system
     * 
     * @param pwd
     * @param username
     * @param context
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.UserTO
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/login")
    @WebResult(name = "loginResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "login", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.Login")
    @ResponseWrapper(localName = "loginResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.LoginResponse")
    public UserTO login(
        @WebParam(name = "username", targetNamespace = "http://mdws.domain/QuerySvc")
        String username,
        @WebParam(name = "pwd", targetNamespace = "http://mdws.domain/QuerySvc")
        String pwd,
        @WebParam(name = "context", targetNamespace = "http://mdws.domain/QuerySvc")
        String context);

    /**
     * Disconnect from all connected Vista systems.
     * 
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.TaggedTextArray
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/disconnect")
    @WebResult(name = "disconnectResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "disconnect", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.Disconnect")
    @ResponseWrapper(localName = "disconnectResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.DisconnectResponse")
    public TaggedTextArray disconnect();

    /**
     * Select a patient at logged in site. DFN is the Patient's IEN.
     * 
     * @param dfn
     * @return
     *     returns com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.PatientTO
     */
    @WebMethod(action = "http://mdws.domain/QuerySvc/select")
    @WebResult(name = "selectResult", targetNamespace = "http://mdws.domain/QuerySvc")
    @RequestWrapper(localName = "select", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.Select")
    @ResponseWrapper(localName = "selectResponse", targetNamespace = "http://mdws.domain/QuerySvc", className = "com.agilex.healthcare.schedulingmanager.mdws.generatedwsdl.queryservice.SelectResponse")
    public PatientTO select(
        @WebParam(name = "DFN", targetNamespace = "http://mdws.domain/QuerySvc")
        String dfn);

}
