public visitDoD ( string pwd ) : |
||
pwd | string | |
return |
public TaggedTextArray visitDoD(string pwd)
{
Site site = mySession.SiteTable.getSite(MdwsConstants.DOD_SITE);
AbstractCredentials credentials = getAdministrativeCredentials(site);
credentials.SecurityPhrase = mySession.MdwsConfiguration.AllConfigs[ConfigFileConstants.PRIMARY_CONFIG_SECTION][MdwsConfigConstants.SERVICE_ACCOUNT_PASSWORD];
string context = MdwsConstants.MDWS_CONTEXT;
if (mySession.DefaultVisitMethod == MdwsConstants.NON_BSE_CREDENTIALS)
{
context = MdwsConstants.CPRS_CONTEXT;
}
AbstractPermission permission = new MenuOption(context);
permission.IsPrimary = true;
TaggedTextArray result = new TaggedTextArray();
try
{
User u = doTheVisit(site.Id, credentials, permission);
result.results = new TaggedText[] { new TaggedText(site.Id, u.Uid) };
addMyCxn2CxnSet();
mySession.Credentials = credentials;
mySession.PrimaryPermission = permission;
}
catch (Exception e)
{
result.fault = new FaultTO(e.Message);
}
return result;
}
/// <summary> /// Given a national identifier find the patient's sites /// </summary> /// <param name="mpiPid"></param> /// <returns></returns> public TaggedTextArray getPatientSitesByMpiPid(string mpiPid) { TaggedTextArray result = new TaggedTextArray(); if (String.IsNullOrEmpty(mpiPid)) { result.fault = new FaultTO("Missing mpiPid"); } if (result.fault != null) { return(result); } // Temporary visit to site 200 for initial lookup AccountLib acctLib = new AccountLib(mySession); result = acctLib.visitDoD(null); if (result.fault != null) { return(result); } TextTO localPid = getLocalPid(mpiPid); if (localPid.fault != null) { result.fault = localPid.fault; return(result); } if (String.IsNullOrEmpty(localPid.text)) { result.fault = new FaultTO("Empty DFN returned from VistA"); return(result); } PatientApi patientApi = new PatientApi(); StringDictionary siteIds = patientApi.getRemoteSiteIds(mySession.ConnectionSet.BaseConnection, localPid.text); mySession.ConnectionSet.disconnectAll(); result = new TaggedTextArray(siteIds); return(result); }