Ignore:
Timestamp:
May 7, 2015, 12:34:29 PM (9 years ago)
Author:
healthsevak
Message:

Updating the working copy to CPRS version 28

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cprs/trunk/CPRS-Chart/fReminderDialog.pas

    r830 r1679  
    77  ExtCtrls, ORFn, StdCtrls, ComCtrls, Buttons, ORCtrls, uReminders, uConst,
    88  ORClasses, fRptBox, Menus, rPCE, uTemplates,fBase508Form,
    9   VA508AccessibilityManager, fMHTest;
     9  VA508AccessibilityManager, fMHTest, fFrame;
    1010
    1111type
     
    4242    procedure btnVisitClick(Sender: TObject);
    4343    procedure KillDlg(ptr: Pointer; ID: string; KillObjects: boolean = FALSE);
    44     procedure FormShow(Sender: TObject); //AGP Change 24.8
     44    procedure FormShow(Sender: TObject);
     45    procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
     46      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); //AGP Change 24.8
    4547  private
    4648    FSCCond: TSCConditions;
     
    8284    procedure ClinMaintDestroyed(Sender: TObject);
    8385    procedure ProcessTemplate(Template: TTemplate);
     86    procedure ClearMHTest(Rien: string);
    8487  public
    8588    procedure ProcessReminder(ARemData: string; NodeID: string);
     
    199202        begin
    200203          if(OwningForm = frmNotes) then
    201             frmNotes.AssignRemForm
     204            begin
     205              frmNotes.AssignRemForm;
     206              if FutureEncounter(RemForm.PCEObj) then Err := 'Can not process a reminder dialog for a future encounter date.';
     207            end
    202208          else
    203209          if(OwningForm = frmConsults) then
     
    209215      end;
    210216    end;
     217    if (Err = '') and (FutureEncounter(RemForm.PCEObj)) then
     218       Err := 'Can not process a reminder dialog for a future encounter date.';
    211219    if Err <> '' then
    212220    begin
     
    254262var
    255263  own: TComponent;
    256 
     264 
    257265begin
    258266  if assigned(RemNode) then
     
    419427end;
    420428
     429procedure TfrmRemDlg.FormMouseWheel(Sender: TObject; Shift: TShiftState;
     430  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
     431var
     432  box: TScrollBox;
     433begin
     434  box := GetBox(TRUE);
     435  If RectContains(box.BoundsRect, box.ScreenToClient(MousePos)) then
     436  begin
     437    ScrollControl(box, (WheelDelta > 0));
     438    Handled := True;
     439  end;
     440end;
     441
    421442procedure TfrmRemDlg.ClearControls(All: boolean = FALSE);
    422443
     
    445466  else
    446467    WipeOutControls(GetBox);
     468end;
     469
     470procedure TfrmRemDlg.ClearMHTest(Rien: string);
     471var
     472MHKillArray: TStringList;
     473i,idx, j: integer;
     474TestName: string;
     475begin
     476  MHKillArray := TStringList.Create;
     477  idx := RemindersInProcess.IndexOf(RIEN);
     478  //Find All MH Test in the current Reminders and stored them in a temp Array
     479  if idx > -1 then
     480    begin
     481       if (TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray <> nil) and
     482       (TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray.Count > 0) then
     483         begin
     484           for j := 0 to TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray.Count - 1 do
     485             begin
     486               TestName := Piece(TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray.Strings[j], U, 1);
     487               //TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray.Delete(j);
     488               MHKillArray.Add(TestName);
     489             end;
     490         end;
     491       if Assigned(TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray) then
     492          TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray.Free;
     493      (* if (TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray <> nil) and
     494       (TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray.Count = 0) then
     495          TReminderDialog(TReminder(RemindersInProcess.Objects[idx])).MHTestArray.Free; *)
     496    end;
     497  //Check to see if other reminders contains any of the MH test in the temp Array if so set entry to null
     498  if (MHKillArray.Count > 0) and (RemindersInProcess.Count > 1) then
     499    begin
     500      for I := 0 to RemindersInProcess.Count - 1 do
     501        begin
     502          if (TReminderDialog(TReminder(RemindersInProcess.Objects[i])).IEN <> RIEN) and
     503             (TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray <> nil) and
     504             (TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray.Count > 0) then
     505               begin
     506                  for j := 0 to TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray.Count - 1 do
     507                    begin
     508                      TestName := Piece(TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray.Strings[j], U, 1);
     509                      idx := MHKillArray.IndexOf(TestName);
     510                      if idx > -1 then MHKillArray.Strings[idx] := '';
     511                    end;
     512               end;
     513        end;
     514    end;
     515  //Delete the temp file stored in the MH dll for any MH tests names left in the temp array
     516  if MHKillArray.Count > 0 then
     517    begin
     518      for I := 0 to MHKillArray.Count - 1 do
     519        begin
     520          if MHKillArray.Strings[i] <> '' then RemoveMHTest(MHKillArray.Strings[i]);
     521        end;
     522    end;
     523  if Assigned(MHKillArray) then FreeandNil(MHKillArray);
    447524end;
    448525
     
    748825      if(OK) then
    749826      begin
    750         FReminder.ClearMHTest(FReminder.IEN);
    751         if (FReminder.MHTestArray <> nil) and (FReminder.MHTestArray.Count = 0) then FReminder.MHTestArray.Free;
     827        ClearMHTest(Freminder.IEN);
    752828        RemindersInProcess.Delete(i);
    753829        Tmp := (FReminder as TReminder).RemData; // clear should never be active if template
     
    782858  i, cnt: integer;
    783859  msg, RemWipe: string;
    784   ClearMH: boolean;
     860  //ClearMH: boolean;
    785861
    786862begin
     
    788864 //flag the patient specific dialog to be destroy if not in process.
    789865 RemWipe := '';
    790  ClearMH := false;
     866 //ClearMH := false;
     867  if frmFrame.TimedOut = True then
     868     begin
     869       result := True;
     870       Exit;
     871     end;
    791872  if FProcessingTemplate or FSilent then
    792873    begin
    793874      Result := TRUE;
    794875      if FReminder.RemWipe = 1 then RemWipe := Piece(FReminder.DlgData,U,1);
     876      if (FProcessingTemplate) and (FReminder.Processing) then
     877          begin
     878            msg := msg + '  ' + FReminder.PrintName + CRLF;
     879            msg := 'The Following Reminders are being processed:' + CRLF + CRLF + msg;
     880            msg := msg + CRLF + 'Canceling will cause all processing information to be lost.' + CRLF +
     881                          'Do you still want to cancel out of reminder processing?';
     882            Result := (InfoBox(msg, 'Cancel Reminder Processing', MB_YESNO or MB_DEFBUTTON2) = ID_YES);
     883          end;
    795884    end
    796885  else
     
    800889    for i := 0 to RemindersInProcess.Count-1 do
    801890    begin
    802       //if Piece(TReminder(RemindersInProcess.Objects[i]).RemData,U,11)='1' then
    803891      if TReminderDialog(TReminder(RemindersInProcess.Objects[i])).RemWipe = 1 then
    804892          begin
     
    827915  if(Result) then
    828916    begin
    829       for i := 0 to RemindersInProcess.Count - 1 do
     917      if FProcessingTemplate or FSilent then
    830918        begin
    831           if (TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray <> nil) and
    832              (TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray.Count > 0) then
    833              begin
    834                if ClearMH = false then
    835                  begin
    836                    RemoveMHTest('');
    837                    ClearMH := true;
    838                  end;
    839                 TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray.Free;
    840              end;
     919          if (FReminder.MHTestArray <> nil) and (FReminder.MHTestArray.Count > 0) then
     920            begin
     921             (* if ClearMH = false then
     922                begin
     923                  RemoveMHTest('');
     924                  ClearMH := true;
     925                end; *)
     926              RemoveMHTest('');
     927              FReminder.MHTestArray.Free;
     928            end;
     929        end
     930      else
     931        begin
     932          for i := 0 to RemindersInProcess.Count - 1 do
     933            begin
     934              if (TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray <> nil) and
     935                 (TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray.Count > 0) then
     936                begin
     937                  (*if ClearMH = false then
     938                    begin
     939                      RemoveMHTest('');
     940                      ClearMH := true;
     941                    end;  *)
     942                  RemoveMHTest('');
     943                  TReminderDialog(TReminder(RemindersInProcess.Objects[i])).MHTestArray.Free;
     944                end;
     945            end;
    841946        end;
    842       (* if (FReminder.MHTestArray <> nil) and (FReminder.MHTestArray.Count > 0) then
    843          begin
    844            RemoveMHTest('');
    845            FReminder.MHTestArray.Free;
    846          end; *)
    847947    ResetProcessing(RemWipe);
    848948  end;
     
    17511851  Width := RemDlgWidth;
    17521852  Height := RemDlgHeight;
     1853  pnlFrmBottom.Height := RemDlgSpltr1 + lblFootnotes.Height;
     1854  reData.Height := RemDlgSpltr2;
    17531855end;
    17541856
Note: See TracChangeset for help on using the changeset viewer.