source: cprs/branches/foia-cprs/CPRS-Chart/Orders/fODMedOIFA.pas@ 459

Last change on this file since 459 was 459, checked in by Kevin Toppenberg, 16 years ago

Adding foia-cprs branch

File size: 3.5 KB
Line 
1unit fODMedOIFA;
2
3interface
4
5uses
6 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
7 fAutoSz, StdCtrls, ORCtrls;
8
9type
10 TfrmODMedOIFA = class(TfrmAutoSz)
11 Label1: TLabel;
12 lstFormAlt: TORListBox;
13 Label2: TStaticText;
14 cmdYes: TButton;
15 cmdNo: TButton;
16 procedure FormCreate(Sender: TObject);
17 procedure cmdYesClick(Sender: TObject);
18 procedure cmdNoClick(Sender: TObject);
19 procedure lstFormAltClick(Sender: TObject);
20 private
21 FSelected: string;
22 end;
23
24procedure CheckFormularyOI(var AnIEN: Integer; var AName: string; ForInpatient: Boolean);
25procedure CheckFormularyDose(DispDrug: Integer; var OI: Integer; var OIName: string;
26 ForInpatient: Boolean);
27
28implementation
29
30{$R *.DFM}
31
32uses ORFn, rODMeds;
33
34procedure CheckFormularyOI(var AnIEN: Integer; var AName: string; ForInpatient: Boolean);
35
36const
37 TX_NO_FORM_ALT = 'This drug is not in the formulary!' + CRLF +
38 'There are no formulary alternatives entered for this item.' + CRLF +
39 'Please consult with your pharmacy before ordering this item.';
40 TC_NO_FORM_ALT = 'No Formulary Alternatives';
41
42var
43 frmODMedOIFA: TfrmODMedOIFA;
44 FormAltList: TStringList;
45begin
46 FormAltList := TStringList.Create;
47 try
48 LoadFormularyAltOI(FormAltList, AnIEN, ForInpatient);
49 if FormAltList.Count > 0 then
50 begin
51 frmODMedOIFA := TfrmODMedOIFA.Create(Application);
52 try
53 ResizeFormToFont(TForm(frmODMedOIFA));
54 with frmODMedOIFA do
55 begin
56 lstFormAlt.Items.Assign(FormAltList);
57 ShowModal;
58 if Length(FSelected) > 0 then
59 begin
60 AnIEN := StrToIntDef(Piece(FSelected, U, 1), 0);
61 AName := Piece(FSelected, U, 2);
62 end;
63 end; {with frmODMedOIFA}
64 finally
65 frmODMedOIFA.Release;
66 end; {frmODMedOIFA}
67 end
68 else messageDlg(TX_NO_FORM_ALT,mtWarning, [mbOK],0);
69 finally
70 FormAltList.Free;
71 end; {FormAltList}
72end;
73
74procedure CheckFormularyDose(DispDrug: Integer; var OI: Integer; var OIName: string;
75 ForInpatient: Boolean);
76var
77 frmODMedOIFA: TfrmODMedOIFA;
78 FormAltList: TStringList;
79begin
80 FormAltList := TStringList.Create;
81 try
82 LoadFormularyAltDose(FormAltList, DispDrug, OI, ForInpatient);
83 if FormAltList.Count > 0 then
84 begin
85 frmODMedOIFA := TfrmODMedOIFA.Create(Application);
86 try
87 ResizeFormToFont(TForm(frmODMedOIFA));
88 with frmODMedOIFA do
89 begin
90 lstFormAlt.Items.Assign(FormAltList);
91 ShowModal;
92 if Length(FSelected) > 0 then
93 begin
94 OI := StrToIntDef(Piece(FSelected, U, 1), 0);
95 OIName := Piece(FSelected, U, 2);
96 end;
97 end; {with frmODMedOIFA}
98 finally
99 frmODMedOIFA.Release;
100 end; {frmODMedOIFA}
101 end; {if FormAltList}
102 finally
103 FormAltList.Free;
104 end; {FormAltList}
105end;
106
107procedure TfrmODMedOIFA.FormCreate(Sender: TObject);
108begin
109 inherited;
110 FSelected := '';
111end;
112
113procedure TfrmODMedOIFA.lstFormAltClick(Sender: TObject);
114begin
115 inherited;
116 if lstFormAlt.ItemIndex > -1 then cmdYes.Enabled := True;
117end;
118
119procedure TfrmODMedOIFA.cmdYesClick(Sender: TObject);
120begin
121 inherited;
122 with lstFormAlt do if ItemIndex > -1 then FSelected := Items[ItemIndex];
123 Close;
124end;
125
126procedure TfrmODMedOIFA.cmdNoClick(Sender: TObject);
127begin
128 inherited;
129 Close;
130end;
131
132end.
Note: See TracBrowser for help on using the repository browser.