| [459] | 1 | unit mVisitRelated; | 
|---|
|  | 2 |  | 
|---|
|  | 3 | interface | 
|---|
|  | 4 |  | 
|---|
|  | 5 | uses | 
|---|
|  | 6 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, | 
|---|
|  | 7 | StdCtrls, ExtCtrls, rPCE, uPCE; | 
|---|
|  | 8 |  | 
|---|
|  | 9 | type | 
|---|
|  | 10 | TfraVisitRelated = class(TFrame) | 
|---|
|  | 11 | lblSCYes: TStaticText; | 
|---|
|  | 12 | lblSCNo: TStaticText; | 
|---|
|  | 13 | lblSCSelect: TStaticText; | 
|---|
|  | 14 | bvlSCFrame: TBevel; | 
|---|
|  | 15 | chkSCYes: TCheckBox; | 
|---|
|  | 16 | chkAOYes: TCheckBox; | 
|---|
|  | 17 | chkIRYes: TCheckBox; | 
|---|
|  | 18 | chkECYes: TCheckBox; | 
|---|
|  | 19 | chkMSTYes: TCheckBox; | 
|---|
|  | 20 | chkMSTNo: TCheckBox; | 
|---|
|  | 21 | chkECNo: TCheckBox; | 
|---|
|  | 22 | chkIRNo: TCheckBox; | 
|---|
|  | 23 | chkAONo: TCheckBox; | 
|---|
|  | 24 | chkSCNo: TCheckBox; | 
|---|
|  | 25 | chkHNCYes: TCheckBox; | 
|---|
|  | 26 | chkHNCNo: TCheckBox; | 
|---|
|  | 27 | chkCVYes: TCheckBox; | 
|---|
|  | 28 | chkCVNo: TCheckBox; | 
|---|
|  | 29 | procedure chkClick(Sender: TObject); | 
|---|
|  | 30 | private | 
|---|
|  | 31 | FSCCond: TSCConditions; | 
|---|
|  | 32 | procedure SetCheckEnable(CheckYes, CheckNo: TCheckBox; Allow: Boolean); | 
|---|
|  | 33 | procedure SetCheckState(CheckYes, CheckNo: TCheckBox; CheckState: Integer); | 
|---|
|  | 34 | function GetCheckState(CheckYes, CheckNo: TCheckBox): Integer; | 
|---|
| [463] | 35 |  | 
|---|
| [459] | 36 | public | 
|---|
|  | 37 | constructor Create(AOwner: TComponent); override; | 
|---|
|  | 38 | procedure GetRelated(PCEData: TPCEData); overload; | 
|---|
|  | 39 | procedure GetRelated(var ASCRelated, AAORelated, AIRRelated, | 
|---|
|  | 40 | AECRelated, AMSTRelated, AHNCRelated, ACVRelated: integer); overload; | 
|---|
|  | 41 | procedure InitAllow(SCCond: TSCConditions); | 
|---|
|  | 42 | procedure InitRelated(PCEData: TPCEData); overload; | 
|---|
|  | 43 | procedure InitRelated(const ASCRelated, AAORelated, AIRRelated, | 
|---|
|  | 44 | AECRelated, AMSTRelated, AHNCRelated, ACVRelated: integer); overload; | 
|---|
| [463] | 45 |  | 
|---|
| [459] | 46 | end; | 
|---|
|  | 47 |  | 
|---|
|  | 48 | implementation | 
|---|
|  | 49 |  | 
|---|
|  | 50 | {$R *.DFM} | 
|---|
|  | 51 |  | 
|---|
|  | 52 | const | 
|---|
| [463] | 53 | TAG_NONE_CHECKED = 0; | 
|---|
| [459] | 54 | TAG_SCYES      = 1; | 
|---|
|  | 55 | TAG_AOYES      = 2; | 
|---|
|  | 56 | TAG_IRYES      = 3; | 
|---|
|  | 57 | TAG_ECYES      = 4; | 
|---|
|  | 58 | TAG_MSTYES     = 5; | 
|---|
|  | 59 | TAG_HNCYES     = 6; | 
|---|
|  | 60 | TAG_CVYES      = 7; | 
|---|
|  | 61 | TAG_SCNO       = 11; | 
|---|
|  | 62 | TAG_AONO       = 12; | 
|---|
|  | 63 | TAG_IRNO       = 13; | 
|---|
|  | 64 | TAG_ECNO       = 14; | 
|---|
|  | 65 | TAG_MSTNO      = 15; | 
|---|
|  | 66 | TAG_HNCNO      = 16; | 
|---|
|  | 67 | TAG_CVNO       = 17; | 
|---|
|  | 68 |  | 
|---|
|  | 69 | procedure TfraVisitRelated.chkClick(Sender: TObject); | 
|---|
|  | 70 |  | 
|---|
|  | 71 | procedure DisableCheck(ACheckBox: TCheckBox); | 
|---|
|  | 72 | begin | 
|---|
|  | 73 | ACheckBox.Checked := False; ACheckBox.Enabled := False; | 
|---|
|  | 74 | end; | 
|---|
|  | 75 |  | 
|---|
|  | 76 | begin | 
|---|
|  | 77 | inherited; | 
|---|
|  | 78 | if Sender is TCheckBox then with TCheckBox(Sender) do case Tag of | 
|---|
|  | 79 | TAG_SCYES:  if Checked then chkSCNo.Checked   := False; | 
|---|
|  | 80 | TAG_AOYES:  if Checked then chkAONo.Checked   := False; | 
|---|
|  | 81 | TAG_IRYES:  if Checked then chkIRNo.Checked   := False; | 
|---|
|  | 82 | TAG_ECYES:  if Checked then chkECNo.Checked   := False; | 
|---|
|  | 83 | TAG_MSTYES: if Checked then chkMSTNo.Checked  := False; | 
|---|
|  | 84 | TAG_HNCYES: if Checked then chkHNCNo.Checked  := False; | 
|---|
|  | 85 | TAG_CVYES:  if Checked then chkCVNo.Checked   := False; | 
|---|
|  | 86 | TAG_SCNO:   if Checked then chkSCYes.Checked  := False; | 
|---|
|  | 87 | TAG_AONO:   if Checked then chkAOYes.Checked  := False; | 
|---|
|  | 88 | TAG_IRNO:   if Checked then chkIRYes.Checked  := False; | 
|---|
|  | 89 | TAG_ECNO:   if Checked then chkECYes.Checked  := False; | 
|---|
|  | 90 | TAG_MSTNO:  if Checked then chkMSTYes.Checked := False; | 
|---|
|  | 91 | TAG_HNCNO:  if Checked then chkHNCYes.Checked := False; | 
|---|
|  | 92 | TAG_CVNO:   if Checked then chkCVYes.Checked  := False; | 
|---|
|  | 93 | end; | 
|---|
| [463] | 94 |  | 
|---|
| [459] | 95 | if chkSCYes.Checked then | 
|---|
|  | 96 | begin | 
|---|
|  | 97 | DisableCheck(chkAOYes); | 
|---|
|  | 98 | DisableCheck(chkIRYes); | 
|---|
|  | 99 | DisableCheck(chkECYes); | 
|---|
|  | 100 | //    DisableCheck(chkMSTYes); | 
|---|
|  | 101 | DisableCheck(chkAONo); | 
|---|
|  | 102 | DisableCheck(chkIRNo); | 
|---|
|  | 103 | DisableCheck(chkECNo); | 
|---|
|  | 104 | //    DisableCheck(chkMSTNo); | 
|---|
|  | 105 | end else | 
|---|
|  | 106 | begin | 
|---|
|  | 107 | SetCheckEnable(chkSCYes,  chkSCNo,  FSCCond.SCAllow); | 
|---|
|  | 108 | SetCheckEnable(chkAOYes,  chkAONo,  FSCCond.AOAllow); | 
|---|
|  | 109 | SetCheckEnable(chkIRYes,  chkIRNo,  FSCCond.IRAllow); | 
|---|
|  | 110 | SetCheckEnable(chkECYes,  chkECNo,  FSCCond.ECAllow); | 
|---|
|  | 111 | end; | 
|---|
|  | 112 | SetCheckEnable(chkMSTYes, chkMSTNo, FSCCond.MSTAllow); | 
|---|
|  | 113 | SetCheckEnable(chkHNCYes, chkHNCNo, FSCCond.HNCAllow); | 
|---|
|  | 114 | SetCheckEnable(chkCVYes, chkCVNo, FSCCond.CVAllow); | 
|---|
|  | 115 | if chkAOYes.Checked or chkIRYes.Checked or chkECYes.Checked then //or chkMSTYes.Checked then | 
|---|
|  | 116 | begin | 
|---|
|  | 117 | chkSCYes.Checked := False; | 
|---|
|  | 118 | chkSCNo.Checked := True; | 
|---|
|  | 119 | end; | 
|---|
|  | 120 | end; | 
|---|
|  | 121 |  | 
|---|
|  | 122 | constructor TfraVisitRelated.Create(AOwner: TComponent); | 
|---|
|  | 123 | begin | 
|---|
|  | 124 | inherited; | 
|---|
|  | 125 | lblSCYes.Height := 13; | 
|---|
|  | 126 | lblSCNo.Height := 13; | 
|---|
|  | 127 | end; | 
|---|
|  | 128 |  | 
|---|
|  | 129 | function TfraVisitRelated.GetCheckState(CheckYes, CheckNo: TCheckBox): Integer; | 
|---|
|  | 130 | begin | 
|---|
|  | 131 | Result := SCC_NA; | 
|---|
|  | 132 | if CheckYes.Enabled and CheckYes.Checked then Result := SCC_YES; | 
|---|
|  | 133 | if CheckNo.Enabled and CheckNo.Checked then Result := SCC_NO; | 
|---|
|  | 134 | end; | 
|---|
|  | 135 |  | 
|---|
|  | 136 | procedure TfraVisitRelated.GetRelated(PCEData: TPCEData); | 
|---|
|  | 137 | begin | 
|---|
|  | 138 | PCEData.SCRelated  := GetCheckState(chkSCYes,  chkSCNo); | 
|---|
|  | 139 | PCEData.AORelated  := GetCheckState(chkAOYes,  chkAONo); | 
|---|
|  | 140 | PCEData.IRRelated  := GetCheckState(chkIRYes,  chkIRNo); | 
|---|
|  | 141 | PCEData.ECRelated  := GetCheckState(chkECYes,  chkECNo); | 
|---|
|  | 142 | PCEData.MSTRelated := GetCheckState(chkMSTYes, chkMSTNo); | 
|---|
|  | 143 | PCEData.HNCRelated := GetCheckState(chkHNCYes, chkHNCNo); | 
|---|
|  | 144 | PCEData.CVRelated  := GetCheckState(chkCVYes,  chkCVNo); | 
|---|
|  | 145 | end; | 
|---|
|  | 146 |  | 
|---|
|  | 147 | procedure TfraVisitRelated.GetRelated(var ASCRelated, AAORelated, | 
|---|
|  | 148 | AIRRelated, AECRelated, AMSTRelated, AHNCRelated, ACVRelated: integer); | 
|---|
|  | 149 | begin | 
|---|
|  | 150 | ASCRelated  := GetCheckState(chkSCYes,  chkSCNo); | 
|---|
|  | 151 | AAORelated  := GetCheckState(chkAOYes,  chkAONo); | 
|---|
|  | 152 | AIRRelated  := GetCheckState(chkIRYes,  chkIRNo); | 
|---|
|  | 153 | AECRelated  := GetCheckState(chkECYes,  chkECNo); | 
|---|
|  | 154 | AMSTRelated := GetCheckState(chkMSTYes, chkMSTNo); | 
|---|
|  | 155 | AHNCRelated := GetCheckState(chkHNCYes, chkHNCNo); | 
|---|
|  | 156 | ACVRelated  := GetCheckState(chkCVYes,  chkCVNo); | 
|---|
|  | 157 | end; | 
|---|
|  | 158 |  | 
|---|
|  | 159 | procedure TfraVisitRelated.InitAllow(SCCond: TSCConditions); | 
|---|
|  | 160 | begin | 
|---|
|  | 161 | FSCCond := SCCond; | 
|---|
|  | 162 | with FSCCond do | 
|---|
|  | 163 | begin | 
|---|
|  | 164 | SetCheckEnable(chkSCYes,  chkSCNo,  SCAllow); | 
|---|
|  | 165 | SetCheckEnable(chkAOYes,  chkAONo,  AOAllow); | 
|---|
|  | 166 | SetCheckEnable(chkIRYes,  chkIRNo,  IRAllow); | 
|---|
|  | 167 | SetCheckEnable(chkECYes,  chkECNo,  ECAllow); | 
|---|
|  | 168 | SetCheckEnable(chkMSTYes, chkMSTNo, MSTAllow); | 
|---|
|  | 169 | SetCheckEnable(chkHNCYes, chkHNCNo, HNCAllow); | 
|---|
|  | 170 | SetCheckEnable(chkCVYes,  chkCVNo,  CVAllow); | 
|---|
|  | 171 | end; | 
|---|
|  | 172 | end; | 
|---|
|  | 173 |  | 
|---|
|  | 174 | procedure TfraVisitRelated.InitRelated(PCEData: TPCEData); | 
|---|
|  | 175 | begin | 
|---|
|  | 176 | SetCheckState(chkSCYes,  chkSCNo,  PCEData.SCRelated); | 
|---|
|  | 177 | SetCheckState(chkAOYes,  chkAONo,  PCEData.AORelated); | 
|---|
|  | 178 | SetCheckState(chkIRYes,  chkIRNo,  PCEData.IRRelated); | 
|---|
|  | 179 | SetCheckState(chkECYes,  chkECNo,  PCEData.ECRelated); | 
|---|
|  | 180 | SetCheckState(chkMSTYes, chkMSTNo, PCEData.MSTRelated); | 
|---|
|  | 181 | SetCheckState(chkHNCYes, chkHNCNo, PCEData.HNCRelated); | 
|---|
|  | 182 | SetCheckState(chkCVYes,  chkCVNo,  PCEData.CVRelated); | 
|---|
| [463] | 183 | // HDS00015356: GWOT Change that sets default answer to "YES" | 
|---|
|  | 184 | //if not previously determined or new encounter. | 
|---|
|  | 185 | if FSCCond.CVAllow then | 
|---|
|  | 186 | begin | 
|---|
|  | 187 | if PCEData.CVRelated = SCC_NA then | 
|---|
|  | 188 | chkCVYes.Checked := True; | 
|---|
|  | 189 | end; | 
|---|
| [459] | 190 | end; | 
|---|
|  | 191 |  | 
|---|
|  | 192 | procedure TfraVisitRelated.InitRelated(const ASCRelated, AAORelated, AIRRelated, | 
|---|
|  | 193 | AECRelated, AMSTRelated, AHNCRelated, ACVRelated: integer); | 
|---|
|  | 194 | begin | 
|---|
|  | 195 | SetCheckState(chkSCYes,  chkSCNo,  ASCRelated); | 
|---|
|  | 196 | SetCheckState(chkAOYes,  chkAONo,  AAORelated); | 
|---|
|  | 197 | SetCheckState(chkIRYes,  chkIRNo,  AIRRelated); | 
|---|
|  | 198 | SetCheckState(chkECYes,  chkECNo,  AECRelated); | 
|---|
|  | 199 | SetCheckState(chkMSTYes, chkMSTNo, AMSTRelated); | 
|---|
|  | 200 | SetCheckState(chkHNCYes, chkHNCNo, AHNCRelated); | 
|---|
|  | 201 | SetCheckState(chkCVYes,  chkCVNo,  ACVRelated); | 
|---|
| [463] | 202 | // HDS00015356: GWOT Change that sets default answer to "YES" | 
|---|
|  | 203 | //if not previously determined or new encounter. | 
|---|
|  | 204 | if FSCCond.CVAllow then | 
|---|
|  | 205 | begin | 
|---|
|  | 206 | if ACVRelated = SCC_NA then | 
|---|
|  | 207 | chkCVYes.Checked := True; | 
|---|
|  | 208 | end; | 
|---|
| [459] | 209 | end; | 
|---|
|  | 210 |  | 
|---|
|  | 211 | procedure TfraVisitRelated.SetCheckEnable(CheckYes, CheckNo: TCheckBox; | 
|---|
|  | 212 | Allow: Boolean); | 
|---|
|  | 213 | begin | 
|---|
|  | 214 | CheckYes.Enabled := Allow; | 
|---|
|  | 215 | CheckNo.Enabled := Allow; | 
|---|
|  | 216 | end; | 
|---|
|  | 217 |  | 
|---|
|  | 218 | procedure TfraVisitRelated.SetCheckState(CheckYes, CheckNo: TCheckBox; CheckState: Integer); | 
|---|
|  | 219 | begin | 
|---|
|  | 220 | if CheckYes.Enabled then | 
|---|
|  | 221 | case CheckState of | 
|---|
|  | 222 | SCC_NA:  begin | 
|---|
|  | 223 | CheckYes.Checked := False; | 
|---|
|  | 224 | CheckNo.Checked := False; | 
|---|
|  | 225 | end; | 
|---|
|  | 226 | SCC_NO:  begin | 
|---|
|  | 227 | CheckYes.Checked := False; | 
|---|
|  | 228 | CheckNo.Checked := True; | 
|---|
|  | 229 | end; | 
|---|
|  | 230 | SCC_YES: begin | 
|---|
|  | 231 | CheckYes.Checked := True; | 
|---|
|  | 232 | CheckNo.Checked := False; | 
|---|
|  | 233 | end; | 
|---|
|  | 234 | end; {case} | 
|---|
|  | 235 | chkClick(Self); | 
|---|
| [463] | 236 |  | 
|---|
| [459] | 237 | end; | 
|---|
|  | 238 |  | 
|---|
|  | 239 | end. | 
|---|