Ignore:
Timestamp:
Jul 7, 2010, 4:31:10 PM (14 years ago)
Author:
Kevin Toppenberg
Message:

Upgrade to version 27

File:
1 edited

Legend:

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

    r456 r829  
    66  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    77  fODBase, StdCtrls, ORCtrls, ExtCtrls, ComCtrls, ORfn, uConst, Buttons,
    8   Menus;
     8  Menus, VA508AccessibilityManager;
    99
    1010type
     
    5959    procedure memReasonKeyUp(Sender: TObject; var Key: Word;
    6060      Shift: TShiftState);
    61     procedure FormDestroy(Sender: TObject);
    6261    procedure memReasonKeyDown(Sender: TObject; var Key: Word;
    6362      Shift: TShiftState);
     
    9089uses
    9190    rODBase, rConsults, uCore, uConsults, rCore, fConsults, fPCELex, rPCE, ORClasses,
    92     clipbrd, fPreReq, uTemplates, uAccessibleRichEdit, fFrame, uODBase;
     91    clipbrd, fPreReq, uTemplates, fFrame, uODBase,
     92  uVA508CPRSCompatibility;
    9393
    9494var
     
    115115  inherited;
    116116  DoSetFontSize(MainFontSize);
    117   TAccessibleRichEdit.WrapControl(memReason);
    118117  AllowQuickOrder := True;
    119118  FillChar(ProvDx, SizeOf(ProvDx), 0);
     
    188187    SetControl(cboProc,       'ORDERABLE', 1);
    189188    if cboProc.ItemIndex < 0 then exit;
    190     cboService.Items.Assign(GetProcedureServices(cboProc.ItemIEN));
     189    FastAssign(GetProcedureServices(cboProc.ItemIEN), cboService.Items);
    191190    Changing := True;
    192191    tmpResp := TResponse(FindResponseByName('CLASS',1));
     
    226225    SetProvDiagPromptingMode;
    227226    GetProvDxandValidateCode(Responses);
     227    SetTemplateDialogCanceled(FALSE);
    228228    SetControl(memReason,     'COMMENT',   1);
     229    if WasTemplateDialogCanceled then
     230    begin
     231      AbortOrder := True;
     232      Close;
     233      Exit;
     234    end;
     235    SetTemplateDialogCanceled(FALSE);
    229236    SetupReasonForRequest(OrderAction);
     237    if WasTemplateDialogCanceled then
     238    begin
     239      AbortOrder := True;
     240      Close;
     241      Exit;
     242    end;
    230243    Changing := False;
    231244    OrderMessage(ConsultMessage(cboProc.ItemIEN));
     
    360373      begin
    361374        Clear;
    362         Items.Assign(GetProcedureServices(cboProc.ItemIEN));
     375        FastAssign(GetProcedureServices(cboProc.ItemIEN), cboService.Items);
    363376        if Items.Count > 1 then
    364377          ItemIndex := -1
     
    385398      with cboService do
    386399        begin
    387           Items.Assign(GetProcedureServices(cboProc.ItemIEN));
     400          FastAssign(GetProcedureServices(cboProc.ItemIEN), cboService.Items);
    388401          if Items.Count > 1 then
    389402            ItemIndex := -1
     
    402415      SetControl(cboPlace,      'PLACE',     1);
    403416      SetControl(txtAttn,       'PROVIDER',  1);
     417      SetTemplateDialogCanceled(FALSE);
    404418      SetControl(memReason,     'COMMENT',   1);
    405 //      if ((cboProc.ItemIEN > 0) and (Length(memReason.Text) = 0)) then
    406 //        memReason.Lines.Assign(DefaultReasonForRequest(Piece(cboProc.Items[cboProc.ItemIndex], U, 4), True));
     419      if WasTemplateDialogCanceled and OrderContainsObjects then
     420      begin
     421        AbortOrder := TRUE;
     422        Close;
     423        Exit;
     424      end;
    407425      SetupReasonForRequest(ORDER_QUICK);
    408426      GetProvDxandValidateCode(Responses);
     
    441459              Exit;
    442460            end;
    443           memReason.Lines.Assign(DefaultReasonForRequest(Piece(cboProc.Items[cboProc.ItemIndex], U, 4), True));
     461          FastAssign(DefaultReasonForRequest(Piece(cboProc.Items[cboProc.ItemIndex], U, 4), True), memReason.Lines);
    444462          SetupReasonForRequest(ORDER_NEW);
    445463        end;
     
    457475  AStringList := TStringList.Create;
    458476  try
    459     AStringList.Assign(memReason.Lines);
     477    AStringList.Text := memReason.Text;
    460478    LimitStringLength(AStringList, 74);
    461     memReason.Lines.Assign(AstringList);
     479    memReason.Text := AStringList.Text;
    462480    ControlChange(Self);
    463481  finally
     
    662680begin
    663681  if ((OrderAction = ORDER_QUICK) and (cboProc.ItemID <> '') and (Length(memReason.Text) = 0)) then
    664     memReason.Lines.Assign(DefaultReasonForRequest(Piece(cboProc.Items[cboProc.ItemIndex], U, 4), True));
     682    FastAssign(DefaultReasonForRequest(Piece(cboProc.Items[cboProc.ItemIndex], U, 4), True), memReason.Lines);
    665683  EditReason := GMRCREAF;
    666684  if EditReason = '' then EditReason := ReasonForRequestEditable(Piece(cboProc.Items[cboProc.ItemIndex], U, 4));
     
    690708      if ItemIEN > 0 then
    691709        begin
    692           Alist.Assign(GetServicePrerequisites(Piece(Items[ItemIndex], U, 4)));
     710          FastAssign(GetServicePrerequisites(Piece(Items[ItemIndex], U, 4)), Alist);
    693711          if AList.Count > 0 then
    694712            begin
     
    708726end;
    709727
    710 function TfrmODProc.DefaultReasonForRequest(Service: string; Resolve: Boolean): TStrings;
     728function TfrmODProc.DefaultReasonForRequest(Service: string;
     729  Resolve: Boolean): TStrings;
    711730var
    712731  TmpSL: TStringList;
     
    720739  try
    721740    Result := GetDefaultReasonForRequest(Piece(cboProc.Items[cboProc.ItemIndex], U, 4), Resolve);
    722     TmpSL.Assign(Result);
     741    FastAssign(Result, TmpSL);
    723742    x := TmpSL.Text;
    724743    ExpandOrderObjects(x, HasObjects);
    725744    TmpSL.Text := x;
    726745    Responses.OrderContainsObjects := HasObjects;
    727     ExecuteTemplateOrBoilerPlate(TmpSL, StrToIntDef(piece(piece(cboProc.Items[cboProc.ItemIndex],U,4),';',1),0),
     746    ExecuteTemplateOrBoilerPlate(TmpSL, StrToIntDef(Piece(Piece(cboProc.Items[cboProc.ItemIndex], U, 4), ';', 1), 0),
    728747                   ltProcedure, nil, 'Reason for Request: ' + cboProc.DisplayText[cboProc.ItemIndex], DocInfo);
    729     if TmpSL.Text <> x then Responses.OrderContainsObjects := False;
    730     Result.Assign(TmpSL);
     748    AbortOrder := WasTemplateDialogCanceled;
     749    Responses.OrderContainsObjects := HasObjects or TemplateBPHasObjects;
     750    if AbortOrder then
     751    begin
     752      Result.Text := '';
     753      Close;
     754      Exit;
     755    end
     756    else
     757      FastAssignWith508Msg(TmpSL, Result);
    731758  finally
    732759    TmpSL.Free;
     
    780807end;
    781808
    782 procedure TfrmODProc.FormDestroy(Sender: TObject);
    783 begin
    784   inherited;
    785   TAccessibleRichEdit.UnwrapControl(memReason);
    786 end;
    787 
    788809procedure TfrmODProc.SetFontSize(FontSize: integer);
    789810begin
Note: See TracChangeset for help on using the changeset viewer.