unit rProbs; interface uses SysUtils, Classes, ORNet, ORFn, uCore; function AddSave(PatientInfo: string; ProviderID: int64; ptVAMC: string; ProbFile: TStringList): TStrings ; function AuditHistory(ProblemIFN: string): TStrings ; function ClinicFilterList(LocList: TStringList): TStrings ; function ClinicSearch(DummyArg:string): TStrings ; function ProblemDelete(ProblemIFN: string; ProviderID: int64; ptVAMC, Comment: string): TStrings ; {function ProblemDetail} function EditLoad(ProblemIFN: string; ProviderID: int64; ptVAMC: string): TStrings ; function EditSave(ProblemIFN: string; ProviderID: int64; ptVAMC, PrimUser: string; ProbFile: TStringList): TStrings ; function InitPt(const PatientDFN: string): TStrings ; //*DFN* function InitUser(ProviderID: int64): TStrings ; function PatientProviders(const PatientDFN: string): TStrings ; //*DFN* function ProblemList(const PatientDFN: string; Status:string): TStrings ; //*DFN* function OldProblemLexiconSearch(SearchFor: string; Matches: integer; ADate: TFMDateTime = 0): TStrings ; function ProblemLexiconCodeSearch(LexIEN: string; CodeType: string; ADate: TFMDateTime = 0): string ; function ProblemLexiconSearch(SearchFor: string; View: string; ADate: TFMDateTime = 0): TStrings ; function ProviderFilterList(ProvList: TStringList): TStrings ; function ProviderList(Flag:string; Number:integer; From,Part: string): TStrings ; function ProblemReplace(ProblemIFN: string): TStrings ; function ServiceFilterList(LocList: TStringList): TStrings ; function ServiceSearch(const StartFrom: string; Direction: Integer; All: boolean = FALSE): TStrings; function ProblemUpdate(AltProbFile: TStringList): TStrings ; function UserProblemCategories(Provider: int64; Location: integer): TStrings ; function UserProblemList(CategoryIEN: string): TStrings ; function ProblemVerify(ProblemIFN: string): TStrings ; function GetProblemComments(ProblemIFN: string): TStrings; procedure SaveViewPreferences(ViewPref: string); function CheckForDuplicateProblem(TermIEN, TermText: string): string; implementation function AddSave(PatientInfo: string; ProviderID: int64; ptVAMC: string; ProbFile: TStringList): TStrings ; begin CallV('ORQQPL ADD SAVE',[PatientInfo, ProviderID, ptVAMC, ProbFile]); Result := RPCBrokerV.Results ; end ; function AuditHistory(ProblemIFN: string): TStrings ; begin CallV('ORQQPL AUDIT HIST',[ProblemIFN]); Result := RPCBrokerV.Results ; end ; function ClinicFilterList(LocList: TStringList): TStrings ; begin CallV('ORQQPL CLIN FILTER LIST',[LocList]); MixedCaseList(RPCBrokerV.Results) ; Result := RPCBrokerV.Results; end ; function ClinicSearch(DummyArg:string): TStrings ; begin CallV('ORQQPL CLIN SRCH',[DummyArg]); Result := RPCBrokerV.Results ; end ; function ProblemDelete(ProblemIFN: string; ProviderID: int64; ptVAMC, Comment: string): TStrings ; begin CallV('ORQQPL DELETE',[ProblemIFN, ProviderID, ptVAMC, Comment]); Result := RPCBrokerV.Results ; end ; function EditLoad(ProblemIFN: string; ProviderID: int64; ptVAMC: string): TStrings ; begin CallV('ORQQPL EDIT LOAD',[ProblemIFN, ProviderID, ptVAMC]); Result := RPCBrokerV.Results ; end ; function EditSave(ProblemIFN: string; ProviderID: int64; ptVAMC, PrimUser: string; ProbFile: TStringList): TStrings ; begin CallV('ORQQPL EDIT SAVE',[ProblemIFN, ProviderID, ptVAMC, PrimUser, ProbFile]); Result := RPCBrokerV.Results ; end ; function InitPt(const PatientDFN: string): TStrings ; //*DFN* begin CallV('ORQQPL INIT PT',[PatientDFN]); Result := RPCBrokerV.Results ; end ; function InitUser(ProviderID: int64): TStrings ; begin CallV('ORQQPL INIT USER',[ProviderID]); Result := RPCBrokerV.Results ; end ; function PatientProviders(const PatientDFN: string): TStrings ; //*DFN* begin CallV('ORQPT PATIENT TEAM PROVIDERS',[PatientDFN]); Result := RPCBrokerV.Results ; end ; function ProblemLexiconSearch(SearchFor: string; View: string; ADate: TFMDateTime = 0): TStrings ; begin CallV('ORWPCE LEX',[SearchFor,View, ADate]); Result := RPCBrokerV.Results ; end ; function ProblemLexiconCodeSearch(LexIEN: string; CodeType: string; ADate: TFMDateTime = 0): string ; begin CallV('ORWPCE LEXCODE',[LexIEN, CodeType, ADate]); Result := RPCBrokerV.Results[0] ; end ; function OldProblemLexiconSearch(SearchFor: string; Matches: integer; ADate: TFMDateTime = 0): TStrings ; const VIEW = ''; begin CallV('ORQQPL PROBLEM LEX SEARCH',[SearchFor, Matches, VIEW, ADate]); Result := RPCBrokerV.Results ; end ; function ProblemList(const PatientDFN: string; Status:string): TStrings ; //*DFN* begin CallV('ORQQPL PROBLEM LIST',[PatientDFN, status]); Result := RPCBrokerV.Results ; end ; function ProviderFilterList(ProvList: TStringList): TStrings ; begin CallV('ORQQPL PROV FILTER LIST',[ProvList]); Result := RPCBrokerV.Results ; end ; function ProviderList(Flag:string; Number:integer; From,Part: string): TStrings ; begin CallV('ORQQPL PROVIDER LIST',[Flag,Number,From,Part]); Result := RPCBrokerV.Results ; end ; function ProblemReplace(ProblemIFN: string): TStrings ; begin CallV('ORQQPL REPLACE',[ProblemIFN]); Result := RPCBrokerV.Results ; end ; function ServiceFilterList(LocList: TStringList): TStrings ; begin CallV('ORQQPL SERV FILTER LIST',[LocList]); MixedCaseList(RPCBrokerV.Results) ; Result := RPCBrokerV.Results; end ; function ServiceSearch(const StartFrom: string; Direction: Integer; All: boolean = FALSE): TStrings; begin CallV('ORQQPL SRVC SRCH',[StartFrom, Direction, BoolChar[All]]); MixedCaseList(RPCBrokerV.Results) ; Result := RPCBrokerV.Results ; end ; function ProblemUpdate(AltProbFile: TStringList): TStrings ; begin CallV('ORQQPL UPDATE',[AltProbFile]); Result := RPCBrokerV.Results ; end ; function ProblemVerify(ProblemIFN: string): TStrings ; begin CallV('ORQQPL VERIFY',[ProblemIFN]); Result := RPCBrokerV.Results ; end ; function UserProblemCategories(Provider: int64; Location: integer): TStrings ; begin CallV('ORQQPL USER PROB CATS',[Provider, Location]); Result := RPCBrokerV.Results ; end ; function UserProblemList(CategoryIEN: string): TStrings ; begin CallV('ORQQPL USER PROB LIST',[CategoryIEN]); Result := RPCBrokerV.Results ; end ; function GetProblemComments(ProblemIFN: string): TStrings; begin CallV('ORQQPL PROB COMMENTS',[ProblemIFN]); Result := RPCBrokerV.Results ; end; procedure SaveViewPreferences(ViewPref: string); begin CallV('ORQQPL SAVEVIEW',[ViewPref]); end; function CheckForDuplicateProblem(TermIEN, TermText: string): string; begin CallV('ORQQPL CHECK DUP',[Patient.DFN, TermIEN, TermText]); Result := RPCBrokerV.Results[0]; end; end.