60. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/16/2019 12:20:47 PM Central 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.

60.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\CPRS_32_P2_PCE\OR_30_405V60_SRC\Womens Health fWVPregLacStatusUpdate.pas Wed Dec 12 14:04:42 2018 UTC
2 C:\AraxisMergeCompare\Pri_re\CPRS v32 P2 PCE Standardization-redacted\CPRS_32_P2_PCE\OR_30_405V60_SRC\Womens Health fWVPregLacStatusUpdate.pas Fri Apr 12 13:47:12 2019 UTC

60.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 964
Changed 1 2
Inserted 0 0
Removed 0 0

60.3 Comparison options

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

60.4 Active regular expressions

No regular expressions were active.

60.5 Comparison detail

  1   unit fWVPr egLacStatu sUpdate;
  2   {
  3     ======== ========== ========== ========== ========== ========== ========== ========== ==
  4     *
  5     *        Applicatio n:  TDrugs  Patch OR* 3*377 and  WV*1*24
  6              Developer:       PII                   
  7     *        Site:          Salt L ake City I SC
  8     *
  9     *        Descriptio n:  Update  form to e nter the a ppropriate  informati on for
  10     *                       pregna ncy and la ctation da ta. Caller  supplies  the
  11     *                       approp riate pati ent via th e TWVPatie nt object  as
  12     *                       an IWV Paitent in terface.
  13     *
  14     *        Notes:
  15     *
  16     ======== ========== ========== ========== ========== ========== ========== ========== ==
  17   }
  18  
  19   interface
  20  
  21   uses
  22     System.A ctions,
  23     System.C lasses,
  24     System.S ysUtils,
  25     System.U ITypes,
  26     System.V ariants,
  27     Vcl.Actn List,
  28     Vcl.ComC trls,
  29     Vcl.Cont rols,
  30     Vcl.Dial ogs,
  31     Vcl.ExtC trls,
  32     Vcl.Form s,
  33     Vcl.Grap hics,
  34     Vcl.Menu s,
  35     Vcl.StdC trls,
  36     Winapi.M essages,
  37     Winapi.W indows,
  38     iWVInter face,
  39     DateUtil s,
  40     rMisc,
  41     ORFn,
  42     ORCtrls,
  43     VAUtils,
  44     ORDtTm,
  45     rReminde rs, VA508A ccessibili tyManager;
  46  
  47   type
  48     TfrmWVPr egLacStatu sUpdate =  class(TFor m)
  49       btnCan cel: TButt on;
  50       btnSav e: TButton ;
  51       pnlOpt ions: TPan el;
  52       robnAb leToConcei veYes: TRa dioButton;
  53       robnAb leToConcei veNo: TRad ioButton;
  54       ckbxMe nopause: T CheckBox;
  55       ckbxHy sterectomy : TCheckBo x;
  56       stxtAb leToConcei ve: TStati cText;
  57       stxtCu rrentlyPre gnant: TSt aticText;
  58       pnlLac tationStat us: TPanel ;
  59       robnLa ctatingNo:  TRadioBut ton;
  60       stxtLa ctationSta tus: TStat icText;
  61       ckbxPe rmanent: T CheckBox;
  62       stxtRe aderStop:  TStaticTex t;
  63       grdCon ceive: TGr idPanel;
  64       pnlCon eiveLabel:  TPanel;
  65       grdPre gStatus: T GridPanel;
  66       pnlPre gStatusLab el: TPanel ;
  67       grdLay out: TGrid Panel;
  68       pnlCon veive: TPa nel;
  69       pnlPre gnant: TPa nel;
  70       pnlLac tationLabe l: TPanel;
  71       grdLac tation: TG ridPanel;
  72       pnlOth er: TPanel ;
  73       ststxt Other: TSt aticText;
  74       edtOth er: TEdit;
  75       scroll Box: TScro llBox;
  76       pnlFor m: TPanel;
  77       VA508A ccessibili tyManager1 : TVA508Ac cessibilit yManager;
  78       robnLa ctatingYes : TRadioBu tton;
  79       robnPr egnantUnsu re: TRadio Button;
  80       robnPr egnantNo:  TRadioButt on;
  81       robnPr egnantYes:  TRadioBut ton;
  82       pnlLMP : TPanel;
  83       stxtLa stMenstrua lPeriod: T StaticText ;
  84       dteLMP D: TORDate Box;
  85       pnlEDD : TPanel;
  86       stxtED DMethod: T StaticText ;
  87       dteEDD : TORDateB ox;
  88  
  89       proced ure AbleTo ConceiveYe sNo(Sender : TObject) ;
  90       proced ure Pregna ntYesNoUns ure(Sender : TObject) ;
  91       proced ure CheckO kToSave(Se nder: TObj ect);
  92       proced ure robnLa ctatingYes NoClick(Se nder: TObj ect);
  93       proced ure FormCr eate(Sende r: TObject );
  94       proced ure FormCl ose(Sender : TObject;  var Actio n: TCloseA ction);
  95       proced ure dteLMP DExit(Send er: TObjec t);
  96       proced ure dteLMP DChange(Se nder: TObj ect);
  97       proced ure dteEDD Change(Sen der: TObje ct);
  98       proced ure dteLMP DMouseLeav e(Sender:  TObject);
  99       proced ure scroll BoxResize( Sender: TO bject);
  100       proced ure SetScr ollBarHeig ht(FontSiz e: Integer );
  101       proced ure dteLMP DDateDialo gClosed(Se nder: TObj ect);
  102     private
  103       { Priv ate declar ations }
  104       fDFN:  string;
  105       MinFor mHeight: I nteger; // Determines  when the  scrollbars  appear
  106       MinFor mWidth: In teger;
  107       functi on calcDat es(origina lValue, ne wValue: TF MDateTime;  update, p atient: st ring): TFM DateTime;
  108       proced ure update EDD(date:  TFMDateTim e);
  109     public
  110       EDD: i nteger;
  111       functi on Execute : Boolean;
  112       functi on GetData (aList: TS tringList) : Boolean;
  113     end;
  114  
  115   function N ewPLUpdate Form(aDFN:  string):  TfrmWVPreg LacStatusU pdate;
  116  
  117   implementa tion
  118  
  119   {$R *.dfm}
  120  
  121  
  122   const
  123     { Names  for Name=V alue pairs  }
  124     SUB_ABLE _TO_CONCEI VE = 'ABLE  TO CONCEI VE';
  125     SUB_LACT ATION_STAT US = 'LACT ATION STAT US';
  126     SUB_LAST _MENSTRUAL _PERIOD =  'LAST MENS TRUAL PERI OD DATE';
  127     SUB_EDD  = 'EXPECTE D DUE DATE ';
  128     SUB_MEDI CAL_REASON  = 'MEDICA L REASON';
  129     SUB_PATI ENT = 'PAT IENT';
  130     SUB_PREG NANCY_STAT US = 'PREG NANCY STAT US';
  131  
  132  
  133   function N ewPLUpdate Form(aDFN:  string):  TfrmWVPreg LacStatusU pdate;
  134   begin
  135     Result : = TfrmWVPr egLacStatu sUpdate.Cr eate(Appli cation.Mai nForm);
  136  
  137     with Res ult do
  138       begin
  139         Load ed;
  140         fDFN  := aDFN;
  141         pnlL actationSt atus.Visib le := True ;
  142       end;
  143   end;
  144  
  145   function T frmWVPregL acStatusUp date.calcD ates(origi nalValue,
  146     newValue : TFMDateT ime; updat e, patient : string):  TFMDateTi me;
  147   var
  148   itemID, te mp: string ;
  149   begin
  150     if updat e = 'EDD'  then
  151       begin
  152         if E DD < 1 the n
  153           be gin
  154               Result :=  -1;
  155               Exit;
  156           en d;
  157         item ID := IntT oStr(EDD);
  158       end;
  159     temp :=  getLinkPro mptValue(F loatToStr( newValue),  itemID, F loatToStr( originalVa lue), pati ent);
  160     Result : = StrToFlo atDef(temp , -1);
  161   end;
  162  
  163   procedure  TfrmWVPreg LacStatusU pdate.Chec kOkToSave( Sender: TO bject);
  164   begin
  165     if robnA bleToConce iveYes.Che cked then
  166       begin
  167         if r obnPregnan tYes.Check ed then
  168           bt nSave.Enab led := (dt eEDD.FMDat eTime > 0)
  169          els e btnSave. Enabled :=  robnPregn antNo.Chec ked or rob nPregnantU nsure.Chec ked;
  170       end
  171     else if  robnAbleTo ConceiveNo .Checked t hen
  172       btnSav e.Enabled  := ckbxHys terectomy. Checked or  ckbxMenop ause.Check ed or ckbx Permanent. Checked
  173       or (ed tOther.Tex t <> '')
  174     else if  robnLactat ingYes.Che cked or ro bnLactatin gNo.Checke d then
  175       btnSav e.Enabled  := True
  176     else
  177       btnSav e.Enabled  := False;
  178   end;
  179  
  180   procedure  TfrmWVPreg LacStatusU pdate.dteE DDChange(S ender: TOb ject);
  181   begin
  182     CheckOkT oSave(Send er);
  183   end;
  184  
  185   procedure  TfrmWVPreg LacStatusU pdate.dteL MPDChange( Sender: TO bject);
  186   begin
  187   //  CheckO kToSave(Se nder);
  188   end;
  189  
  190   procedure  TfrmWVPreg LacStatusU pdate.dteL MPDDateDia logClosed( Sender: TO bject);
  191   begin
  192     updateED D(dteLMPD. FMDateTime );
  193     CheckOkT oSave(Send er);
  194   end;
  195  
  196   procedure  TfrmWVPreg LacStatusU pdate.dteL MPDExit(Se nder: TObj ect);
  197   begin
  198     updateED D(dteLMPD. FMDateTime );
  199   end;
  200  
  201   procedure  TfrmWVPreg LacStatusU pdate.dteL MPDMouseLe ave(Sender : TObject) ;
  202   begin
  203     updateED D(dteLMPD. FMDateTime );
  204     CheckOkT oSave(Send er);
  205   end;
  206  
  207   procedure  TfrmWVPreg LacStatusU pdate.robn LactatingY esNoClick( Sender: TO bject);
  208   begin
  209     CheckOkT oSave(Send er);
  210   end;
  211  
  212  
  213   procedure  TfrmWVPreg LacStatusU pdate.scro llBoxResiz e(Sender:  TObject);
  214   begin
  215     inherite d;
  216     ScrollBo x.OnResize  := nil;
  217     //At lea st minimum
  218      if (pnl Form.Width  < MinForm Width) or  (pnlForm.H eight < Mi nFormHeigh t) then
  219      pnlForm .Align :=  alNone;
  220      pnlForm .AutoSize  := false;
  221      if (pnl Form.Width  < MinForm Width) the n pnlForm. Width := M inFormWidt h;
  222      if pnlF orm.Height  < MinForm Height the n pnlForm. Height :=  MinFormHei ght;
  223  
  224  
  225     if (Scro llBox.Widt h >= MinFo rmWidth) t hen
  226     begin
  227      if (Scr ollBox.Hei ght >= (Mi nFormHeigh t)) then
  228      begin
  229          pnl Form.Align  := alClie nt;
  230      end els e begin
  231        pnlFo rm.Align : = alTop;
  232        pnlFo rm.AutoSiz e := true;
  233      end;
  234     end else  begin
  235      if (Scr ollBox.Hei ght >= (Mi nFormHeigh t)) then
  236      begin
  237       pnlFor m.Align :=  alNone;
  238       pnlFor m.Top := 0 ;
  239       pnlFor m.Left :=  0;
  240       pnlFor m.AutoSize  := false;
  241       pnlFor m.Width :=  MinFormWi dth;
  242       pnlFor m.height : =  ScrollB ox.Height;
  243      end els e begin
  244       pnlFor m.Align :=  alNone;
  245       pnlFor m.Top := 0 ;
  246       pnlFor m.Left :=  0;
  247       pnlFor m.AutoSize  := true;
  248      end;
  249     end;
  250     ScrollBo x.OnResize  := Scroll BoxResize;
  251   end;
  252  
  253   procedure  TfrmWVPreg LacStatusU pdate.SetS crollBarHe ight(FontS ize: Integ er);
  254   begin
  255     MinFormH eight := ( self.grdPr egStatus.H eight + se lf.grdConc eive.Heigh t + self.g rdConceive .Height);
  256     case Fon tSize of
  257       8: Min FormWidth  := self.ck bxPermanen t.Left + s elf.ckbxPe rmanent.Wi dth + 5;
  258       10: Mi nFormWidth  := self.c kbxPermane nt.Left +  self.ckbxP ermanent.W idth + 5;
  259       12: Mi nFormWidth  := self.c kbxPermane nt.Left +  self.ckbxP ermanent.W idth + 30;
  260       14: Mi nFormWidth  := 800;
  261       18: Mi nFormWidth  := 1000;
  262     end;
  263  
  264   end;
  265  
  266   procedure  TfrmWVPreg LacStatusU pdate.upda teEDD(date : TFMDateT ime);
  267   var
  268   aDate: TFM DateTime;
  269   begin
  270     aDate :=  calcDates (0, date,  'EDD', fDF N);
  271     if aDate  > 0 then  dteEDD.FMD ateTime :=  aDate;
  272   end;
  273  
  274   procedure  TfrmWVPreg LacStatusU pdate.Able ToConceive YesNo(Send er: TObjec t);
  275   begin
  276     if robnA bleToConce iveYes.Che cked then
  277       begin
  278         ckbx Menopause. Checked :=  False;
  279         ckbx Menopause. Enabled :=  False;
  280         ckbx Hysterecto my.Checked  := False;
  281         ckbx Hysterecto my.Enabled  := False;
  282         ckbx Permanent. Checked :=  False;
  283         ckbx Permanent. Enabled :=  False;
  284         stst xtOther.En abled := f alse;
  285         edto ther.Enabl ed := fals e;
  286  
  287         robn PregnantYe s.Enabled  := True;
  288         robn PregnantYe s.TabStop  := True;
  289         robn PregnantNo .Enabled : = True;
  290         robn PregnantUn sure.Enabl ed := True ;
  291  
  292         stxt LastMenstr ualPeriod. Enabled :=  False;
  293         dteL MPD.Enable d := false ;
  294         dteE DD.Enabled  := false;
  295         stxt EDDMethod. Enabled :=  False;
  296       end
  297     else if  robnAbleTo ConceiveNo .Checked t hen
  298       begin
  299         ckbx Menopause. Enabled :=  True;
  300         ckbx Hysterecto my.Enabled  := True;
  301         ckbx Permanent. Enabled :=  True;
  302         stst xtOther.En abled := t rue;
  303         edtO ther.Enabl ed := true ;
  304  
  305         robn PregnantYe s.Enabled  := False;
  306         robn PregnantYe s.Checked  := False;
  307         robn PregnantNo .Enabled : = False;
  308         robn PregnantNo .Checked : = False;
  309         robn PregnantUn sure.Enabl ed := Fals e;
  310         robn PregnantUn sure.Check ed := Fals e;
  311  
  312         stxt LastMenstr ualPeriod. Enabled :=  False;
  313         dteL MPD.Enable d := false ;
  314         dteE DD.Enabled  := false;
  315         stxt EDDMethod. Enabled :=  False;
  316       end
  317     else
  318       begin
  319         ckbx Menopause. Checked :=  False;
  320         ckbx Menopause. Enabled :=  False;
  321         ckbx Hysterecto my.Checked  := False;
  322         ckbx Hysterecto my.Enabled  := False;
  323         ckbx Permanent. Checked :=  False;
  324         ckbx Permanent. Enabled :=  False;
  325         stst xtOther.En abled := f alse;
  326         edtO ther.Enabl ed := fals e;
  327  
  328         robn PregnantYe s.Enabled  := False;
  329         robn PregnantYe s.Checked  := False;
  330         robn PregnantNo .Enabled : = False;
  331         robn PregnantNo .Checked : = False;
  332         robn PregnantUn sure.Enabl ed := Fals e;
  333         robn PregnantUn sure.Check ed := Fals e;
  334  
  335         stxt LastMenstr ualPeriod. Enabled :=  False;
  336         dteL MPD.Enable d := false ;
  337         dteE DD.Enabled  := false;
  338         stxt EDDMethod. Enabled :=  False;
  339       end;
  340  
  341     CheckOkT oSave(Send er);
  342   end;
  343  
  344   procedure  TfrmWVPreg LacStatusU pdate.Preg nantYesNoU nsure(Send er: TObjec t);
  345   begin
  346       if rob nPregnantY es.Checked  then
  347         begi n
  348           st xtLastMens trualPerio d.Enabled  := True;
  349           dt eLMPD.Enab led := tru e;
  350           dt eEDD.Enabl ed := true ;
  351           st xtEDDMetho d.Enabled  := True;
  352   //         if ScreenR eaderActiv e then
  353   //         begin
  354   //           stxtEDDM ethod.TabS top := Tru e;
  355   //           stxtEDDM ethod.TabO rder := 4;
  356   //         end;
  357         end
  358       else
  359         begi n
  360           st xtLastMens trualPerio d.Enabled  := False;
  361           dt eLMPD.FMDa teTime :=  0;
  362           dt eEDD.FMDat eTime := 0 ;
  363           dt eLMPD.Text  := '';
  364           dt eEDD.Text  := '';
  365           dt eLMPD.Enab led := fal se;
  366           dt eEDD.Enabl ed := fals e;
  367           st xtEDDMetho d.Enabled  := False;
  368         end;
  369  
  370     CheckOkT oSave(Send er);
  371   end;
  372  
  373   function T frmWVPregL acStatusUp date.Execu te: Boolea n;
  374   begin
  375     Result : = (ShowMod al = mrOk) ;
  376   end;
  377  
  378   procedure  TfrmWVPreg LacStatusU pdate.Form Close(Send er: TObjec t;
  379     var Acti on: TClose Action);
  380   begin
  381     inherite d;
  382     try
  383       SaveUs erBounds(S elf);
  384       Action  := caFree ;
  385     finally
  386       Action  := caFree ;
  387     end;
  388   end;
  389  
  390   procedure  TfrmWVPreg LacStatusU pdate.Form Create(Sen der: TObje ct);
  391   var
  392     height:  integer;
  393   begin
  394     inherite d;
  395     SetFormP osition(Se lf);
  396     ResizeFo rmToFont(s elf);
  397     //setLab elTabStops (ScreenRea derActive) ;
  398     height : = TextHeig htByFont(s txtAbleToC onceive.Fo nt.Handle,  stxtAbleT oConceive. Caption);
  399     pnlConei veLabel.He ight := he ight + 5;
  400     pnlPregS tatusLabel .Height :=  height +  5;
  401     pnlLacta tionLabel. Height :=  height + 5 ;
  402     SetScrol lBarHeight (MainFontS ize);
  403   end;
  404  
  405   function T frmWVPregL acStatusUp date.GetDa ta(aList:  TStringLis t): Boolea n;
  406   var
  407     aStr: st ring;
  408  
  409     procedur e AddReaso n(var aStr : string;  aValue: st ring);
  410     begin
  411       if aSt r <> '' th en
  412         begi n
  413           //  Remove an y previous  'and's
  414           if  Pos(' and  ', aStr)  > 0 then
  415              aStr := St ringReplac e(aStr, '  and ', ',  ', [rfRepl aceAll]);
  416           //  Append on  this valu e with a g ramaticall y correct  'and'
  417           aS tr := Form at('%s and  %s', [aSt r, aValue] );
  418           //  Set capit ialization  to gramat ically cor rect first  char only
  419           aS tr := Uppe rCase(Copy (aStr, 1,  1)) + Lowe rCase(Copy (aStr, 2,  Length(aSt r)));
  420         end
  421       else
  422         aStr  := aValue ;
  423     end;
  424  
  425   begin
  426     aList.Cl ear;
  427     try
  428       aList. Values[SUB _PATIENT]  := fDFN;
  429  
  430       if rob nAbleToCon ceiveYes.C hecked the n
  431         begi n
  432           aL ist.Values [SUB_ABLE_ TO_CONCEIV E] := 'Yes ';
  433  
  434           if  robnPregn antYes.Che cked then
  435              begin
  436                aList.Va lues[SUB_P REGNANCY_S TATUS] :=  'Yes';
  437                if dteLM PD.FMDateT ime > 0 th en aList.V alues[SUB_ LAST_MENST RUAL_PERIO D] := Floa tToStr(dte LMPD.FMDat eTime);
  438                if dteED D.FMDateTi me > 0 the n aList.Va lues[SUB_E DD] := Flo atToStr(dt eEDD.FMDat eTime);
  439              end
  440           el se if robn PregnantNo .Checked t hen
  441              aList.Valu es[SUB_PRE GNANCY_STA TUS] := 'N o'
  442           el se if robn PregnantUn sure.Check ed then
  443              aList.Valu es[SUB_PRE GNANCY_STA TUS] := 'U nsure'
  444           el se
  445              aList.Valu es[SUB_PRE GNANCY_STA TUS] := 'U nknown';
  446         end
  447       else i f robnAble ToConceive No.Checked  then
  448         begi n
  449           aL ist.Values [SUB_ABLE_ TO_CONCEIV E] := 'No' ;
  450           aS tr := '';
  451  
  452           if  ckbxHyste rectomy.Ch ecked then
  453              AddReason( aStr, ckbx Hysterecto my.Caption );
  454  
  455           if  ckbxMenop ause.Check ed then
  456              AddReason( aStr, ckbx Menopause. Caption);
  457  
  458           if  ckbxPerma nent.Check ed then
  459              AddReason( aStr, ckbx Permanent. Caption);
  460  
  461           if  edtOther. Text <> ''  then
  462              AddReason( aStr, edtO ther.Text) ;
  463  
  464           aL ist.Values [SUB_MEDIC AL_REASON]  := aStr;
  465         end;
  466  
  467       if rob nLactating Yes.Checke d then
  468         aLis t.Values[S UB_LACTATI ON_STATUS]  := 'Yes'
  469       else i f robnLact atingNo.Ch ecked then
  470         aLis t.Values[S UB_LACTATI ON_STATUS]  := 'No';
  471  
  472       Result  := True;
  473     except
  474       on e:  Exception  do
  475         begi n
  476           aL ist.Clear;
  477           aL ist.Add('- 1^' + e.Me ssage);
  478           Re sult := Fa lse;
  479         end;
  480     end;
  481   end;
  482  
  483   end.