///<summary>Typically used when user clicks a button to a Program link. This method attempts to identify and execute the program based on the given programNum.</summary> public static void Execute(int programNum, Patient pat) { Program Cur = null; for (int i = 0; i < List.Length; i++) { if (List[i].ProgramNum == programNum) { Cur = List[i]; } } if (Cur == null) //no match was found { MessageBox.Show("Error, program entry not found in database."); return; } if (Cur.ProgName == "Apteryx") { Apteryx.SendData(Cur, pat); return; } else if (Cur.ProgName == "DBSWin") { DBSWin.SendData(Cur, pat); return; } else if (Cur.ProgName == "DentalEye") { DentalEye.SendData(Cur, pat); return; } else if (Cur.ProgName == "DentForms") { DentForms.SendData(Cur, pat); return; } else if (Cur.ProgName == "DentX") { DentX.SendData(Cur, pat); return; } else if (Cur.ProgName == "Dexis") { Dexis.SendData(Cur, pat); return; } else if (Cur.ProgName == "DrCeph") { DrCeph.SendData(Cur, pat); return; } else if (Cur.ProgName == "Dxis") { Dxis.SendData(Cur, pat); return; } else if (Cur.ProgName == "FloridaProbe") { FloridaProbe.SendData(Cur, pat); return; } else if (Cur.ProgName == "HouseCalls") { FormHouseCalls FormHC = new FormHouseCalls(); FormHC.ProgramCur = Cur; FormHC.ShowDialog(); return; } else if (Cur.ProgName == "ImageFX") { ImageFX.SendData(Cur, pat); return; } else if (Cur.ProgName == "Lightyear") { Lightyear.SendData(Cur, pat); return; } else if (Cur.ProgName == "MediaDent") { MediaDent.SendData(Cur, pat); return; } else if (Cur.ProgName == "NewPatientForm.com") { NewPatientForm npf = new NewPatientForm(); npf.ShowDownload(Cur.Path); //NewPatientForm.com return; } else if (Cur.ProgName == "Owandy") { Owandy.SendData(Cur, pat); return; } else if (Cur.ProgName == "PerioPal") { PerioPal.SendData(Cur, pat); return; } else if (Cur.ProgName == "Planmeca") { Planmeca.SendData(Cur, pat); return; } else if (Cur.ProgName == "Schick") { Schick.SendData(Cur, pat); return; } else if (Cur.ProgName == "Sirona") { Sirona.SendData(Cur, pat); return; } else if (Cur.ProgName == "TigerView") { TigerView.SendData(Cur, pat); return; } else if (Cur.ProgName == "Trophy") { Trophy.SendData(Cur, pat); return; } else if (Cur.ProgName == "TrophyEnhanced") { TrophyEnhanced.SendData(Cur, pat); return; } else if (Cur.ProgName == "Vipersoft") { Vipersoft.SendData(Cur, pat); return; } else if (Cur.ProgName == "VixWin") { VixWin.SendData(Cur, pat); return; } else if (Cur.ProgName == "VixWinOld") { VixWinOld.SendData(Cur, pat); return; } else if (Cur.ProgName == "XDR") { Dexis.SendData(Cur, pat); //XDR uses the Dexis protocol return; } //all remaining programs: try{ string cmdline = Cur.CommandLine; cmdline = cmdline.Replace("[PatNum]", pat.PatNum.ToString()); cmdline = cmdline.Replace("[ChartNumber]", pat.ChartNumber); string path = Cur.Path; path = path.Replace("[PatNum]", pat.PatNum.ToString()); path = path.Replace("[ChartNumber]", pat.ChartNumber); Process.Start(path, cmdline); } catch { MessageBox.Show(Cur.ProgDesc + " is not available."); return; } }
///<summary>Typically used when user clicks a button to a Program link. This method attempts to identify and execute the program based on the given programNum.</summary> public static void Execute(long programNum,Patient pat) { Program prog=null; List<Program> listPrograms=ProgramC.GetListt(); for(int i=0;i<listPrograms.Count;i++) { if(listPrograms[i].ProgramNum==programNum) { prog=listPrograms[i]; } } if(prog==null) {//no match was found MessageBox.Show("Error, program entry not found in database."); return; } if(PrefC.GetBool(PrefName.ShowFeaturePatientClone)) { Patient patClone; Patient patNonClone; List<Patient> listAmbiguousMatches; Patients.GetCloneAndNonClone(pat,out patClone,out patNonClone,out listAmbiguousMatches); if(patNonClone!=null) { pat=patNonClone; } } if(prog.PluginDllName!="") { if(pat==null) { Plugins.LaunchToolbarButton(programNum,0); } else{ Plugins.LaunchToolbarButton(programNum,pat.PatNum); } return; } if(prog.ProgName==ProgramName.Apixia.ToString()) { Apixia.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Apteryx.ToString()) { Apteryx.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.AudaxCeph.ToString()) { AudaxCeph.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.BioPAK.ToString()) { BioPAK.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Camsight.ToString()) { Camsight.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.CaptureLink.ToString()) { CaptureLink.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Cerec.ToString()) { Cerec.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.CliniView.ToString()) { Cliniview.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.ClioSoft.ToString()) { ClioSoft.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DBSWin.ToString()) { DBSWin.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DemandForce.ToString()) { DemandForce.SendData(prog,pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if(prog.ProgName==ProgramName.DentalEye.ToString()) { DentalEye.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DentalStudio.ToString()) { DentalStudio.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DentX.ToString()) { DentX.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DrCeph.ToString()) { DrCeph.SendData(prog,pat); return; } #endif else if(prog.ProgName==ProgramName.DentForms.ToString()) { DentForms.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Dexis.ToString()) { Dexis.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Digora.ToString()) { Digora.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Office.ToString()) { Office.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Dolphin.ToString()) { Dolphin.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Dxis.ToString()) { Dxis.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.EvaSoft.ToString()) { EvaSoft.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.EwooEZDent.ToString()) { Ewoo.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.FloridaProbe.ToString()) { FloridaProbe.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Guru.ToString()) { Guru.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.HandyDentist.ToString()) { HandyDentist.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.HouseCalls.ToString()) { FormHouseCalls FormHC=new FormHouseCalls(); FormHC.ProgramCur=prog; FormHC.ShowDialog(); return; } else if(prog.ProgName==ProgramName.iCat.ToString()) { ICat.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.ImageFX.ToString()) { ImageFX.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.iRYS.ToString()) { Irys.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Lightyear.ToString()) { Lightyear.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.MediaDent.ToString()) { MediaDent.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.MiPACS.ToString()) { MiPACS.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Owandy.ToString()) { Owandy.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.PandaPerio.ToString()) { PandaPerio.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Patterson.ToString()) { Patterson.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.PerioPal.ToString()) { PerioPal.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Planmeca.ToString()) { Planmeca.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Progeny.ToString()) { Progeny.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.PT.ToString()) { PaperlessTechnology.SendData(prog,pat,false); return; } else if(prog.ProgName==ProgramName.PTupdate.ToString()) { PaperlessTechnology.SendData(prog,pat,true); return; } else if(prog.ProgName==ProgramName.RayMage.ToString()) { RayMage.SendData(prog,pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if(prog.ProgName==ProgramName.Schick.ToString()) { Schick.SendData(prog,pat); return; } #endif else if(prog.ProgName==ProgramName.Sirona.ToString()) { Sirona.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Sopro.ToString()) { Sopro.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.TigerView.ToString()) { TigerView.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Triana.ToString()) { Triana.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Trophy.ToString()) { Trophy.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.TrophyEnhanced.ToString()) { TrophyEnhanced.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Tscan.ToString()) { Tscan.SendData(prog,pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if(prog.ProgName==ProgramName.Vipersoft.ToString()) { Vipersoft.SendData(prog,pat); return; } #endif else if(prog.ProgName==ProgramName.visOra.ToString()) { Visora.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VistaDent.ToString()) { VistaDent.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VixWin.ToString()) { VixWin.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VixWinBase36.ToString()) { VixWinBase36.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VixWinBase41.ToString()) { VixWinBase41.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VixWinNumbered.ToString()) { VixWinNumbered.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VixWinOld.ToString()) { VixWinOld.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.XDR.ToString()) { Dexis.SendData(prog,pat);//XDR uses the Dexis protocol return; } else if(prog.ProgName==ProgramName.XVWeb.ToString()) { XVWeb.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.ZImage.ToString()) { ZImage.SendData(prog,pat); return; } //all remaining programs: try{ string cmdline=prog.CommandLine; string path=Programs.GetProgramPath(prog); if(pat!=null) { cmdline=cmdline.Replace("[LName]",pat.LName); cmdline=cmdline.Replace("[FName]",pat.FName); cmdline=cmdline.Replace("[PatNum]",pat.PatNum.ToString()); cmdline=cmdline.Replace("[ChartNumber]",pat.ChartNumber); cmdline=cmdline.Replace("[WirelessPhone]",pat.WirelessPhone); cmdline=cmdline.Replace("[HmPhone]",pat.HmPhone); cmdline=cmdline.Replace("[WkPhone]",pat.WkPhone); cmdline=cmdline.Replace("[LNameLetter]",pat.LName.Substring(0,1).ToUpper()); path=path.Replace("[LName]",pat.LName); path=path.Replace("[FName]",pat.FName); path=path.Replace("[PatNum]",pat.PatNum.ToString()); path=path.Replace("[ChartNumber]",pat.ChartNumber); path=path.Replace("[WirelessPhone]",pat.WirelessPhone); path=path.Replace("[HmPhone]",pat.HmPhone); path=path.Replace("[WkPhone]",pat.WkPhone); path=path.Replace("[LNameLetter]",pat.LName.Substring(0,1).ToUpper()); } Process.Start(path,cmdline); } catch{ MessageBox.Show(prog.ProgDesc+" is not available."); return; } }
///<summary>Typically used when user clicks a button to a Program link. This method attempts to identify and execute the program based on the given programNum.</summary> public static void Execute(long programNum, Patient pat) { Program prog = null; for (int i = 0; i < ProgramC.Listt.Count; i++) { if (ProgramC.Listt[i].ProgramNum == programNum) { prog = ProgramC.Listt[i]; } } if (prog == null) //no match was found { MessageBox.Show("Error, program entry not found in database."); return; } if (prog.PluginDllName != "") { if (pat != null) { Plugins.LaunchToolbarButton(programNum, pat.PatNum); } return; } if (prog.ProgName == ProgramName.Apixia.ToString()) { Apixia.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Apteryx.ToString()) { Apteryx.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.BioPAK.ToString()) { BioPAK.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Camsight.ToString()) { Camsight.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CaptureLink.ToString()) { CaptureLink.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Cerec.ToString()) { Cerec.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CliniView.ToString()) { Cliniview.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ClioSoft.ToString()) { ClioSoft.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DBSWin.ToString()) { DBSWin.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.DentalEye.ToString()) { DentalEye.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentalStudio.ToString()) { DentalStudio.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentX.ToString()) { DentX.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DrCeph.ToString()) { DrCeph.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.DentForms.ToString()) { DentForms.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dexis.ToString()) { Dexis.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Digora.ToString()) { Digora.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dolphin.ToString()) { Dolphin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dxis.ToString()) { Dxis.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.EvaSoft.ToString()) { EvaSoft.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.EwooEZDent.ToString()) { Ewoo.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.FloridaProbe.ToString()) { FloridaProbe.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Guru.ToString()) { Guru.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.HouseCalls.ToString()) { FormHouseCalls FormHC = new FormHouseCalls(); FormHC.ProgramCur = prog; FormHC.ShowDialog(); return; } else if (prog.ProgName == ProgramName.iCat.ToString()) { ICat.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ImageFX.ToString()) { ImageFX.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Lightyear.ToString()) { Lightyear.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.MediaDent.ToString()) { MediaDent.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.MiPACS.ToString()) { MiPACS.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Owandy.ToString()) { Owandy.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Patterson.ToString()) { Patterson.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PerioPal.ToString()) { PerioPal.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Planmeca.ToString()) { Planmeca.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Progeny.ToString()) { Progeny.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PT.ToString()) { PaperlessTechnology.SendData(prog, pat, false); return; } else if (prog.ProgName == ProgramName.PTupdate.ToString()) { PaperlessTechnology.SendData(prog, pat, true); return; } else if (prog.ProgName == ProgramName.RayMage.ToString()) { RayMage.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.Schick.ToString()) { Schick.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.Sirona.ToString()) { Sirona.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Sopro.ToString()) { Sopro.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.TigerView.ToString()) { TigerView.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Trophy.ToString()) { Trophy.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.TrophyEnhanced.ToString()) { TrophyEnhanced.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Tscan.ToString()) { Tscan.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.Vipersoft.ToString()) { Vipersoft.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.VixWin.ToString()) { VixWin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinBase41.ToString()) { VixWinBase41.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinOld.ToString()) { VixWinOld.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.XDR.ToString()) { Dexis.SendData(prog, pat); //XDR uses the Dexis protocol return; } //all remaining programs: try{ string cmdline = prog.CommandLine; string path = Programs.GetProgramPath(prog); if (pat != null) { cmdline = cmdline.Replace("[LName]", pat.LName); cmdline = cmdline.Replace("[FName]", pat.FName); cmdline = cmdline.Replace("[PatNum]", pat.PatNum.ToString()); cmdline = cmdline.Replace("[ChartNumber]", pat.ChartNumber); cmdline = cmdline.Replace("[WirelessPhone]", pat.WirelessPhone); cmdline = cmdline.Replace("[HmPhone]", pat.HmPhone); cmdline = cmdline.Replace("[WkPhone]", pat.WkPhone); cmdline = cmdline.Replace("[LNameLetter]", pat.LName.Substring(0, 1).ToUpper()); path = path.Replace("[LName]", pat.LName); path = path.Replace("[FName]", pat.FName); path = path.Replace("[PatNum]", pat.PatNum.ToString()); path = path.Replace("[ChartNumber]", pat.ChartNumber); path = path.Replace("[WirelessPhone]", pat.WirelessPhone); path = path.Replace("[HmPhone]", pat.HmPhone); path = path.Replace("[WkPhone]", pat.WkPhone); path = path.Replace("[LNameLetter]", pat.LName.Substring(0, 1).ToUpper()); } Process.Start(path, cmdline); } catch { MessageBox.Show(prog.ProgDesc + " is not available."); return; } }
///<summary>Typically used when user clicks a button to a Program link. This method attempts to identify and execute the program based on the given programNum.</summary> public static void Execute(long programNum,Patient pat) { Program prog=null; for(int i=0;i<ProgramC.Listt.Count;i++){ if(ProgramC.Listt[i].ProgramNum==programNum) { prog=ProgramC.Listt[i]; } } if(prog==null) {//no match was found MessageBox.Show("Error, program entry not found in database."); return; } if(prog.PluginDllName!="") { if(pat!=null) { Plugins.LaunchToolbarButton(programNum,pat.PatNum); } return; } if(prog.ProgName==ProgramName.Apixia.ToString()) { Apixia.SendData(prog,pat); return; } if(prog.ProgName==ProgramName.Apteryx.ToString()) { Apteryx.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Camsight.ToString()) { Camsight.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Cerec.ToString()) { Cerec.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.CliniView.ToString()) { Cliniview.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DBSWin.ToString()) { DBSWin.SendData(prog,pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if(prog.ProgName==ProgramName.DentalEye.ToString()) { DentalEye.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DentX.ToString()) { DentX.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.DrCeph.ToString()) { DrCeph.SendData(prog,pat); return; } #endif else if(prog.ProgName==ProgramName.DentForms.ToString()) { DentForms.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Dexis.ToString()) { Dexis.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Digora.ToString()) { Digora.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Dolphin.ToString()) { Dolphin.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Dxis.ToString()) { Dxis.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.EvaSoft.ToString()) { EvaSoft.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.EwooEZDent.ToString()) { Ewoo.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.FloridaProbe.ToString()) { FloridaProbe.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.HouseCalls.ToString()) { FormHouseCalls FormHC=new FormHouseCalls(); FormHC.ProgramCur=prog; FormHC.ShowDialog(); return; } else if(prog.ProgName==ProgramName.iCat.ToString()) { ICat.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.ImageFX.ToString()) { ImageFX.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Lightyear.ToString()) { Lightyear.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.MediaDent.ToString()) { MediaDent.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.MiPACS.ToString()) { MiPACS.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Owandy.ToString()) { Owandy.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Patterson.ToString()) { Patterson.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.PerioPal.ToString()) { PerioPal.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Planmeca.ToString()) { Planmeca.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Progeny.ToString()) { Progeny.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.PT.ToString()) { PaperlessTechnology.SendData(prog,pat,false); return; } else if(prog.ProgName==ProgramName.PTupdate.ToString()) { PaperlessTechnology.SendData(prog,pat,true); return; } #if !DISABLE_WINDOWS_BRIDGES else if(prog.ProgName==ProgramName.Schick.ToString()) { Schick.SendData(prog,pat); return; } #endif else if(prog.ProgName==ProgramName.Sirona.ToString()) { Sirona.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Sopro.ToString()) { Sopro.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.TigerView.ToString()) { TigerView.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.Trophy.ToString()) { Trophy.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.TrophyEnhanced.ToString()) { TrophyEnhanced.SendData(prog,pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if(prog.ProgName==ProgramName.Vipersoft.ToString()) { Vipersoft.SendData(prog,pat); return; } #endif else if(prog.ProgName==ProgramName.VixWin.ToString()) { VixWin.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VixWinBase41.ToString()) { VixWinBase41.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.VixWinOld.ToString()) { VixWinOld.SendData(prog,pat); return; } else if(prog.ProgName==ProgramName.XDR.ToString()) { Dexis.SendData(prog,pat);//XDR uses the Dexis protocol return; } //all remaining programs: try{ string cmdline=prog.CommandLine; string path=prog.Path; if(pat!=null) { cmdline=cmdline.Replace("[LName]",pat.LName); cmdline=cmdline.Replace("[FName]",pat.FName); cmdline=cmdline.Replace("[PatNum]",pat.PatNum.ToString()); cmdline=cmdline.Replace("[ChartNumber]",pat.ChartNumber); cmdline=cmdline.Replace("[WirelessPhone]",pat.WirelessPhone); cmdline=cmdline.Replace("[HmPhone]",pat.HmPhone); cmdline=cmdline.Replace("[WkPhone]",pat.WkPhone); path=path.Replace("[LName]",pat.LName); path=path.Replace("[FName]",pat.FName); path=path.Replace("[PatNum]",pat.PatNum.ToString()); path=path.Replace("[ChartNumber]",pat.ChartNumber); path=path.Replace("[WirelessPhone]",pat.WirelessPhone); path=path.Replace("[HmPhone]",pat.HmPhone); path=path.Replace("[WkPhone]",pat.WkPhone); } Process.Start(path,cmdline); } catch{ MessageBox.Show(prog.ProgDesc+" is not available."); return; } }
///<summary>Typically used when user clicks a button to a Program link. This method attempts to identify and execute the program based on the given programNum.</summary> public static void Execute(long programNum, Patient pat) { Program prog = Programs.GetFirstOrDefault(x => x.ProgramNum == programNum); if (prog == null) //no match was found { MessageBox.Show("Error, program entry not found in database."); return; } if (pat != null && PrefC.GetBool(PrefName.ShowFeaturePatientClone)) { pat = Patients.GetOriginalPatientForClone(pat); } if (prog.PluginDllName != "") { if (pat == null) { Plugins.LaunchToolbarButton(programNum, 0); } else { Plugins.LaunchToolbarButton(programNum, pat.PatNum); } return; } if (ODBuild.IsWeb() && prog.ProgName.In(Programs.GetListDisabledForWeb().Select(x => x.ToString()))) { MsgBox.Show("ProgramLinks", "Bridge is not available while viewing through the web."); return; //bridge is not available for web users at this time. } if (prog.ProgName == ProgramName.ActeonImagingSuite.ToString()) { ActeonImagingSuite.SendData(prog, pat); return; } if (prog.ProgName == ProgramName.Adstra.ToString()) { Adstra.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Apixia.ToString()) { Apixia.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Apteryx.ToString()) { Apteryx.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.AudaxCeph.ToString()) { AudaxCeph.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.BencoPracticeManagement.ToString()) { Benco.SendData(prog); return; } else if (prog.ProgName == ProgramName.BioPAK.ToString()) { BioPAK.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CADI.ToString()) { CADI.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Camsight.ToString()) { Camsight.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CaptureLink.ToString()) { CaptureLink.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Carestream.ToString()) { Carestream.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Cerec.ToString()) { Cerec.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CleaRay.ToString()) { CleaRay.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CliniView.ToString()) { Cliniview.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ClioSoft.ToString()) { ClioSoft.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DBSWin.ToString()) { DBSWin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DemandForce.ToString()) { DemandForce.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.DentalEye.ToString()) { DentalEye.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentalStudio.ToString()) { DentalStudio.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentX.ToString()) { DentX.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DrCeph.ToString()) { DrCeph.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.DentalTekSmartOfficePhone.ToString()) { DentalTek.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentForms.ToString()) { DentForms.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dexis.ToString()) { Dexis.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.DexisIntegrator.ToString()) { DexisIntegrator.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.Digora.ToString()) { Digora.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dimaxis.ToString()) { Planmeca.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Office.ToString()) { Office.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dolphin.ToString()) { Dolphin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DXCPatientCreditScore.ToString()) { DentalXChange.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dxis.ToString()) { Dxis.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.EvaSoft.ToString()) { EvaSoft.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.EwooEZDent.ToString()) { Ewoo.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.FloridaProbe.ToString()) { FloridaProbe.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Guru.ToString()) { Guru.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.HandyDentist.ToString()) { HandyDentist.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.HouseCalls.ToString()) { FormHouseCalls FormHC = new FormHouseCalls(); FormHC.ProgramCur = prog; FormHC.ShowDialog(); return; } else if (prog.ProgName == ProgramName.iCat.ToString()) { ICat.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.HdxWill.ToString()) { HdxWill.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.iDixel.ToString()) { iDixel.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ImageFX.ToString()) { ImageFX.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.iRYS.ToString()) { Irys.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Lightyear.ToString()) { Lightyear.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.NewTomNNT.ToString()) { NewTomNNT.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.MediaDent.ToString()) { MediaDent.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Midway.ToString()) { Midway.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.MiPACS.ToString()) { MiPACS.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.OrthoCAD.ToString()) { OrthoCad.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Oryx.ToString()) { Oryx.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.OrthoInsight3d.ToString()) { OrthoInsight3d.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Owandy.ToString()) { Owandy.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PandaPerio.ToString()) { PandaPerio.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PandaPerioAdvanced.ToString()) { PandaPerioAdvanced.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Patterson.ToString()) { Patterson.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PDMP.ToString()) { string response = ""; if (PDMP.TrySendData(prog, pat, out response)) { FormWebBrowser formWebBrowser = new FormWebBrowser(response); formWebBrowser.Show(); } else { MessageBox.Show(response, "PDMP"); } return; } else if (prog.ProgName == ProgramName.PerioPal.ToString()) { PerioPal.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PracticeByNumbers.ToString()) { PracticeByNumbers.ShowPage(); return; } else if (prog.ProgName == ProgramName.Progeny.ToString()) { Progeny.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PT.ToString()) { PaperlessTechnology.SendData(prog, pat, false); return; } else if (prog.ProgName == ProgramName.PTupdate.ToString()) { PaperlessTechnology.SendData(prog, pat, true); return; } else if (prog.ProgName == ProgramName.RayMage.ToString()) { RayMage.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Romexis.ToString()) { Romexis.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Scanora.ToString()) { Scanora.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.Schick.ToString()) { Schick.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.Sirona.ToString()) { Sirona.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.SMARTDent.ToString()) { SmartDent.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Sopro.ToString()) { Sopro.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.TigerView.ToString()) { TigerView.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Triana.ToString()) { Triana.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.TrojanExpressCollect.ToString()) { using (FormTrojanCollect FormT = new FormTrojanCollect(pat)) { FormT.ShowDialog(); } return; } else if (prog.ProgName == ProgramName.Trophy.ToString()) { Trophy.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.TrophyEnhanced.ToString()) { TrophyEnhanced.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Tscan.ToString()) { Tscan.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.Vipersoft.ToString()) { Vipersoft.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.visOra.ToString()) { Visora.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VistaDent.ToString()) { VistaDent.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWin.ToString()) { VixWin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinBase36.ToString()) { VixWinBase36.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinBase41.ToString()) { VixWinBase41.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinNumbered.ToString()) { VixWinNumbered.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinOld.ToString()) { VixWinOld.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.XDR.ToString()) { XDR.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.XVWeb.ToString()) { XVWeb.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ZImage.ToString()) { ZImage.SendData(prog, pat); return; } //all remaining programs: try{ string cmdline = prog.CommandLine; string path = Programs.GetProgramPath(prog); string outputFilePath = prog.FilePath; string fileTemplate = prog.FileTemplate; if (pat != null) { cmdline = ReplaceHelper(cmdline, pat); path = ReplaceHelper(path, pat); if (!String.IsNullOrEmpty(outputFilePath) && !String.IsNullOrEmpty(fileTemplate)) { fileTemplate = ReplaceHelper(fileTemplate, pat); fileTemplate = fileTemplate.Replace("\n", "\r\n"); ODFileUtils.WriteAllTextThenStart(outputFilePath, fileTemplate, path, cmdline); //Nothing else to do so return; return; } } //We made it this far and we haven't started the program yet so start it. ODFileUtils.ProcessStart(path, cmdline); } catch (Exception e) { MessageBox.Show(prog.ProgDesc + " is not available."); return; } }
///<summary>Typically used when user clicks a button to a Program link. This method attempts to identify and execute the program based on the given programNum.</summary> public static void Execute(long programNum, Patient pat) { Program prog = Programs.GetFirstOrDefault(x => x.ProgramNum == programNum); if (prog == null) //no match was found { MessageBox.Show("Error, program entry not found in database."); return; } if (pat != null && PrefC.GetBool(PrefName.ShowFeaturePatientClone)) { pat = Patients.GetOriginalPatientForClone(pat); } if (prog.PluginDllName != "") { if (pat == null) { Plugins.LaunchToolbarButton(programNum, 0); } else { Plugins.LaunchToolbarButton(programNum, pat.PatNum); } return; } if (prog.ProgName == ProgramName.ActeonImagingSuite.ToString()) { ActeonImagingSuite.SendData(prog, pat); return; } if (prog.ProgName == ProgramName.Adstra.ToString()) { Adstra.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Apixia.ToString()) { Apixia.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Apteryx.ToString()) { Apteryx.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.AudaxCeph.ToString()) { AudaxCeph.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.BioPAK.ToString()) { BioPAK.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CADI.ToString()) { CADI.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Camsight.ToString()) { Camsight.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CaptureLink.ToString()) { CaptureLink.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Carestream.ToString()) { Carestream.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Cerec.ToString()) { Cerec.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CleaRay.ToString()) { CleaRay.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.CliniView.ToString()) { Cliniview.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ClioSoft.ToString()) { ClioSoft.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DBSWin.ToString()) { DBSWin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DemandForce.ToString()) { DemandForce.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.DentalEye.ToString()) { DentalEye.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentalStudio.ToString()) { DentalStudio.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentX.ToString()) { DentX.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DrCeph.ToString()) { DrCeph.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.DentalTekSmartOfficePhone.ToString()) { DentalTek.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.DentForms.ToString()) { DentForms.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dexis.ToString()) { Dexis.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Digora.ToString()) { Digora.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dimaxis.ToString()) { Planmeca.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Office.ToString()) { Office.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dolphin.ToString()) { Dolphin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Dxis.ToString()) { Dxis.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.EvaSoft.ToString()) { EvaSoft.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.EwooEZDent.ToString()) { Ewoo.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.FloridaProbe.ToString()) { FloridaProbe.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Guru.ToString()) { Guru.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.HandyDentist.ToString()) { HandyDentist.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.HouseCalls.ToString()) { FormHouseCalls FormHC = new FormHouseCalls(); FormHC.ProgramCur = prog; FormHC.ShowDialog(); return; } else if (prog.ProgName == ProgramName.iCat.ToString()) { ICat.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.HdxWill.ToString()) { HdxWill.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.iDixel.ToString()) { iDixel.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ImageFX.ToString()) { ImageFX.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.iRYS.ToString()) { Irys.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Lightyear.ToString()) { Lightyear.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.NewTomNNT.ToString()) { NewTomNNT.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.MediaDent.ToString()) { MediaDent.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.MiPACS.ToString()) { MiPACS.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.OrthoCAD.ToString()) { OrthoCad.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.OrthoInsight3d.ToString()) { OrthoInsight3d.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Owandy.ToString()) { Owandy.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PandaPerio.ToString()) { PandaPerio.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Patterson.ToString()) { Patterson.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PerioPal.ToString()) { PerioPal.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PracticeByNumbers.ToString()) { PracticeByNumbers.ShowPage(); return; } else if (prog.ProgName == ProgramName.Progeny.ToString()) { Progeny.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.PT.ToString()) { PaperlessTechnology.SendData(prog, pat, false); return; } else if (prog.ProgName == ProgramName.PTupdate.ToString()) { PaperlessTechnology.SendData(prog, pat, true); return; } else if (prog.ProgName == ProgramName.RayMage.ToString()) { RayMage.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Romexis.ToString()) { Romexis.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Scanora.ToString()) { Scanora.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.Schick.ToString()) { Schick.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.Sirona.ToString()) { Sirona.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.SMARTDent.ToString()) { SmartDent.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Sopro.ToString()) { Sopro.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.TigerView.ToString()) { TigerView.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Triana.ToString()) { Triana.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Trophy.ToString()) { Trophy.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.TrophyEnhanced.ToString()) { TrophyEnhanced.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.Tscan.ToString()) { Tscan.SendData(prog, pat); return; } #if !DISABLE_WINDOWS_BRIDGES else if (prog.ProgName == ProgramName.Vipersoft.ToString()) { Vipersoft.SendData(prog, pat); return; } #endif else if (prog.ProgName == ProgramName.visOra.ToString()) { Visora.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VistaDent.ToString()) { VistaDent.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWin.ToString()) { VixWin.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinBase36.ToString()) { VixWinBase36.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinBase41.ToString()) { VixWinBase41.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinNumbered.ToString()) { VixWinNumbered.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.VixWinOld.ToString()) { VixWinOld.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.XDR.ToString()) { Dexis.SendData(prog, pat); //XDR uses the Dexis protocol return; } else if (prog.ProgName == ProgramName.XVWeb.ToString()) { XVWeb.SendData(prog, pat); return; } else if (prog.ProgName == ProgramName.ZImage.ToString()) { ZImage.SendData(prog, pat); return; } //all remaining programs: try{ string cmdline = prog.CommandLine; string path = Programs.GetProgramPath(prog); string outputFilePath = prog.FilePath; string fileTemplate = prog.FileTemplate; if (pat != null) { cmdline = Patients.ReplacePatient(cmdline, pat); path = Patients.ReplacePatient(path, pat); if (!String.IsNullOrEmpty(outputFilePath) && !String.IsNullOrEmpty(fileTemplate)) { fileTemplate = Patients.ReplacePatient(fileTemplate, pat); fileTemplate = fileTemplate.Replace("\n", "\r\n"); File.WriteAllText(outputFilePath, fileTemplate); } } Process.Start(path, cmdline); } catch { MessageBox.Show(prog.ProgDesc + " is not available."); return; } }