59 lines
2.3 KiB
C#
59 lines
2.3 KiB
C#
namespace Pluto.Api {
|
|
using System;
|
|
using RemObjects.SDK;
|
|
using RemObjects.SDK.Types;
|
|
using RemObjects.SDK.Server;
|
|
using RemObjects.SDK.Server.ClassFactories;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
using PlutoServer.MSL;
|
|
using PlutoServer.MSL.Connectors;
|
|
|
|
[RemObjects.SDK.Server.ClassFactories.StandardClassFactory()]
|
|
[RemObjects.SDK.Server.Service(Name = "Terminology", InvokerClass = typeof(Terminology_Invoker), ActivatorClass = typeof(Terminology_Activator))]
|
|
public class Terminology : RemObjects.SDK.Server.Service, ITerminology {
|
|
private System.ComponentModel.Container components = null;
|
|
public Terminology() :
|
|
base() {
|
|
this.InitializeComponent();
|
|
}
|
|
private void InitializeComponent() {
|
|
}
|
|
protected override void Dispose(bool aDisposing) {
|
|
if(aDisposing) {
|
|
if((this.components != null)) {
|
|
this.components.Dispose();
|
|
}
|
|
}
|
|
base.Dispose(aDisposing);
|
|
}
|
|
|
|
#region ITerminology Members
|
|
|
|
public TerminologyInfo1[] SearchTerminology(string apiKey, string searchString, TerminologySearchTypeEnum searchType, TerminologyDomainEnum terminologyDomain, string chartID)
|
|
{
|
|
bool bDoDiagnosisSearch = (terminologyDomain == TerminologyDomainEnum.DiagnosesAll);
|
|
bool bDoProceduresSearch = (terminologyDomain == TerminologyDomainEnum.ProceduresAll);
|
|
|
|
if (ProductType.IsKeyLytec(apiKey))
|
|
{
|
|
if(bDoDiagnosisSearch)
|
|
return LytecConnector.GetDiagnosisList(apiKey, searchString);
|
|
if(bDoProceduresSearch)
|
|
return LytecConnector.GetProceduresList(apiKey, chartID, searchString);
|
|
}
|
|
else if (ProductType.IsKeyMedisoft(apiKey))
|
|
{
|
|
if (bDoDiagnosisSearch)
|
|
return MedisoftConnector.GetDiagnosisList(apiKey, searchString);
|
|
if (bDoProceduresSearch)
|
|
return MedisoftConnector.GetProceduresList(apiKey, chartID, searchString);
|
|
}
|
|
|
|
// Something Failed
|
|
return null;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |