| [459] | 1 | unit fImmunization; | 
|---|
|  | 2 |  | 
|---|
|  | 3 | interface | 
|---|
|  | 4 |  | 
|---|
|  | 5 | uses | 
|---|
|  | 6 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, | 
|---|
|  | 7 | fPCEBase, StdCtrls, ORCtrls, CheckLst, ExtCtrls, Buttons, uPCE, rPCE, ORFn, | 
|---|
|  | 8 | fPCELex, fPCEOther, ComCtrls, fPCEBaseMain; | 
|---|
|  | 9 |  | 
|---|
|  | 10 | type | 
|---|
|  | 11 | TfrmImmunizations = class(TfrmPCEBaseMain) | 
|---|
|  | 12 | lblReaction: TLabel; | 
|---|
|  | 13 | lblSeries: TLabel; | 
|---|
|  | 14 | cboImmReaction: TORComboBox; | 
|---|
|  | 15 | cboImmSeries: TORComboBox; | 
|---|
|  | 16 | ckbContra: TCheckBox; | 
|---|
|  | 17 | lblContra: TLabel; | 
|---|
|  | 18 |  | 
|---|
|  | 19 | procedure cboImmSeriesChange(Sender: TObject); | 
|---|
|  | 20 | procedure cboImmReactionChange(Sender: TObject); | 
|---|
|  | 21 | procedure ckbContraClick(Sender: TObject); | 
|---|
|  | 22 | procedure FormCreate(Sender: TObject); | 
|---|
|  | 23 | private | 
|---|
|  | 24 | protected | 
|---|
|  | 25 | procedure UpdateNewItemStr(var x: string); override; | 
|---|
|  | 26 | procedure UpdateControls; override; | 
|---|
|  | 27 | public | 
|---|
|  | 28 | //    procedure ChangeProvider; | 
|---|
|  | 29 | end; | 
|---|
|  | 30 |  | 
|---|
|  | 31 | var | 
|---|
|  | 32 | frmImmunizations: TfrmImmunizations; | 
|---|
|  | 33 |  | 
|---|
|  | 34 | implementation | 
|---|
|  | 35 |  | 
|---|
|  | 36 | {$R *.DFM} | 
|---|
|  | 37 |  | 
|---|
|  | 38 | uses | 
|---|
|  | 39 | fEncounterFrame; | 
|---|
|  | 40 |  | 
|---|
|  | 41 | procedure TfrmImmunizations.cboImmSeriesChange(Sender: TObject); | 
|---|
|  | 42 | var | 
|---|
|  | 43 | i: integer; | 
|---|
|  | 44 |  | 
|---|
|  | 45 | begin | 
|---|
|  | 46 | if(NotUpdating) and (cboImmSeries.Text <> '') then | 
|---|
|  | 47 | begin | 
|---|
|  | 48 | for i := 0 to lbGrid.Items.Count-1 do | 
|---|
|  | 49 | if(lbGrid.Selected[i]) then | 
|---|
|  | 50 | TPCEImm(lbGrid.Items.Objects[i]).Series := cboImmSeries.ItemID; | 
|---|
|  | 51 | GridChanged; | 
|---|
|  | 52 | end; | 
|---|
|  | 53 | end; | 
|---|
|  | 54 |  | 
|---|
|  | 55 | procedure TfrmImmunizations.cboImmReactionChange(Sender: TObject); | 
|---|
|  | 56 | var | 
|---|
|  | 57 | i: integer; | 
|---|
|  | 58 |  | 
|---|
|  | 59 | begin | 
|---|
|  | 60 | if(NotUpdating) and (cboImmReaction.Text <> '') then | 
|---|
|  | 61 | begin | 
|---|
|  | 62 | for i := 0 to lbGrid.Items.Count-1 do | 
|---|
|  | 63 | if(lbGrid.Selected[i]) then | 
|---|
|  | 64 | TPCEImm(lbGrid.Items.Objects[i]).Reaction := cboImmReaction.ItemID; | 
|---|
|  | 65 | GridChanged; | 
|---|
|  | 66 | end; | 
|---|
|  | 67 | end; | 
|---|
|  | 68 |  | 
|---|
|  | 69 | procedure TfrmImmunizations.ckbContraClick(Sender: TObject); | 
|---|
|  | 70 | var | 
|---|
|  | 71 | i: integer; | 
|---|
|  | 72 |  | 
|---|
|  | 73 | begin | 
|---|
|  | 74 | if(NotUpdating) then | 
|---|
|  | 75 | begin | 
|---|
|  | 76 | for i := 0 to lbGrid.Items.Count-1 do | 
|---|
|  | 77 | if(lbGrid.Selected[i]) then | 
|---|
|  | 78 | TPCEImm(lbGrid.Items.Objects[i]).Contraindicated := ckbContra.Checked; | 
|---|
|  | 79 | GridChanged; | 
|---|
|  | 80 | end; | 
|---|
|  | 81 | end; | 
|---|
|  | 82 |  | 
|---|
|  | 83 | procedure TfrmImmunizations.FormCreate(Sender: TObject); | 
|---|
|  | 84 | begin | 
|---|
|  | 85 | inherited; | 
|---|
|  | 86 | FTabName := CT_ImmNm; | 
|---|
|  | 87 | FPCEListCodesProc := ListImmunizCodes; | 
|---|
|  | 88 | FPCEItemClass := TPCEImm; | 
|---|
|  | 89 | FPCECode := 'IMM'; | 
|---|
|  | 90 | PCELoadORCombo(cboImmReaction); | 
|---|
|  | 91 | PCELoadORCombo(cboImmSeries); | 
|---|
|  | 92 | end; | 
|---|
|  | 93 |  | 
|---|
|  | 94 | procedure TfrmImmunizations.UpdateNewItemStr(var x: string); | 
|---|
|  | 95 | begin | 
|---|
|  | 96 | inherited; | 
|---|
|  | 97 | SetPiece(x, U, pnumImmSeries, NoPCEValue); | 
|---|
|  | 98 | SetPiece(x, U, pnumImmReaction, NoPCEValue); | 
|---|
|  | 99 | SetPiece(x, U, pnumImmRefused, '0'); | 
|---|
|  | 100 | SetPiece(x, U, pnumImmContra, '0'); | 
|---|
|  | 101 | end; | 
|---|
|  | 102 |  | 
|---|
|  | 103 | procedure TfrmImmunizations.UpdateControls; | 
|---|
|  | 104 | var | 
|---|
|  | 105 | ok, Contra, First: boolean; | 
|---|
|  | 106 | SameS, SameR, SameC: boolean; | 
|---|
|  | 107 | i: integer; | 
|---|
|  | 108 | Ser, React: string; | 
|---|
|  | 109 | Obj: TPCEImm; | 
|---|
|  | 110 |  | 
|---|
|  | 111 | begin | 
|---|
|  | 112 | inherited; | 
|---|
|  | 113 | if(NotUpdating) then | 
|---|
|  | 114 | begin | 
|---|
|  | 115 | BeginUpdate; | 
|---|
|  | 116 | try | 
|---|
|  | 117 | ok := (lbGrid.SelCount > 0); | 
|---|
|  | 118 | lblSeries.Enabled := ok; | 
|---|
|  | 119 | lblReaction.Enabled := ok; | 
|---|
|  | 120 | cboImmSeries.Enabled := ok; | 
|---|
|  | 121 | cboImmReaction.Enabled := ok; | 
|---|
|  | 122 | ckbContra.Enabled := ok; | 
|---|
|  | 123 | if(ok) then | 
|---|
|  | 124 | begin | 
|---|
|  | 125 | First := TRUE; | 
|---|
|  | 126 | SameS := TRUE; | 
|---|
|  | 127 | SameR := TRUE; | 
|---|
|  | 128 | SameC := TRUE; | 
|---|
|  | 129 | Contra := FALSE; | 
|---|
|  | 130 | Ser := NoPCEValue; | 
|---|
|  | 131 | React := NoPCEValue; | 
|---|
|  | 132 | for i := 0 to lbGrid.Items.Count-1 do | 
|---|
|  | 133 | begin | 
|---|
|  | 134 | if lbGrid.Selected[i] then | 
|---|
|  | 135 | begin | 
|---|
|  | 136 | Obj := TPCEImm(lbGrid.Items.Objects[i]); | 
|---|
|  | 137 | if(First) then | 
|---|
|  | 138 | begin | 
|---|
|  | 139 | First := FALSE; | 
|---|
|  | 140 | Contra := Obj.Contraindicated; | 
|---|
|  | 141 | Ser := Obj.Series; | 
|---|
|  | 142 | React := Obj.Reaction; | 
|---|
|  | 143 | end | 
|---|
|  | 144 | else | 
|---|
|  | 145 | begin | 
|---|
|  | 146 | if(SameS) then | 
|---|
|  | 147 | SameS := (Ser = Obj.Series); | 
|---|
|  | 148 | if(SameR) then | 
|---|
|  | 149 | SameR := (React = Obj.Reaction); | 
|---|
|  | 150 | if(SameC) then | 
|---|
|  | 151 | SameC := (Contra = Obj.Contraindicated); | 
|---|
|  | 152 | end; | 
|---|
|  | 153 | end; | 
|---|
|  | 154 | end; | 
|---|
|  | 155 | if(SameS) then | 
|---|
|  | 156 | cboImmSeries.SelectByID(Ser) | 
|---|
|  | 157 | else | 
|---|
|  | 158 | cboImmSeries.Text := ''; | 
|---|
|  | 159 | if(SameR) then | 
|---|
|  | 160 | cboImmReaction.SelectByID(React) | 
|---|
|  | 161 | else | 
|---|
|  | 162 | cboImmReaction.Text := ''; | 
|---|
|  | 163 | if(SameC) then | 
|---|
|  | 164 | ckbContra.Checked := Contra | 
|---|
|  | 165 | else | 
|---|
|  | 166 | ckbContra.State := cbGrayed; | 
|---|
|  | 167 | end | 
|---|
|  | 168 | else | 
|---|
|  | 169 | begin | 
|---|
|  | 170 | cboImmSeries.Text := ''; | 
|---|
|  | 171 | cboImmReaction.Text := ''; | 
|---|
|  | 172 | ckbContra.Checked := FALSE; | 
|---|
|  | 173 | end; | 
|---|
|  | 174 | finally | 
|---|
|  | 175 | EndUpdate; | 
|---|
|  | 176 | end; | 
|---|
|  | 177 | end; | 
|---|
|  | 178 | end; | 
|---|
|  | 179 |  | 
|---|
|  | 180 | end. | 
|---|
|  | 181 |  | 
|---|