Changeset 460 for cprs/branches/foia-cprs/CPRS-Chart/fReview.pas
- Timestamp:
- Jul 6, 2008, 8:20:14 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/branches/foia-cprs/CPRS-Chart/fReview.pas
r459 r460 97 97 procedure SetItemTextToState; 98 98 procedure FormatListForScreenReader; 99 99 100 public 100 101 procedure SetCheckBoxStatus(thisOrderID: string); … … 136 137 uses ORFn, rCore, fNotes, fConsults, fOrders, rOrders, Hash, fDCSumm, fOCSession, uOrders, 137 138 fSignItem, fOrdersPrint, fLkUpLocation, fFrame, uSignItems, fSurgery, 138 fBALocalDiagnoses, UBAConst, UBAMessages, fOrdersSign ;139 fBALocalDiagnoses, UBAConst, UBAMessages, fOrdersSign, fClinicWardMeds; 139 140 140 141 const … … 293 294 294 295 end; 295 // if Result then Changes.Clear; possibly clear changes here ?? 296 296 297 finally 297 298 Changes.OnRemove := nil; {**RV**} 299 frmReview.Release; 298 300 end; 299 301 end; … … 340 342 if BILLING_AWARE then 341 343 begin 342 UBAGlobals.ChangeItemOrderNum := C opy(ChangeItem.ID, 0, 8);344 UBAGlobals.ChangeItemOrderNum := ChangeItem.ID; // GE 2/21/2006 removed "Copy(ChangeItem.ID,0,8)" issue when sites have order number > 8 digits 343 345 // HDS00005025 344 346 … … 836 838 TC_SAVERR = 'Error Saving Order'; 837 839 var 838 i, idx, AType, theSts: Integer;840 i, idx, AType, PrintLoc, theSts: Integer; 839 841 SigSts, RelSts, Nature: Char; 840 842 ESCode, AnID, AnErrMsg: string; … … 842 844 OrderList: TStringList; 843 845 SaveCoPay: boolean; 844 DigSigErr, DigStoreErr : Boolean;846 DigSigErr, DigStoreErr, CryptoChecked: Boolean; 845 847 SigData, SigUser, SigDrugSch, SigDEA: string; 846 848 cSignature, cHashData, cCrlUrl, cErr: string; … … 884 886 ESCode := ''; 885 887 SaveCoPay := FALSE; 888 PrintLoc := 0; 886 889 if BILLING_AWARE then 887 890 begin … … 908 911 OrderList := TStringList.Create; 909 912 DigSigErr := True; 910 DigStoreErr := False; 911 if GetPKISite and GetPKIUse then 912 begin 913 try //PKI object creation 914 crypto := CoXuDigSigS.Create; 915 crypto.GetCSP; 916 StatusText(crypto.Reason); 917 DigSigErr := False; 918 except 919 on E: Exception do 920 begin 921 DigSigErr := True; 922 end; 923 end; 924 end; 913 CryptoChecked := False; 925 914 try 926 915 Nature := NO_PROVIDER; … … 993 982 OrderList.Add(ChangeItem.ID + U + SS_ONCHART + U + RS_RELEASE + U + NO_WRITTEN); 994 983 995 996 984 end; {with lstReview} 997 985 end; {OR_NOKEY, OR_CLERK, OR_NURSE, OR_STUDENT} … … 1011 999 SigSts := SS_ESIGNED; 1012 1000 RelSts := RS_RELEASE; 1001 if (OrderRequiresDigitalSignature(ChangeItem.ID)) and (CryptoChecked = false) 1002 and GetPKISite and GetPKIUse then 1003 begin 1004 Cryptochecked := true; 1005 try //PKI object creation 1006 crypto := CoXuDigSigS.Create; 1007 crypto.GetCSP; 1008 StatusText(crypto.Reason); 1009 DigSigErr := False; 1010 except 1011 on E: Exception do 1012 begin 1013 DigSigErr := True; 1014 end; 1015 end; 1016 end; 1013 1017 if (DigSigErr = false) and (OrderRequiresDigitalSignature(ChangeItem.ID)) 1014 1018 and (SigItems.OK2SaveSettings) then … … 1122 1126 else 1123 1127 begin 1124 InfoBox(TX_Order_Error, 'Review/Sign Orders', MB_OK); 1128 if BILLING_AWARE then 1129 InfoBox(TX_Order_Error, 'Review/Sign Orders', MB_OK) 1130 else 1131 InfoBox(TC_Order_Error, 'Review/Sign Orders', MB_OK); 1125 1132 Exit; 1126 1133 end … … 1137 1144 if (cmdOk.Caption = 'Sign') then 1138 1145 begin 1139 if Not BADxEntered then1146 if Not UBACore.BADxEntered then 1140 1147 begin 1141 SaveCoPay := FALSE;1142 1148 InfoBox(TX_NO_DX, TC_NO_DX, MB_OK); 1143 1149 Exit; … … 1156 1162 if OrderList.Count > 0 then 1157 1163 begin 1164 1165 //hds7591 Clinic/Ward movement. Nurse orders 1166 if (cmdOk.Caption = 'Sign') or (cmdOK.Caption = 'OK') and (not frmFrame.TimedOut) then 1167 begin 1168 if IsValidIMOLoc(uCore.TempEncounterLoc,Patient.DFN) then 1169 frmClinicWardMeds.ClinicOrWardLocation(OrderList, uCore.TempEncounterLoc,uCore.TempEncounterLocName, PrintLoc) 1170 else 1171 if (IsValidIMOLoc(Encounter.Location,Patient.DFN)) and ((frmClinicWardMeds.rpcIsPatientOnWard(patient.DFN)) and (Patient.Inpatient = false)) then 1172 frmClinicWardMeds.ClinicOrWardLocation(OrderList, Encounter.Location,Encounter.LocationName, PrintLoc); 1173 end; 1174 uCore.TempEncounterLoc := 0; 1175 uCore.TempEncounterLocName := ''; 1176 end; 1177 //hds7591 Clinic/Ward movement. 1178 1158 1179 if SaveCoPay then 1159 1180 SigItems.SaveSettings; // Save CoPay FIRST 1160 1181 SendOrders(OrderList, ESCode); {*KCM*} 1161 end; 1182 1162 1183 with OrderList do for i := 0 to Count - 1 do 1163 1184 begin … … 1183 1204 if theSts = 10 then OrderList.Delete(idx); //signed delayed order should not be printed. 1184 1205 end; 1185 PrintOrdersOnSignRelease(OrderList, Nature );1206 PrintOrdersOnSignRelease(OrderList, Nature, PrintLoc); 1186 1207 end; 1187 1208 StatusText(''); … … 1323 1344 if frmFrame.TimedOut then Exit; 1324 1345 //Billing Awareness 'flyover' hint includes Dx code(s) when Dx code(s) have been assigned to an order 1325 tempRec := TBADxRecord.Create;1326 1346 1327 1347 if Assigned(frmReview) then … … 1402 1422 UBAGlobals.PLFactorsIndexes.Clear; 1403 1423 1404 numSelected := 0;1405 1424 match := false; 1406 1425 allBlank := false; … … 1550 1569 thisOrderList.Add(thisChangeItem.ID); 1551 1570 // Returns True if All selected orders are N/A, Order selected are NON CIDC or DC'd 1552 if IsAllOrdersNA(thisOrderList) then1571 if uBACore.IsAllOrdersNA(thisOrderList) then 1553 1572 begin 1554 1573 Diagnosis1.Enabled := false; … … 1712 1731 end; 1713 1732 end; 1714 1715 //CopyActive := true; //CQ62251716 //Paste1.Enabled := true; //CQ62251717 1718 1733 end; 1719 1734 … … 1737 1752 if (frmReview.lstReview.Selected[i]) then 1738 1753 begin 1739 thisChangeItem := TChangeItem.Create;1740 thisChangeItem := nil;1741 1754 thisChangeItem := TChangeItem(lstReview.Items.Objects[i]); 1742 1755 … … 1756 1769 1757 1770 //*************************************************************** 1758 if (NOT UBACore.IsOrderBillable(fReview.targetOrderID) ) then// and 1759 // (NOT tempDxNodeExists(fReview.targetOrderID) )then // added to allow copy to NON CIDC consult orders that requires a DX. 1760 begin 1771 if (NOT UBACore.IsOrderBillable(fReview.targetOrderID) ) then 1772 begin 1761 1773 ShowMessage(BA_NA_PASTE_DISALLOWED); 1762 1774 fReview.targetOrderID := ''; … … 1768 1780 with newRec do 1769 1781 begin 1770 FOrderID := fReview.targetOrderID;1771 FBADxCode := CopyBuffer.FBADxCode;1772 FBASecDx1 := CopyBuffer.FBASecDx1;1773 FBASecDx2 := CopyBuffer.FBASecDx2;1774 FBASecDx3 := CopyBuffer.FBASecDx3;1782 FOrderID := fReview.targetOrderID; 1783 FBADxCode := CopyBuffer.FBADxCode; 1784 FBASecDx1 := CopyBuffer.FBASecDx1; 1785 FBASecDx2 := CopyBuffer.FBASecDx2; 1786 FBASecDx3 := CopyBuffer.FBASecDx3; 1775 1787 end; 1776 1788 … … 1796 1808 1797 1809 lstReview.Refresh; //Update grid to show pasted Dx/TF/CI 1798 { 1799 //CQ6225 1800 if CopyActive then 1801 begin 1802 Paste1.Enabled := false; 1803 CopyActive := false; 1804 end; 1805 //end CQ6225 1806 } 1810 1807 1811 end; 1808 1812 … … 1840 1844 begin 1841 1845 howMany := 0; 1842 thisItem := TChangeItem.Create; 1843 1846 1844 1847 for i := 0 to lstReview.Items.Count-1 do 1845 1848 begin … … 1958 1961 FRVTFHintWindowActive := False; 1959 1962 end; 1960 x := 0;1961 y := 0;1962 1963 1963 1964 FRVTFHintWindow := THintWindow.Create(frmReview); //(frmReview); … … 2033 2034 Y: Integer); 2034 2035 begin 2035 IF BILLING_AWARE then2036 // IF BILLING_AWARE then 2036 2037 if FRVTFHintWindowActive then 2037 2038 begin … … 2043 2044 procedure TfrmReview.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 2044 2045 begin 2045 if BILLING_AWARE then2046 begin2047 2046 if FRVTFHintWindowActive then 2048 2047 begin … … 2051 2050 Application.ProcessMessages; 2052 2051 end; 2053 end;2054 2052 end; 2055 2053 … … 2061 2059 begin 2062 2060 //Abbreviated captions 2063 Label23.ShowHint := false;2064 StaticText1.ShowHint := false;2065 Label17.ShowHint := false;2066 Label15.ShowHint := false;2067 Label13.ShowHint := false;2068 Label11.ShowHint := false;2069 lblHNC.ShowHint := false;2061 Label23.ShowHint := false; 2062 StaticText1.ShowHint := false; 2063 Label17.ShowHint := false; 2064 Label15.ShowHint := false; 2065 Label13.ShowHint := false; 2066 Label11.ShowHint := false; 2067 lblHNC.ShowHint := false; 2070 2068 //Long captions 2071 Label24.ShowHint := false;2072 staticText4.ShowHint := false;2073 Label17.ShowHint := false;2074 Label18.ShowHint := false;2075 Label15.ShowHint := false;2076 Label16.ShowHint := false;2077 Label13.ShowHint := false;2078 Label14.ShowHint := false;2079 Label11.ShowHint := false;2080 Label12.ShowHint := false;2081 lblHNC.ShowHint := false;2082 lblHNC2.ShowHint := false;2069 Label24.ShowHint := false; 2070 staticText4.ShowHint := false; 2071 Label17.ShowHint := false; 2072 Label18.ShowHint := false; 2073 Label15.ShowHint := false; 2074 Label16.ShowHint := false; 2075 Label13.ShowHint := false; 2076 Label14.ShowHint := false; 2077 Label11.ShowHint := false; 2078 Label12.ShowHint := false; 2079 lblHNC.ShowHint := false; 2080 lblHNC2.ShowHint := false; 2083 2081 end; 2084 2082 end … … 2088 2086 begin 2089 2087 //Abbreviated captions 2090 Label23.ShowHint := true;2091 StaticText1.ShowHint := true;2092 Label17.ShowHint := true;2093 Label15.ShowHint := true;2094 Label13.ShowHint := true;2095 Label11.ShowHint := true;2096 lblHNC.ShowHint := true;2097 //Long captions2098 Label24.ShowHint := true;2099 staticText4.ShowHint := true;2100 Label17.ShowHint := true;2101 Label18.ShowHint := true;2102 Label15.ShowHint := true;2103 Label16.ShowHint := true;2104 Label13.ShowHint := true;2105 Label14.ShowHint := true;2106 Label11.ShowHint := true;2107 Label12.ShowHint := true;2108 lblHNC.ShowHint := true;2109 lblHNC2.ShowHint := true;2088 Label23.ShowHint := true; 2089 StaticText1.ShowHint := true; 2090 Label17.ShowHint := true; 2091 Label15.ShowHint := true; 2092 Label13.ShowHint := true; 2093 Label11.ShowHint := true; 2094 lblHNC.ShowHint := true; 2095 //Long captions 2096 Label24.ShowHint := true; 2097 staticText4.ShowHint := true; 2098 Label17.ShowHint := true; 2099 Label18.ShowHint := true; 2100 Label15.ShowHint := true; 2101 Label16.ShowHint := true; 2102 Label13.ShowHint := true; 2103 Label14.ShowHint := true; 2104 Label11.ShowHint := true; 2105 Label12.ShowHint := true; 2106 lblHNC.ShowHint := true; 2107 lblHNC2.ShowHint := true; 2110 2108 end; 2111 2109 end; 2112 2110 end; 2113 2111 2114 // determines if BA switch is on, user is provider and has orelse key2115 // is true, BA data is not mandatory.2116 2112 procedure TfrmReview.FormClose(Sender: TObject; var Action: TCloseAction); 2117 2113 begin 2118 if BILLING_AWARE then 2119 begin 2114 2120 2115 if FRVTFHintWindowActive then 2121 2116 begin … … 2125 2120 with fraCopay do 2126 2121 begin 2127 Label24.ShowHint := false;2128 staticText4.ShowHint := false;2129 Label18.ShowHint := false;2130 Label16.ShowHint := false;2131 Label14.ShowHint := false;2132 Label12.ShowHint := false;2133 lblHNC2.ShowHint := false;2122 Label24.ShowHint := false; 2123 staticText4.ShowHint := false; 2124 Label18.ShowHint := false; 2125 Label16.ShowHint := false; 2126 Label14.ShowHint := false; 2127 Label12.ShowHint := false; 2128 lblHNC2.ShowHint := false; 2134 2129 end; 2135 end;2136 2130 end; 2137 2131 … … 2164 2158 i : integer; 2165 2159 begin 2166 //The with statement below would cause access violations on other Delphi machines. 2167 { with lstReview do 2168 begin } 2169 //Must use fully qualifying path includeing the unit... very wierd! 2160 2170 2161 if fReview.frmReview.lstReview.Count < 1 then Exit; 2171 2162 for i := 0 to fReview.frmReview.lstReview.Count-1 do … … 2180 2171 if fReview.frmReview.lstReview.ItemIndex >= 0 then 2181 2172 fReview.frmReview.lstReview.Selected[fReview.frmReview.lstReview.ItemIndex] := True; 2182 // end;2183 2173 end; 2184 2174 … … 2192 2182 procedure TfrmReview.FormatListForScreenReader; 2193 2183 var 2194 ListStateOn : boolean; 2184 ListStateOn : longbool; 2185 Success: longbool; 2195 2186 begin 2196 2187 //Determine if a screen reader is currently being used. 2197 S ystemParametersInfo(SPI_GETSCREENREADER, 0, @ListStateOn,0);2198 if ListStateOn then2188 Success := SystemParametersInfo(SPI_GETSCREENREADER, 0, @ListStateOn,0); 2189 if Success and ListStateOn then 2199 2190 SetItemTextToState; 2200 2191 end;
Note:
See TracChangeset
for help on using the changeset viewer.