Module

rECS

Path

C:\CPRS\CPRS30\rECS.pas

Last Modified

7/15/2014 3:26:44 PM

Units Used in Interface

Name Comments
rCore -
uConst -
uCore -

Classes

Name Comments
TECSReport -

Procedures

Name Owner Declaration Scope Comments
FormatECSDate - procedure FormatECSDate(ADTStr: string; var AnECSRpt: TECSReport); Interfaced -
LoadECSReportText - procedure LoadECSReportText(Dest: TStrings; AnECSRpt: TECSReport); Interfaced -
PrintECSReportToDevice - procedure PrintECSReportToDevice(AnECSRpt: TECSReport); Interfaced -
SaveUserPath - procedure SaveUserPath(APathInfo: string; var CurPath: string); Interfaced -

Functions

Name Owner Declaration Scope Comments
GetDivisionID - function GetDivisionID: string; Interfaced -
GetVisitID - function GetVisitID: string; Interfaced -
IsESSOInstalled - function IsESSOInstalled: boolean; Interfaced -


Module Source

1     unit rECS;
2     
3     interface
4     
5     uses SysUtils, Windows, Classes, Forms, ORFn, rCore, uConst, ORClasses, ORNet, uCore;
6     
7     type
8       TECSReport = Class(TObject)
9       private
10        FReportHandle: string;            // PCE report or Patient Summary report
11        FReportType  : string;            // D: display  P: print
12        FPrintDEV    : string;            // if Print, the print device IEN
13        FReportStart : string;            // Start Date
14        FReportEnd   : string;            // End Date
15        FNeedReason  : string;           // Need procedure reason ?
16        FECSPermit   : boolean;           // Authorized use of ECS
17      public
18        constructor Create;
19        property ReportHandle: string       read FReportHandle  write FReportHandle;
20        property ReportType  : string       read FReportType    write FReportType;
21        property ReportStart : string       read FReportStart   write FReportStart;
22        property ReportEnd   : string       read FReportEnd     write FReportEnd;
23        property PrintDEV    : string       read FPrintDEV      write FPrintDEV;
24        property NeedReason  : string       read FNeedReason    write FNeedReason;
25        property ECSPermit   : boolean      read FECSPermit     write FECSPermit;
26      end;
27    
28    function GetVisitID: string;
29    function GetDivisionID: string;
30    function IsESSOInstalled: boolean;
31    procedure SaveUserPath(APathInfo: string; var CurPath: string);
32    procedure FormatECSDate(ADTStr: string; var AnECSRpt: TECSReport);
33    procedure LoadECSReportText(Dest: TStrings; AnECSRpt: TECSReport);
34    procedure PrintECSReportToDevice(AnECSRpt: TECSReport);
35    
36    implementation
37    uses TRPCB;
38    
39    constructor TECSReport.Create;
40    begin
41      ReportHandle := '';
42      ReportType   := '';
43      ReportStart  := '';
44      ReportEnd    := '';
45      PrintDEV     := '';
46      FNeedReason  := '';
47      ECSPermit    := False;
48    end;
49    
50    function IsESSOInstalled: boolean;
51    var
52      rtn: integer;
53    begin
54      Result := False;
55      rtn := StrToIntDef(SCallV('ORECS01 CHKESSO',[nil]),0);
56      if rtn > 0 then
57        Result := True;
58    end;
59    
60    function GetVisitID: string;
61    var
62      vsitStr: string;
63    begin
64      vsitStr := Encounter.VisitStr + ';' + Patient.DFN;
65      Result := SCallV('ORECS01 VSITID',[vsitStr]);
66    end;
67    
68    function GetDivisionID: string;
69    var
70      divID: string;
71    begin
72      divID := SCallV('ORECS01 GETDIV',[nil]);
73      Result := divID;
74    end;
75    
76    procedure SaveUserPath(APathInfo: string; var CurPath: string);
77    begin
78      CurPath := SCallV('ORECS01 SAVPATH',[APathInfo]);
79    end;
80    
81    procedure FormatECSDate(ADTStr: string; var AnECSRpt: TECSReport);
82    var
83      x,DaysBack :string;
84      Alpha, Omega: double;
85    begin
86      Alpha := 0;
87      Omega := 0;
88      if CharAt(ADTStr, 1) = 'T' then
89      begin
90        Alpha := StrToFMDateTime(Piece(ADTStr,';',1));
91        Omega := StrToFMDateTime(Piece(ADTStr,';',2));
92      end;
93      if CharAt(ADTStr, 1) = 'd' then
94      begin
95        x := Piece(ADTStr,';',1);
96        DaysBack := Copy(x, 2, Length(x));
97        Alpha := StrToFMDateTime('T-' + DaysBack);
98        Omega := StrToFMDateTime('T');
99      end;
100     AnECSRpt.ReportStart := FloatToStr(Alpha);
101     AnECSRpt.ReportEnd   := FloatToStr(Omega);
102   end;
103   
104   procedure LoadECSReportText(Dest: TStrings; AnECSRpt: TECSReport);
105   var
106     userid: string;
107   begin
108     with RPCBrokerv do
109     begin
110       ClearParameters := True;
111       RemoteProcedure := 'ORECS01 ECRPT';
112       Param[0].PType  := list;
113       Param[0].Mult['"ECHNDL"'] := AnECSRpt.ReportHandle;
114       Param[0].Mult['"ECPTYP"'] := AnECSRpt.ReportType;
115       Param[0].Mult['"ECDEV"']  := AnECSRpt.PrintDEV;
116       Param[0].Mult['"ECDFN"']  := Patient.DFN;
117       Param[0].Mult['"ECSD"']   := AnECSRpt.ReportStart;
118       Param[0].Mult['"ECED"']   := AnECSRpt.ReportEnd;
119       Param[0].Mult['"ECRY"']   := AnECSRpt.NeedReason;
120       Param[0].Mult['"ECDUZ"']  := userid;
121       CallBroker;
122     end;
123     QuickCopy(RPCBrokerV.Results,Dest);
124   end;
125   
126   procedure PrintECSReportToDevice(AnECSRpt: TECSReport);
127   var
128     userid: string;
129   begin
130     userid := IntToStr(User.DUZ);
131     with RPCBrokerV do
132     begin
133       clearParameters := True;
134       RemoteProcedure := 'ORECS01 ECPRINT';
135       Param[0].PType := List;
136       Param[0].Mult['"ECHNDL"'] := AnECSRpt.ReportHandle;
137       Param[0].Mult['"ECPTYP"'] := AnECSRpt.ReportType;
138       Param[0].Mult['"ECDEV"']  := AnECSRpt.PrintDEV;
139       Param[0].Mult['"ECDFN"']  := Patient.DFN;
140       Param[0].Mult['"ECSD"']   := AnECSRpt.ReportStart;
141       Param[0].Mult['"ECED"']   := AnECSRpt.ReportEnd;
142       Param[0].Mult['"ECRY"']   := AnECSRpt.NeedReason;
143       Param[0].Mult['"ECDUZ"']  := userid;
144       CallBroker;
145     end;
146   end;
147   
148   end.

