source: cprs/trunk/CPRS-Chart/Orders/fODAuto.pas

Last change on this file was 1679, checked in by healthsevak, 9 years ago

Updating the working copy to CPRS version 28

File size: 2.7 KB
Line 
1unit fODAuto;
2
3interface
4
5uses
6 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
7 fODBase, StdCtrls, ComCtrls, ExtCtrls, ORFn, ORCtrls,
8 VA508AccessibilityManager;
9
10type
11 TfrmODAuto = class(TfrmODBase)
12 Label1: TLabel;
13 public
14 procedure InitDialog; override;
15 procedure SetupDialog(OrderAction: Integer; const ID: string); override;
16 procedure Validate(var AnErrMsg: string); override;
17 end;
18
19var
20 frmODAuto: TfrmODAuto;
21
22implementation
23
24{$R *.DFM}
25
26uses rODBase, rOrders, fTemplateDialog, uTemplateFields, rTemplates, uConst, uTemplates,
27 rConsults, uCore, uODBase;
28
29procedure TfrmODAuto.InitDialog;
30begin
31 inherited;
32 // nothing for now
33end;
34
35procedure TfrmODAuto.Validate(var AnErrMsg: string);
36var
37 cptn, tmp, DocInfo: string;
38 TempSL: TStringList;
39 LType: TTemplateLinkType;
40 IEN: integer;
41 HasObjects: boolean;
42
43begin
44 inherited;
45 DocInfo := '';
46 LType := DisplayGroupToLinkType(Responses.DisplayGroup);
47 tmp := Responses.EValueFor('COMMENT', 1);
48 ExpandOrderObjects(tmp, HasObjects);
49 Responses.OrderContainsObjects := Responses.OrderContainsObjects or HasObjects;
50 if (LType <> ltNone) or HasTemplateField(tmp) then
51 begin
52 cptn := 'Reason for Request: ' + Responses.EValueFor('ORDERABLE', 1);
53 case LType of
54 ltConsult: IEN := StrToIntDef(GetServiceIEN(Responses.IValueFor('ORDERABLE', 1)),0);
55 ltProcedure: IEN := StrToIntDef(GetProcedureIEN(Responses.IValueFor('ORDERABLE', 1)),0);
56 else IEN := 0;
57 end;
58 if IEN <> 0 then
59 ExecuteTemplateOrBoilerPlate(tmp, IEN, LType, nil, cptn, DocInfo)
60 else
61 CheckBoilerplate4Fields(tmp, cptn);
62
63
64 if WasTemplateDialogCanceled then AnErrMsg := 'The Auto-Accept Quick Order cannot be saved since the template was cancelled.';
65
66 if tmp <> '' then
67 Responses.Update('COMMENT', 1, TX_WPTYPE, tmp)
68 else
69 begin
70 TempSL := TStringList.Create;
71 try
72 TempSL.Text := Responses.EValueFor('COMMENT', 1);
73 Convert2LMText(TempSL);
74 Responses.Update('COMMENT', 1, TX_WPTYPE, TempSL.Text);
75 finally
76 TempSL.Free;
77 end;
78 end;
79 end;
80end;
81
82procedure TfrmODAuto.SetupDialog(OrderAction: Integer; const ID: string);
83var
84 DialogNames: TDialogNames;
85begin
86 inherited; // Responses is already loaded here
87 AutoAccept := True;
88 StatusText('Loading Dialog Definition');
89 FillerID := FillerIDForDialog(DialogIEN);
90 IdentifyDialog(DialogNames, DialogIEN);
91 Responses.Dialog := DialogNames.BaseName; // loads formatting info
92 Responses.DialogDisplayName := DialogNames.Display;
93 StatusText('');
94end;
95
96end.
Note: See TracBrowser for help on using the repository browser.