Changeset 460 for cprs/branches/foia-cprs/CPRS-Chart/Orders/fODRad.pas
- Timestamp:
- Jul 6, 2008, 8:20:14 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/branches/foia-cprs/CPRS-Chart/Orders/fODRad.pas
r459 r460 56 56 procedure FormCreate(Sender: TObject); 57 57 procedure cboImTypeChange(Sender: TObject); 58 procedure FormPaint(Sender: TObject);59 58 procedure memReasonExit(Sender: TObject); 60 59 procedure FormResize(Sender: TObject); … … 65 64 procedure cboProcedureExit(Sender: TObject); 66 65 procedure cboImTypeExit(Sender: TObject); 66 procedure FormClose(Sender: TObject; var Action: TCloseAction); 67 procedure chkIsolationExit(Sender: TObject); 68 procedure calPreOpExit(Sender: TObject); 69 procedure cboImTypeDropDownClose(Sender: TObject); 67 70 private 68 71 FLastRadID: string; … … 71 74 FEvtDelayDiv: string; 72 75 FPredefineOrder: boolean; 76 ImageTypeChanged : boolean; 77 FFormFirstOpened: boolean; 78 function NoPregnantSelection : Boolean; 79 procedure ImageTypeChange; 80 procedure FormFirstOpened(Sender: TObject); 73 81 protected 74 82 procedure InitDialog; override; 75 83 procedure Validate(var AnErrMsg: string); override; 76 procedure SetDefaultPregant; 84 procedure SetDefaultPregant; 77 85 public 78 86 procedure SetupDialog(OrderAction: Integer; const ID: string); override; … … 83 91 {$R *.DFM} 84 92 85 uses rODBase, rODRad, rOrders, uCore, rCore, fODRadApproval, fODRadConShRes, fLkUpLocation; 93 uses rODBase, rODRad, rOrders, uCore, rCore, fODRadApproval, fODRadConShRes, fLkUpLocation, fFrame, 94 uFormMonitor; 86 95 87 96 const … … 103 112 var 104 113 Radiologist, Contract, Research: string ; 105 AName : string;114 AName, IsPregnant: string; 106 115 ALocation, AType: integer; 107 116 108 117 { TfrmODBase common methods } 109 118 … … 116 125 if OrderAction in [ORDER_COPY, ORDER_EDIT, ORDER_QUICK] then with Responses do 117 126 begin 118 if (OrderAction = ORDER_QUICK) or (OrderAction = ORDER_ COPY) then127 if (OrderAction = ORDER_QUICK) or (OrderAction = ORDER_EDIT) or (OrderAction = ORDER_COPY) then 119 128 FPredefineOrder := True; 120 129 FEditCopy := True; … … 125 134 for i := 0 to Items.Count-1 do 126 135 if StrToIntDef(Piece(Items[i],U,4), 0) = DisplayGroup then ItemIndex := i; 136 if OrderAction = ORDER_EDIT then 137 begin 138 Enabled := False; 139 Color := clBtnFace; 140 end; 127 141 end; 128 142 if Self.EvtID>0 then … … 171 185 end; 172 186 end; 187 //hds00007460 188 tmpResp := FindResponseByName('PREGNANT',1); 189 if tmpResp <> nil then 190 if Length(tmpResp.EValue)>0 then 191 begin 192 IsPregnant := tmpResp.EValue; 193 if IsPregnant = 'YES' then 194 radPregnant.Checked := True 195 else 196 if IsPregnant = 'NO' then 197 radPregnantNo.Checked := True 198 else 199 if IsPregnant = 'UNKNOWN' then 200 radPregnantUnknown.Checked := True; 201 end; 202 //hds00007460 173 203 Changing := False; 174 204 FEditCopy := False; 175 205 OrderMessage(ImagingMessage(cboProcedure.ItemIEN)) ; 176 206 ControlChange(Self); 207 FPredefineOrder := False; 177 208 end; 178 209 end; … … 184 215 begin 185 216 if not FEditCopy then inherited; 217 186 218 FPreOpDate := ''; 187 219 FLastRadID := ''; … … 203 235 cboProcedure.Items.Add(FRadCommonCombo.Items[i]); 204 236 if FRadCommonCombo.Items.Count>0 then cboProcedure.InsertSeparator; 237 205 238 calRequestDate.Text := 'TODAY'; 206 239 SetControl(cboAvailMod, 'Modifiers'); … … 286 319 with cboCategory do if Length(ItemID) > 0 then Responses.Update('CLASS', 1, ItemID, Text); 287 320 with cboSubmit do if Length(ItemID) > 0 then Responses.Update('IMLOC', 1, ItemID, Text); 288 with radPregnant do if Checked then Responses.Update('PREGNANT', 1, 'Y' , 'Yes')321 with radPregnant do if Checked then Responses.Update('PREGNANT', 1, 'Y' , 'Yes') 289 322 else if not Enabled then Responses.Update('PREGNANT', 1, '' , ''); 290 323 with radPregnantNo do if Checked then Responses.Update('PREGNANT', 1, 'N' , 'No'); … … 387 420 with calRequestDate do 388 421 if FMDateTime = 0 then SetError(TX_NO_DATE); 422 389 423 end; 390 424 391 425 procedure TfrmODRad.cboProcedureNeedData(Sender: TObject; 392 426 const StartFrom: string; Direction, InsertAt: Integer); 427 393 428 begin 394 429 inherited ; 395 430 cboProcedure.ForDataUse(SubSetOfRadProcs(DisplayGroup, StartFrom, Direction)); 396 end;431 end; 397 432 398 433 procedure TfrmODRad.cboAvailModMouseClick(Sender: TObject); … … 402 437 Found: boolean; 403 438 begin 439 if (cboAvailMod.Items.Count < 1) or //GE 04-30-05 prevent list index out of bounds when empty 440 (cboAvailMod.ItemIndex < 0) then Exit; 404 441 Found := False; 405 442 with cboAvailMod do x := Items[ItemIndex]; … … 445 482 begin 446 483 if ItemID <> FLastRadID then 447 begin448 FLastRadID := ItemID;449 if FPredefineOrder then450 FPredefineOrder := False;451 end else Exit;484 begin 485 FLastRadID := ItemID; 486 if FPredefineOrder then 487 FPredefineOrder := False; 488 end else Exit; 452 489 Changing := True; 453 490 if Sender <> Self then … … 539 576 procedure TfrmODRad.FormCreate(Sender: TObject); 540 577 begin 578 FFormFirstOpened := TRUE; 579 ImageTypeChanged := false; 580 frmFrame.pnlVisit.Enabled := false; 541 581 AutoSizeDisabled := True; 542 582 inherited; … … 567 607 radPregnantUnknown.Enabled := False; 568 608 end else SetDefaultPregant; 609 FormMonitorBringToFrontEvent(Self, FormFirstOpened); 569 610 end; 570 611 … … 575 616 begin 576 617 inherited; 577 if FPredefineOrder then 578 FPredefineOrder := False; 579 if Changing or (cboImtype.ItemIndex = -1) then exit; 580 with cboImType do DisplayGroup := StrToIntDef(Piece(Items[ItemIndex], U, 4), 0) ; 581 if DisplayGroup = 0 then exit; 582 CtrlInits.LoadDefaults(ODForRad(Patient.DFN, FEvtDelayDiv, DisplayGroup)); // ODForRad returns TStrings with defaults 583 FPredefineOrder := False; 584 InitDialog; 585 end; 586 587 procedure TfrmODRad.FormPaint(Sender: TObject); 588 begin 589 inherited; 590 with cboImType do 591 if not FEditCopy and (ItemIEN = 0) and (DroppedDown = False) and (Application.Active) 592 then DroppedDown := True; 618 ImageTypeChanged := true; 593 619 end; 594 620 … … 679 705 end; 680 706 707 681 708 procedure TfrmODRad.cboImTypeExit(Sender: TObject); 682 709 begin 683 710 inherited; 684 if FPredefineOrder then Exit 685 else cboImTypeChange(Self); 711 ImageTypeChange; 712 end; 713 714 procedure TfrmODRad.FormClose(Sender: TObject; var Action: TCloseAction); 715 begin 716 inherited; 717 frmFrame.pnlVisit.Enabled := true; 718 FormMonitorBringToFrontEvent(Self, nil); 719 end; 720 721 procedure TfrmODRad.chkIsolationExit(Sender: TObject); 722 begin 723 inherited; 724 //Fix for CQ: 10025 725 if TabIsPressed() then 726 if NoPregnantSelection() then 727 if radPregnant.CanFocus then 728 radPregnant.SetFocus(); 729 end; 730 731 procedure TfrmODRad.calPreOpExit(Sender: TObject); 732 begin 733 inherited; 734 //Fix for CQ: 10025 735 if ShiftTabIsPressed() then 736 if NoPregnantSelection() then 737 if radPregnant.CanFocus then 738 radPregnant.SetFocus(); 739 end; 740 741 function TfrmODRad.NoPregnantSelection : Boolean; 742 begin 743 result := not ((radPregnant.Checked) or (radPregnantNo.Checked) or (radPregnantUnknown.Checked)); 744 end; 745 746 procedure TfrmODRad.cboImTypeDropDownClose(Sender: TObject); 747 begin 748 inherited; 749 ImageTypeChange; 750 end; 751 752 procedure TfrmODRad.ImageTypeChange; 753 begin 754 if not ImageTypeChanged then Exit; 755 ImageTypeChanged := false; 756 if FPredefineOrder then 757 FPredefineOrder := False; 758 if Changing or (cboImtype.ItemIndex = -1) then exit; 759 with cboImType do DisplayGroup := StrToIntDef(Piece(Items[ItemIndex], U, 4), 0) ; 760 if DisplayGroup = 0 then exit; 761 CtrlInits.LoadDefaults(ODForRad(Patient.DFN, FEvtDelayDiv, DisplayGroup)); // ODForRad returns TStrings with defaults 762 FPredefineOrder := False; 763 InitDialog; 764 end; 765 766 procedure TfrmODRad.FormFirstOpened(Sender: TObject); 767 begin 768 if(FFormFirstOpened) then 769 begin 770 FFormFirstOpened := FALSE; 771 with cboImType do 772 if not FEditCopy and (ItemIEN = 0) and (DroppedDown = False) and (Application.Active) then 773 begin 774 cboImType.DroppedDown := TRUE; 775 end; 776 end; 686 777 end; 687 778
Note:
See TracChangeset
for help on using the changeset viewer.