Module Calls (2 levels)


rECS
 ├rCore
 │ └uCore
 └uCore...

Module Called-By (2 levels)


                       rECS
                   fFrame┤ 
              CPRSChart┤ │ 
                  fPage┤ │ 
                uOrders┤ │ 
                fODBase┤ │ 
                UBACore┤ │ 
                fOrders┤ │ 
                   uPCE┤ │ 
      fBALocalDiagnoses┤ │ 
             fEncVitals┤ │ 
                fVitals┤ │ 
                 fCover┤ │ 
                 rCover┤ │ 
              fPtSelMsg┤ │ 
                 fPtSel┤ │ 
            fOrdersSign┤ │ 
         fPrintLocation┤ │ 
                  fMeds┤ │ 
                fRptBox┤ │ 
                 fNotes┤ │ 
               fReports┤ │ 
                 fEncnt┤ │ 
                 fProbs┤ │ 
          fReportsPrint┤ │ 
                fGraphs┤ │ 
              fConsults┤ │ 
                fDCSumm┤ │ 
        fReminderDialog┤ │ 
                  fLabs┤ │ 
              fLabPrint┤ │ 
                fReview┤ │ 
            fIconLegend┤ │ 
           fOrdersPrint┤ │ 
               fSurgery┤ │ 
uVA508CPRSCompatibility┤ │ 
           fOrdersRenew┤ │ 
             fODConsult┤ │ 
                fODProc┤ │ 
                 fODRad┤ │ 
                 fODLab┤ │ 
                fODMeds┤ │ 
               fODMedIV┤ │ 
              fODVitals┤ │ 
                fODAuto┤ │ 
                 fOMSet┤ │ 
         fOrdersRelease┤ │ 
              fODMedNVA┤ │ 
         fOrdersOnChart┤ │ 
             fOCSession┤ │ 
              fODActive┤ │ 
               fPCEEdit┘ │ 
              fReports...┤ 
         fReportsPrint...┘