Produced by Araxis Merge on 6/4/2018 8:25:12 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | CPRS_v32_P2_Build48.zip\OR_30_405V48_SRC.zip\Cover Sheet | oCoverSheet.pas | Wed May 9 15:19:01 2018 UTC |
| 2 | CPRS_v32_P2_Build48.zip\OR_30_405V48_SRC.zip\Cover Sheet | oCoverSheet.pas | Fri Jun 1 20:07:04 2018 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 2 | 992 |
| Changed | 1 | 2 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | unit oCove rSheet; | |
| 2 | { | |
| 3 | ======== ========== ========== ========== ========== ========== ========== ========== == | |
| 4 | * | |
| 5 | * Applicatio n: CPRS - Covershee t controll er object | |
| 6 | * Developer: PII | |
| 7 | * Site: Salt L ake City I SC | |
| 8 | * Date: 2015-1 2-04 | |
| 9 | * | |
| 10 | * Descriptio n: Primar y (Singlet on) Covers heet Contr oller | |
| 11 | * | |
| 12 | * Notes: | |
| 13 | * | |
| 14 | ======== ========== ========== ========== ========== ========== ========== ========== == | |
| 15 | } | |
| 16 | ||
| 17 | interface | |
| 18 | ||
| 19 | uses | |
| 20 | Dialogs, | |
| 21 | System.C lasses, | |
| 22 | System.S ysUtils, | |
| 23 | System.G enerics.Co llections, | |
| 24 | System.T ypes, | |
| 25 | System.S trUtils, | |
| 26 | Vcl.Cont rols, | |
| 27 | Vcl.ExtC trls, | |
| 28 | Vcl.Grap hics, | |
| 29 | iGridPan elIntf, | |
| 30 | iCoverSh eetIntf; | |
| 31 | ||
| 32 | type | |
| 33 | TCoverSh eet = clas s(TInterfa cedObject, ICoverShe et, ICPRS5 08, ICPRST ab) | |
| 34 | private | |
| 35 | fUniqu eID: strin g; | |
| 36 | fIPAdd ress: stri ng; | |
| 37 | fParam List: ICov erSheetPar amList; | |
| 38 | fContr ols: TObje ctList<TCo ntrol>; | |
| 39 | fCover SheetRows: array of IGridPanel Display; | |
| 40 | fFontS ize: integ er; | |
| 41 | fScree nReaderAct ive: boole an; | |
| 42 | fGridS ettings: I CoverSheet Grid; | |
| 43 | ||
| 44 | { Exte rnal event pointers } | |
| 45 | fOnRef reshCWAD: TNotifyEve nt; | |
| 46 | fOnRef reshRemind ers: TNoti fyEvent; | |
| 47 | ||
| 48 | { Exte rnal Refre shCWAD eve nt support } | |
| 49 | functi on getOnRe freshCWAD: TNotifyEv ent; | |
| 50 | proced ure setOnR efreshCWAD (const aVa lue: TNoti fyEvent); | |
| 51 | proced ure fRefre shCWAD(Sen der: TObje ct); | |
| 52 | ||
| 53 | { Exte rnal Refre shReminder s event su pport } | |
| 54 | functi on getOnRe freshRemin ders: TNot ifyEvent; | |
| 55 | proced ure setOnR efreshRemi nders(cons t aValue: TNotifyEve nt); | |
| 56 | proced ure fRefre shReminder s(Sender: TObject); | |
| 57 | ||
| 58 | functi on getPara ms: ICover SheetParam List; | |
| 59 | functi on getUniq ueID: stri ng; | |
| 60 | functi on getIPAd dress: str ing; | |
| 61 | functi on getIsFi nishedLoad ing: boole an; | |
| 62 | functi on getPane lCount: in teger; | |
| 63 | protecte d | |
| 64 | { ICPR S508 } | |
| 65 | proced ure OnFocu sFirstCont rol(Sender : TObject) ; virtual; | |
| 66 | proced ure OnSetF ontSize(Se nder: TObj ect; aNewS ize: integ er); virtu al; | |
| 67 | proced ure OnSetS creenReade rStatus(Se nder: TObj ect; aActi ve: boolea n); virtua l; | |
| 68 | ||
| 69 | { ICPR STab } | |
| 70 | proced ure OnClea rPtData(Se nder: TObj ect); virt ual; | |
| 71 | proced ure OnDisp layPage(Se nder: TObj ect; aCall ingContext : integer) ; virtual; | |
| 72 | proced ure OnLoad ed(Sender: TObject); virtual; | |
| 73 | ||
| 74 | { ICov erSheet } | |
| 75 | proced ure OnDisp lay(Sender : TObject; aGridPane l: TGridPa nel); virt ual; final ; | |
| 76 | proced ure OnExpa ndAllPanel s(Sender: TObject); virtual; f inal; | |
| 77 | proced ure OnInit CoverSheet (Sender: T Object); v irtual; fi nal; | |
| 78 | proced ure OnRefr eshPanel(S ender: TOb ject; aPan elID: inte ger); virt ual; final ; | |
| 79 | proced ure OnSwit chToPatien t(Sender: TObject; a DFN: strin g); virtua l; | |
| 80 | public | |
| 81 | constr uctor Crea te; | |
| 82 | destru ctor Destr oy; overri de; | |
| 83 | end; | |
| 84 | ||
| 85 | implementa tion | |
| 86 | ||
| 87 | uses | |
| 88 | oCoverSh eetGrid, | |
| 89 | oCoverSh eetParam_C PRS, | |
| 90 | oCoverSh eetParam_C PRS_Active Meds, | |
| 91 | oCoverSh eetParam_C PRS_Allerg ies, | |
| 92 | oCoverSh eetParam_C PRS_Appts, | |
| 93 | oCoverSh eetParam_C PRS_Immuni zations, | |
| 94 | oCoverSh eetParam_C PRS_Labs, | |
| 95 | oCoverSh eetParam_C PRS_Postin gs, | |
| 96 | oCoverSh eetParam_C PRS_Proble mList, | |
| 97 | oCoverSh eetParam_C PRS_Remind ers, | |
| 98 | oCoverSh eetParam_C PRS_Vitals , | |
| 99 | oCoverSh eetParam_C PRS_WH, | |
| 100 | oCoverSh eetParam_W idgetClock , | |
| 101 | oCoverSh eetParam_W eb, | |
| 102 | oCoverSh eetParamLi st, | |
| 103 | ORFn, | |
| 104 | ORNet; | |
| 105 | ||
| 106 | { TCoverSh eet } | |
| 107 | ||
| 108 | constructo r TCoverSh eet.Create ; | |
| 109 | begin | |
| 110 | inherite d Create; | |
| 111 | TCoverSh eetParamLi st.Create. GetInterfa ce(ICoverS heetParamL ist, fPara mList); | |
| 112 | fControl s := TObje ctList<TCo ntrol>.Cre ate; | |
| 113 | fControl s.OwnsObje cts := Fal se; | |
| 114 | fUniqueI D := NewGU ID; | |
| 115 | fIPAddre ss := Dott edIPStr; | |
| 116 | fOnRefre shCWAD := fRefreshCW AD; | |
| 117 | fFontSiz e := 8; | |
| 118 | fScreenR eaderActiv e := False ; | |
| 119 | SetLengt h(fCoverSh eetRows, 0 ); | |
| 120 | TCoverSh eetGrid.Cr eate.GetIn terface(IC overSheetG rid, fGrid Settings); | |
| 121 | end; | |
| 122 | ||
| 123 | destructor TCoverShe et.Destroy ; | |
| 124 | begin | |
| 125 | fParamLi st := nil; | |
| 126 | fControl s.Clear; | |
| 127 | FreeAndN il(fContro ls); | |
| 128 | inherite d; | |
| 129 | end; | |
| 130 | ||
| 131 | procedure TCoverShee t.OnClearP tData(Send er: TObjec t); | |
| 132 | var | |
| 133 | aControl : TControl ; | |
| 134 | aCPRSTab : ICPRSTab ; | |
| 135 | begin | |
| 136 | for aCon trol in fC ontrols do | |
| 137 | if Sup ports(aCon trol, ICPR STab, aCPR STab) then | |
| 138 | aCPR STab.OnCle arPtData(S ender); | |
| 139 | end; | |
| 140 | ||
| 141 | procedure TCoverShee t.OnDispla yPage(Send er: TObjec t; aCallin gContext: integer); | |
| 142 | begin | |
| 143 | // | |
| 144 | end; | |
| 145 | ||
| 146 | procedure TCoverShee t.OnLoaded (Sender: T Object); | |
| 147 | begin | |
| 148 | // | |
| 149 | end; | |
| 150 | ||
| 151 | procedure TCoverShee t.OnDispla y(Sender: TObject; a GridPanel: TGridPane l); | |
| 152 | var | |
| 153 | aParam: ICoverShee tParam; | |
| 154 | aDisplay Panel: ICo verSheetDi splayPanel ; | |
| 155 | aGridPan elFrame: I GridPanelF rame; | |
| 156 | aCPRS508 : ICPRS508 ; | |
| 157 | aControl : TControl ; | |
| 158 | aIndex: integer; | |
| 159 | aGridPan elRow: TGr idPanel; | |
| 160 | aCol: in teger; | |
| 161 | aRow: in teger; | |
| 162 | begin | |
| 163 | try | |
| 164 | fGridS ettings.Pa nelCount : = fParamLi st.Count; | |
| 165 | ||
| 166 | aGridP anel.Visib le := Fals e; | |
| 167 | aGridP anel.Align := alNone ; | |
| 168 | ||
| 169 | { NOTE : Actual c ontrols ar e free'd a GridPanel. ControlCol lection.Cl ear } | |
| 170 | fContr ols.Clear; | |
| 171 | aGridP anel.Contr olCollecti on.Clear; | |
| 172 | aGridP anel.RowCo llection.C lear; | |
| 173 | aGridP anel.Colum nCollectio n.Clear; | |
| 174 | ||
| 175 | { Make sure we h ave ONLY 1 column } | |
| 176 | aGridP anel.Colum nCollectio n.Add; | |
| 177 | ||
| 178 | { Make sure we h ave enough rows } | |
| 179 | while aGridPanel .RowCollec tion.Count < fGridSe ttings.Row Count do | |
| 180 | aGri dPanel.Row Collection .Add; | |
| 181 | ||
| 182 | { Buil d the rows as plain TGridPanel s but stor e their in terfaces i n fCoverSh eetRows } | |
| 183 | SetLen gth(fCover SheetRows, aGridPane l.RowColle ction.Coun t); | |
| 184 | for aI ndex := 0 to aGridPa nel.RowCol lection.Co unt - 1 do | |
| 185 | begi n | |
| 186 | { Get new TG ridPanel f or the row in aIndex } | |
| 187 | Ne wGridPanel (aGridPane l, 1, 1, a GridPanelR ow); | |
| 188 | aG ridPanelRo w.Name := Format('%s _Row_%d', [aGridPane lRow.Class Name, aInd ex]); | |
| 189 | aG ridPanelRo w.Parent : = aGridPan el; | |
| 190 | ||
| 191 | { Add this T GridPanel the main G rid at Col 0, Row aI ndex } | |
| 192 | aG ridPanel.C ontrolColl ection.Add Control(aG ridPanelRo w, 0, aInd ex); | |
| 193 | ||
| 194 | { Create new IGridPane lDisplay f or this TG ridPanel R ow and pla ce it in f CoverSheet Rows } | |
| 195 | Ne wGridPanel Display(aG ridPanelRo w, fCoverS heetRows[a Index]); | |
| 196 | end; | |
| 197 | ||
| 198 | { Fina lly, we ca n start bu ilding and placing t he frames into the f CoverSheet Rows[] pan els } | |
| 199 | for aI ndex := 0 to fParamL ist.Count - 1 do | |
| 200 | begi n | |
| 201 | aP aram := fP aramList.P aramByInde x[aIndex]; | |
| 202 | aP aram.Displ ayRow := f GridSettin gs.PanelRo w[aIndex]; | |
| 203 | aP aram.Displ ayColumn : = fGridSet tings.Pane lColumn[aI ndex]; | |
| 204 | ||
| 205 | aC ontrol := aParam.New CoverSheet Control(aG ridPanel); | |
| 206 | fC ontrols.Ad d(aControl ); | |
| 207 | ||
| 208 | { Set up the frame as an IGridPa nelFrame } | |
| 209 | if aControl. GetInterfa ce(IGridPa nelFrame, aGridPanel Frame) the n | |
| 210 | begin | |
| 211 | aGridPan elFrame.Ti tle := aPa ram.Title; | |
| 212 | aGridPan elFrame.Al lowCollaps e := gpcCo lumn; | |
| 213 | aGridPan elFrame.Al lowRefresh := True; | |
| 214 | end; | |
| 215 | ||
| 216 | { Assign the parameter to the fr ame } | |
| 217 | if Supports( aControl, ICoverShee tDisplayPa nel, aDisp layPanel) then | |
| 218 | aDisplayPa nel.Params := aParam ; | |
| 219 | ||
| 220 | { Hook up th e 508 'stu ff' } | |
| 221 | if Supports( aControl, ICPRS508, aCPRS508) then | |
| 222 | begin | |
| 223 | aCPRS508 .OnSetFont Size(Self, fFontSize ); | |
| 224 | aCPRS508 .OnSetScre enReaderSt atus(Self, fScreenRe aderActive ); | |
| 225 | end; | |
| 226 | ||
| 227 | { Make sure we have en ough colum ns in this row (we a re now usi ng IGridPa nelDisplay ) } | |
| 228 | wh ile (fCove rSheetRows [aParam.Di splayRow]. ColumnCoun t - 1) < a Param.Disp layColumn do | |
| 229 | fCoverShee tRows[aPar am.Display Row].AddCo lumn; | |
| 230 | ||
| 231 | { Finally ad d the cont rol } | |
| 232 | fC overSheetR ows[aParam .DisplayRo w].AddCont rol(aContr ol, aParam .DisplayCo lumn, 0, a lClient); | |
| 233 | end; | |
| 234 | ||
| 235 | { We h ave a comp lete set o f frames i n the Main TGridPane l and it's rows!!! A lign some stuff } | |
| 236 | try | |
| 237 | aGri dPanel.Row Collection .BeginUpda te; | |
| 238 | for aRow := 0 to aGridPa nel.RowCol lection.Co unt - 1 do | |
| 239 | be gin | |
| 240 | aGridPanel .RowCollec tion[aRow] .SizeStyle := ssPerc ent; | |
| 241 | aGridPanel .RowCollec tion[aRow] .Value := (100 / aGr idPanel.Ro wCollectio n.Count); | |
| 242 | for aCol : = 0 to fCo verSheetRo ws[aRow].C olumnCount - 1 do | |
| 243 | begin | |
| 244 | fCover SheetRows[ aRow].Colu mnStyle[aC ol] := ssP ercent; | |
| 245 | fCover SheetRows[ aRow].Colu mnValue[aC ol] := (10 0 / fCover SheetRows[ aRow].Colu mnCount); | |
| 246 | end; | |
| 247 | fCoverShee tRows[aRow ].AlignGri d; | |
| 248 | en d; | |
| 249 | finall y | |
| 250 | aGri dPanel.Row Collection .EndUpdate ; | |
| 251 | end; | |
| 252 | ||
| 253 | aGridP anel.Align := alClie nt; | |
| 254 | aGridP anel.Show; | |
| 255 | aGridP anel.Repai nt; | |
| 256 | except | |
| 257 | on e: Exception do | |
| 258 | rais e ECoverSh eetExcepti on.CreateF mt('ECover SheetExcep tion: Erro r: %s', [e .Message]) ; | |
| 259 | end; | |
| 260 | end; | |
| 261 | ||
| 262 | procedure TCoverShee t.OnExpand AllPanels( Sender: TO bject); | |
| 263 | var | |
| 264 | i: integ er; | |
| 265 | begin | |
| 266 | for i := 0 to High (fCoverShe etRows) do | |
| 267 | fCover SheetRows[ i].ExpandA llControls ; | |
| 268 | end; | |
| 269 | ||
| 270 | function T CoverSheet .getIsFini shedLoadin g: boolean ; | |
| 271 | var | |
| 272 | aControl : TControl ; | |
| 273 | aCoverSh eetDisplay Panel: ICo verSheetDi splayPanel ; | |
| 274 | aList: T StringList ; | |
| 275 | begin | |
| 276 | Result : = True; | |
| 277 | aList := TStringLi st.Create; | |
| 278 | try | |
| 279 | for aC ontrol in fControls do | |
| 280 | if S upports(aC ontrol, IC overSheetD isplayPane l, aCoverS heetDispla yPanel) th en | |
| 281 | if not aCove rSheetDisp layPanel.I sFinishedL oading the n | |
| 282 | begin | |
| 283 | aList.Ad d(aCoverSh eetDisplay Panel.Titl e + ' not finished') ; | |
| 284 | Result : = False; | |
| 285 | end | |
| 286 | el se | |
| 287 | aList.Add( aCoverShee tDisplayPa nel.Title + ' finish ed'); | |
| 288 | finally | |
| 289 | FreeAn dNil(aList ); | |
| 290 | end; | |
| 291 | end; | |
| 292 | ||
| 293 | procedure TCoverShee t.OnFocusF irstContro l(Sender: TObject); | |
| 294 | var | |
| 295 | aCPRS508 : ICPRS508 ; | |
| 296 | begin | |
| 297 | if fCont rols.Count > 0 then | |
| 298 | if Sup ports(fCon trols[0], ICPRS508, aCPRS508) then | |
| 299 | aCPR S508.OnFoc usFirstCon trol(Sende r); | |
| 300 | end; | |
| 301 | ||
| 302 | function T CoverSheet .getOnRefr eshCWAD: T NotifyEven t; | |
| 303 | begin | |
| 304 | Result : = fOnRefre shCWAD; | |
| 305 | end; | |
| 306 | ||
| 307 | function T CoverSheet .getOnRefr eshReminde rs: TNotif yEvent; | |
| 308 | begin | |
| 309 | Result : = fOnRefre shReminder s; | |
| 310 | end; | |
| 311 | ||
| 312 | procedure TCoverShee t.setOnRef reshCWAD(c onst aValu e: TNotify Event); | |
| 313 | begin | |
| 314 | if Assig ned(aValue ) then | |
| 315 | fOnRef reshCWAD : = aValue | |
| 316 | else | |
| 317 | fOnRef reshCWAD : = fRefresh CWAD; | |
| 318 | end; | |
| 319 | ||
| 320 | procedure TCoverShee t.setOnRef reshRemind ers(const aValue: TN otifyEvent ); | |
| 321 | begin | |
| 322 | if Assig ned(aValue ) then | |
| 323 | fOnRef reshRemind ers := aVa lue | |
| 324 | else | |
| 325 | fOnRef reshRemind ers := fRe freshRemin ders; | |
| 326 | end; | |
| 327 | ||
| 328 | procedure TCoverShee t.fRefresh CWAD(Sende r: TObject ); | |
| 329 | begin | |
| 330 | // this is only he re in case the metho d is set n il. See th e assesor methods | |
| 331 | end; | |
| 332 | ||
| 333 | procedure TCoverShee t.fRefresh Reminders( Sender: TO bject); | |
| 334 | begin | |
| 335 | // this is only he re in case the metho d is set n il. See th e assesor methods | |
| 336 | end; | |
| 337 | ||
| 338 | procedure TCoverShee t.OnRefres hPanel(Sen der: TObje ct; aPanel ID: intege r); | |
| 339 | var | |
| 340 | aControl : TControl ; | |
| 341 | aCoverSh eetDisplay Panel: ICo verSheetDi splayPanel ; | |
| 342 | begin | |
| 343 | for aCon trol in fC ontrols do | |
| 344 | if Sup ports(aCon trol, ICov erSheetDis playPanel, aCoverShe etDisplayP anel) then | |
| 345 | if a CoverSheet DisplayPan el.Params. ID = aPane lID then | |
| 346 | aC overSheetD isplayPane l.OnRefres hDisplay(S elf); | |
| 347 | end; | |
| 348 | ||
| 349 | procedure TCoverShee t.OnSetFon tSize(Send er: TObjec t; aNewSiz e: integer ); | |
| 350 | var | |
| 351 | aControl : TControl ; | |
| 352 | aCPRS508 : ICPRS508 ; | |
| 353 | begin | |
| 354 | fFontSiz e := aNewS ize; | |
| 355 | for aCon trol in fC ontrols do | |
| 356 | if Sup ports(aCon trol, ICPR S508, aCPR S508) then | |
| 357 | aCPR S508.OnSet FontSize(S elf, fFont Size); | |
| 358 | end; | |
| 359 | ||
| 360 | procedure TCoverShee t.OnSetScr eenReaderS tatus(Send er: TObjec t; aActive : boolean) ; | |
| 361 | var | |
| 362 | aControl : TControl ; | |
| 363 | aCPRS508 : ICPRS508 ; | |
| 364 | begin | |
| 365 | fScreenR eaderActiv e := aActi ve; | |
| 366 | for aCon trol in fC ontrols do | |
| 367 | if Sup ports(aCon trol, ICPR S508, aCPR S508) then | |
| 368 | aCPR S508.OnSet ScreenRead erStatus(S elf, fScre enReaderAc tive); | |
| 369 | end; | |
| 370 | ||
| 371 | procedure TCoverShee t.OnSwitch ToPatient( Sender: TO bject; aDF N: string) ; | |
| 372 | var | |
| 373 | aDisplay Panel: ICo verSheetDi splayPanel ; | |
| 374 | aControl : TControl ; | |
| 375 | aParam: ICoverShee tParam; | |
| 376 | aParam_C PRS: ICove rSheetPara m_CPRS; | |
| 377 | aForegro und: strin g; | |
| 378 | begin | |
| 379 | try | |
| 380 | // Cal l the back ground job starter a nd get tho se that ar e run in a Foreground | |
| 381 | if aDF N <> '' th en | |
| 382 | begi n | |
| 383 | Ca llVistA('O RWCV START ', [aDFN, CoverSheet .IPAddress , CoverShe et.UniqueI D], aForeg round); | |
| 384 | ||
| 385 | fo r aParam i n fParamLi st do | |
| 386 | if Support s(aParam, ICoverShee tParam_CPR S, aParam_ CPRS) then | |
| 387 | aParam_C PRS.LoadIn Background := Pos(In tToStr(aPa ram_CPRS.I D), aForeg round) = 0 ; | |
| 388 | ||
| 389 | fo r aControl in fContr ols do | |
| 390 | if Support s(aControl , ICoverSh eetDisplay Panel, aDi splayPanel ) then | |
| 391 | aDisplay Panel.OnBe ginUpdate( Self); | |
| 392 | ||
| 393 | fo r aControl in fContr ols do | |
| 394 | if Support s(aControl , ICoverSh eetDisplay Panel, aDi splayPanel ) then | |
| 395 | aDisplay Panel.OnRe freshDispl ay(Self); | |
| 396 | ||
| 397 | fo r aControl in fContr ols do | |
| 398 | if Support s(aControl , ICoverSh eetDisplay Panel, aDi splayPanel ) then | |
| 399 | aDisplay Panel.OnEn dUpdate(Se lf); | |
| 400 | end | |
| 401 | else { DFN passe d in as bl ank, clear the cover sheet } | |
| 402 | for aControl i n fControl s do | |
| 403 | if Supports( aControl, ICoverShee tDisplayPa nel, aDisp layPanel) then | |
| 404 | aDisplayPa nel.OnClea rPtData(Se lf); | |
| 405 | except | |
| 406 | on e: Exception do | |
| 407 | rais e ECoverSh eetSwitchP tFail.Crea te(e.Messa ge); | |
| 408 | end; | |
| 409 | ||
| 410 | OnExpand AllPanels( Self); | |
| 411 | end; | |
| 412 | ||
| 413 | function T CoverSheet .getIPAddr ess: strin g; | |
| 414 | begin | |
| 415 | Result : = fIPAddre ss; | |
| 416 | end; | |
| 417 | ||
| 418 | function T CoverSheet .getPanelC ount: inte ger; | |
| 419 | begin | |
| 420 | if Assig ned(fGridS ettings) t hen | |
| 421 | Result := fGridS ettings.Pa nelCount | |
| 422 | else | |
| 423 | Result := 0; | |
| 424 | end; | |
| 425 | ||
| 426 | function T CoverSheet .getParams : ICoverSh eetParamLi st; | |
| 427 | begin | |
| 428 | fParamLi st.QueryIn terface(IC overSheetP aramList, Result); | |
| 429 | end; | |
| 430 | ||
| 431 | function T CoverSheet .getUnique ID: string ; | |
| 432 | begin | |
| 433 | Result : = fUniqueI D; | |
| 434 | end; | |
| 435 | ||
| 436 | procedure TCoverShee t.OnInitCo verSheet(S ender: TOb ject); | |
| 437 | var | |
| 438 | aReturn: TStringLi st; | |
| 439 | aInitStr : string; | |
| 440 | aParam: ICoverShee tParam; | |
| 441 | begin | |
| 442 | aReturn := TString List.Creat e; | |
| 443 | CoverShe et.Params. Clear; | |
| 444 | ||
| 445 | { Push i n the CPRS style par ams } | |
| 446 | try | |
| 447 | try | |
| 448 | Call VistA('ORW CV1 COVERS HEET LIST' , [], aRet urn); | |
| 449 | // P roof of co ncepts! | |
| 450 | // a Return.Ins ert(0, '10 01^My Web Browser^ht tp://www.v a.gov^1'); | |
| 451 | // a Return.Ins ert(0, '10 01^My Web Page'); | |
| 452 | // a Return.Ins ert(0, '10 00^Clock') ; | |
| 453 | ||
| 454 | for aInitStr i n aReturn do | |
| 455 | be gin | |
| 456 | case StrTo IntDef(Cop y(aInitStr , 1, Pos(' ^', aInitS tr) - 1), 0) of | |
| 457 | CV_CPRS_ PROB: | |
| 458 | TCover SheetParam _CPRS_Prob lemList.Cr eate(aInit Str).GetIn terface(IC overSheetP aram, aPar am); | |
| 459 | CV_CPRS_ POST: | |
| 460 | TCover SheetParam _CPRS_Post ings.Creat e(aInitStr ).GetInter face(ICove rSheetPara m, aParam) ; | |
| 461 | CV_CPRS_ ALLG: | |
| 462 | TCover SheetParam _CPRS_Alle rgies.Crea te(aInitSt r).GetInte rface(ICov erSheetPar am, aParam ); | |
| 463 | CV_CPRS_ MEDS: | |
| 464 | TCover SheetParam _CPRS_Acti veMeds.Cre ate(aInitS tr).GetInt erface(ICo verSheetPa ram, aPara m); | |
| 465 | CV_CPRS_ RMND: | |
| 466 | TCover SheetParam _CPRS_Remi nders.Crea te(aInitSt r).GetInte rface(ICov erSheetPar am, aParam ); | |
| 467 | CV_CPRS_ LABS: | |
| 468 | TCover SheetParam _CPRS_Labs .Create(aI nitStr).Ge tInterface (ICoverShe etParam, a Param); | |
| 469 | CV_CPRS_ VITL: | |
| 470 | TCover SheetParam _CPRS_Vita ls.Create( aInitStr). GetInterfa ce(ICoverS heetParam, aParam); | |
| 471 | CV_CPRS_ VSIT: | |
| 472 | TCover SheetParam _CPRS_Appt s.Create(a InitStr).G etInterfac e(ICoverSh eetParam, aParam); | |
| 473 | CV_CPRS_ IMMU: | |
| 474 | TCover SheetParam _CPRS_Immu nizations. Create(aIn itStr).Get Interface( ICoverShee tParam, aP aram); | |
| 475 | CV_CPRS_ WVHT: | |
| 476 | TCover SheetParam _CPRS_WH.C reate(aIni tStr).GetI nterface(I CoverSheet Param, aPa ram); | |
| 477 | CV_WDGT_ CLOCK: | |
| 478 | TCover SheetParam _WidgetClo ck.Create( aInitStr). GetInterfa ce(ICoverS heetParam, aParam); | |
| 479 | CV_WDGT_ MINIBROWSE R: | |
| 480 | TCover SheetParam _Web.Creat e(aInitStr ).GetInter face(ICove rSheetPara m, aParam) ; | |
| 481 | else | |
| 482 | aParam : = nil; | |
| 483 | end; | |
| 484 | ||
| 485 | if aParam <> nil the n | |
| 486 | CoverShe et.Params. Add(aParam ); | |
| 487 | en d; | |
| 488 | except | |
| 489 | on e : Exceptio n do | |
| 490 | ra ise ECover SheetInitF ail.Create (e.Message ); | |
| 491 | end; | |
| 492 | finally | |
| 493 | FreeAn dNil(aRetu rn); | |
| 494 | end; | |
| 495 | end; | |
| 496 | ||
| 497 | end. |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.