42. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 2/17/2017 12:43:23 PM Central Standard 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.

42.1 Files compared

# Location File Last Modified
1 CPRS_V32_T20_cif.zip\OR_30_405V20_SRC.zip\CPRS-chart\Womens Health fWVPregLacStatusUpdate.pas Thu Dec 15 14:28:36 2016 UTC
2 CPRS_V32_T20_cif.zip\OR_30_405V20_SRC.zip\CPRS-chart\Womens Health fWVPregLacStatusUpdate.pas Fri Feb 17 17:22:07 2017 UTC

42.2 Comparison summary

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

42.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

42.4 Active regular expressions

No regular expressions were active.

42.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  
  40   type
  41     TfrmWVPr egLacStatu sUpdate =  class(TFor m)
  42       btnCan cel: TButt on;
  43       btnSav e: TButton ;
  44       pnlOpt ions: TPan el;
  45       pnlPre gnancyStat us: TPanel ;
  46       bvlPre gnancyStat us: TBevel ;
  47       ckbxAb leToConcei veYes: TCh eckBox;
  48       ckbxAb leToConcei veNo: TChe ckBox;
  49       ckbxMe nopause: T CheckBox;
  50       ckbxHy sterectomy : TCheckBo x;
  51       stxtAb leToConcei ve: TStati cText;
  52       stxtCu rrentlyPre gnant: TSt aticText;
  53       ckbxPr egnantYes:  TCheckBox ;
  54       ckbxPr egnantNo:  TCheckBox;
  55       ckbxPr egnantUnsu re: TCheck Box;
  56       dtpLas tMenstrual Period: TD ateTimePic ker;
  57       stxtLa stMenstrua lPeriod: T StaticText ;
  58       pnlLac tationStat us: TPanel ;
  59       bvlLac tationStat us: TBevel ;
  60       ckbxLa ctatingYes : TCheckBo x;
  61       ckbxLa ctatingNo:  TCheckBox ;
  62       Bevel1 : TBevel;
  63       stxtLa ctationSta tus: TStat icText;
  64       ckbxPe rmanent: T CheckBox;
  65  
  66       proced ure AbleTo ConceiveYe sNo(Sender : TObject) ;
  67       proced ure Pregna ntYesNoUns ure(Sender : TObject) ;
  68       proced ure dtpLas tMenstrual PeriodChan ge(Sender:  TObject);
  69       proced ure CheckO kToSave(Se nder: TObj ect);
  70       proced ure ckbxLa ctatingYes NoClick(Se nder: TObj ect);
  71     private
  72       { Priv ate declar ations }
  73       fDFN:  string;
  74     public
  75       functi on Execute : Boolean;
  76       functi on GetData (aList: TS tringList) : Boolean;
  77     end;
  78  
  79   function N ewPLUpdate Form(aDFN:  string):  TfrmWVPreg LacStatusU pdate;
  80  
  81   implementa tion
  82  
  83   {$R *.dfm}
  84  
  85  
  86   const
  87     { Names  for Name=V alue pairs  }
  88     SUB_ABLE _TO_CONCEI VE = 'ABLE  TO CONCEI VE';
  89     SUB_LACT ATION_STAT US = 'LACT ATION STAT US';
  90     SUB_LAST _MENSTRUAL _PERIOD =  'LAST MENS TRUAL PERI OD DATE';
  91     SUB_MEDI CAL_REASON  = 'MEDICA L REASON';
  92     SUB_PATI ENT = 'PAT IENT';
  93     SUB_PREG NANCY_STAT US = 'PREG NANCY STAT US';
  94  
  95   function N ewPLUpdate Form(aDFN:  string):  TfrmWVPreg LacStatusU pdate;
  96   var
  97     i: integ er;
  98   begin
  99     Result : = TfrmWVPr egLacStatu sUpdate.Cr eate(Appli cation.Mai nForm);
  100  
  101     with Res ult do
  102       begin
  103         Load ed;
  104         Posi tion := po MainFormCe nter;
  105         fDFN  := aDFN;
  106         pnlP regnancySt atus.Visib le := True ;
  107         pnlL actationSt atus.Visib le := True ;
  108  
  109         i :=  pnlOption s.Height;
  110  
  111         if p nlLactatio nStatus.Vi sible then
  112           i  := i + pnl LactationS tatus.Heig ht + pnlLa ctationSta tus.Margin s.Top + pn lLactation Status.Mar gins.Botto m;
  113  
  114         if p nlPregnanc yStatus.Vi sible then
  115           i  := i + pnl PregnancyS tatus.Heig ht + pnlPr egnancySta tus.Margin s.Top + pn lPregnancy Status.Mar gins.Botto m;
  116  
  117         Clie ntHeight : = i;
  118       end;
  119   end;
  120  
  121   procedure  TfrmWVPreg LacStatusU pdate.Chec kOkToSave( Sender: TO bject);
  122   begin
  123     if ckbxA bleToConce iveYes.Che cked then
  124       btnSav e.Enabled  := ckbxPre gnantYes.C hecked or  ckbxPregna ntNo.Check ed or ckbx PregnantUn sure.Check ed
  125     else if  ckbxAbleTo ConceiveNo .Checked t hen
  126       btnSav e.Enabled  := ckbxHys terectomy. Checked or  ckbxMenop ause.Check ed or ckbx Permanent. Checked
  127     else if  ckbxLactat ingYes.Che cked or ck bxLactatin gNo.Checke d then
  128       btnSav e.Enabled  := True
  129     else
  130       btnSav e.Enabled  := False;
  131   end;
  132  
  133   procedure  TfrmWVPreg LacStatusU pdate.ckbx LactatingY esNoClick( Sender: TO bject);
  134   begin
  135     if Sende r = ckbxLa ctatingYes  then
  136       if ckb xLactating Yes.Checke d then
  137         ckbx LactatingN o.Checked  := False;
  138  
  139     if Sende r = ckbxLa ctatingNo  then
  140       if ckb xLactating No.Checked  then
  141         ckbx LactatingY es.Checked  := False;
  142  
  143     CheckOkT oSave(Send er);
  144   end;
  145  
  146   procedure  TfrmWVPreg LacStatusU pdate.dtpL astMenstru alPeriodCh ange(Sende r: TObject );
  147   begin
  148     dtpLastM enstrualPe riod.Forma t := '';
  149   end;
  150  
  151   procedure  TfrmWVPreg LacStatusU pdate.Able ToConceive YesNo(Send er: TObjec t);
  152   begin
  153     if Sende r = ckbxAb leToConcei veYes then
  154       if ckb xAbleToCon ceiveYes.C hecked the n
  155         ckbx AbleToConc eiveNo.Che cked := Fa lse;
  156  
  157     if Sende r = ckbxAb leToConcei veNo then
  158       if ckb xAbleToCon ceiveNo.Ch ecked then
  159         ckbx AbleToConc eiveYes.Ch ecked := F alse;
  160  
  161     if ckbxA bleToConce iveYes.Che cked then
  162       begin
  163         ckbx Menopause. Checked :=  False;
  164         ckbx Menopause. Enabled :=  False;
  165         ckbx Hysterecto my.Checked  := False;
  166         ckbx Hysterecto my.Enabled  := False;
  167         ckbx Permanent. Checked :=  False;
  168         ckbx Permanent. Enabled :=  False;
  169  
  170         ckbx PregnantYe s.Enabled  := True;
  171         ckbx PregnantNo .Enabled : = True;
  172         ckbx PregnantUn sure.Enabl ed := True ;
  173  
  174         stxt LastMenstr ualPeriod. Enabled :=  False;
  175         dtpL astMenstru alPeriod.E nabled :=  False;
  176         dtpL astMenstru alPeriod.F ormat := '  ';
  177       end
  178     else if  ckbxAbleTo ConceiveNo .Checked t hen
  179       begin
  180         ckbx Menopause. Enabled :=  True;
  181         ckbx Hysterecto my.Enabled  := True;
  182         ckbx Permanent. Enabled :=  True;
  183  
  184         ckbx PregnantYe s.Enabled  := False;
  185         ckbx PregnantYe s.Checked  := False;
  186         ckbx PregnantNo .Enabled : = False;
  187         ckbx PregnantNo .Checked : = False;
  188         ckbx PregnantUn sure.Enabl ed := Fals e;
  189         ckbx PregnantUn sure.Check ed := Fals e;
  190  
  191         stxt LastMenstr ualPeriod. Enabled :=  False;
  192         dtpL astMenstru alPeriod.E nabled :=  False;
  193         dtpL astMenstru alPeriod.F ormat := '  ';
  194       end
  195     else
  196       begin
  197         ckbx Menopause. Checked :=  False;
  198         ckbx Menopause. Enabled :=  False;
  199         ckbx Hysterecto my.Checked  := False;
  200         ckbx Hysterecto my.Enabled  := False;
  201         ckbx Permanent. Checked :=  False;
  202         ckbx Permanent. Enabled :=  False;
  203  
  204         ckbx PregnantYe s.Enabled  := False;
  205         ckbx PregnantYe s.Checked  := False;
  206         ckbx PregnantNo .Enabled : = False;
  207         ckbx PregnantNo .Checked : = False;
  208         ckbx PregnantUn sure.Enabl ed := Fals e;
  209         ckbx PregnantUn sure.Check ed := Fals e;
  210  
  211         stxt LastMenstr ualPeriod. Enabled :=  False;
  212         dtpL astMenstru alPeriod.E nabled :=  False;
  213         dtpL astMenstru alPeriod.F ormat := '  ';
  214       end;
  215  
  216     CheckOkT oSave(Send er);
  217   end;
  218  
  219   procedure  TfrmWVPreg LacStatusU pdate.Preg nantYesNoU nsure(Send er: TObjec t);
  220   begin
  221     if Sende r = ckbxPr egnantYes  then
  222       if ckb xPregnantY es.Checked  then
  223         begi n
  224           ck bxPregnant No.Checked  := False;
  225           ck bxPregnant Unsure.Che cked := Fa lse;
  226           st xtLastMens trualPerio d.Enabled  := True;
  227           dt pLastMenst rualPeriod .Enabled : = True;
  228           dt pLastMenst rualPeriod .Format :=  ' ';
  229         end
  230       else
  231         begi n
  232           st xtLastMens trualPerio d.Enabled  := False;
  233           dt pLastMenst rualPeriod .Enabled : = False;
  234           dt pLastMenst rualPeriod .Format :=  ' ';
  235         end;
  236  
  237     if Sende r = ckbxPr egnantNo t hen
  238       if ckb xPregnantN o.Checked  then
  239         begi n
  240           ck bxPregnant Yes.Checke d := False ;
  241           ck bxPregnant Unsure.Che cked := Fa lse;
  242         end;
  243  
  244     if Sende r = ckbxPr egnantUnsu re then
  245       if ckb xPregnantU nsure.Chec ked then
  246         begi n
  247           ck bxPregnant Yes.Checke d := False ;
  248           ck bxPregnant No.Checked  := False;
  249         end;
  250  
  251     CheckOkT oSave(Send er);
  252   end;
  253  
  254   function T frmWVPregL acStatusUp date.Execu te: Boolea n;
  255   begin
  256     Result : = (ShowMod al = mrOk) ;
  257   end;
  258  
  259   function T frmWVPregL acStatusUp date.GetDa ta(aList:  TStringLis t): Boolea n;
  260   var
  261     aDateTim e: TDateTi me;
  262     y, m, d:  Word;
  263     aStr: st ring;
  264  
  265     procedur e AddReaso n(var aStr : string;  aValue: st ring);
  266     begin
  267       if aSt r <> '' th en
  268         begi n
  269           //  Remove an y previous  'and's
  270           if  Pos(' and  ', aStr)  > 0 then
  271              aStr := St ringReplac e(aStr, '  and ', ',  ', [rfRepl aceAll]);
  272           //  Append on  this valu e with a g ramaticall y correct  'and'
  273           aS tr := Form at('%s and  %s', [aSt r, aValue] );
  274           //  Set capit ialization  to gramat ically cor rect first  char only
  275           aS tr := Uppe rCase(Copy (aStr, 1,  1)) + Lowe rCase(Copy (aStr, 2,  Length(aSt r)));
  276         end
  277       else
  278         aStr  := aValue ;
  279     end;
  280  
  281   begin
  282     aList.Cl ear;
  283     try
  284       aList. Values[SUB _PATIENT]  := fDFN;
  285  
  286       if ckb xAbleToCon ceiveYes.C hecked the n
  287         begi n
  288           aL ist.Values [SUB_ABLE_ TO_CONCEIV E] := 'Yes ';
  289  
  290           if  ckbxPregn antYes.Che cked then
  291              begin
  292                aList.Va lues[SUB_P REGNANCY_S TATUS] :=  'Yes';
  293  
  294                if dtpLa stMenstrua lPeriod.Fo rmat = ''  then
  295                  begin
  296                    aDat eTime := d tpLastMens trualPerio d.DateTime ;
  297                    Deco deDate(aDa teTime, y,  m, d);
  298                    aLis t.Values[S UB_LAST_ME NSTRUAL_PE RIOD] := I ntToStr((( y - 1700)  * 10000) +  (m * 100)  + d);
  299                  end
  300              end
  301           el se if ckbx PregnantNo .Checked t hen
  302              aList.Valu es[SUB_PRE GNANCY_STA TUS] := 'N o'
  303           el se if ckbx PregnantUn sure.Check ed then
  304              aList.Valu es[SUB_PRE GNANCY_STA TUS] := 'U nsure'
  305           el se
  306              aList.Valu es[SUB_PRE GNANCY_STA TUS] := 'U nknown';
  307         end
  308       else i f ckbxAble ToConceive No.Checked  then
  309         begi n
  310           aL ist.Values [SUB_ABLE_ TO_CONCEIV E] := 'No' ;
  311           aS tr := '';
  312  
  313           if  ckbxHyste rectomy.Ch ecked then
  314              AddReason( aStr, ckbx Hysterecto my.Caption );
  315  
  316           if  ckbxMenop ause.Check ed then
  317              AddReason( aStr, ckbx Menopause. Caption);
  318  
  319           if  ckbxPerma nent.Check ed then
  320              AddReason( aStr, ckbx Permanent. Caption);
  321  
  322           aL ist.Values [SUB_MEDIC AL_REASON]  := aStr;
  323         end;
  324  
  325       if ckb xLactating Yes.Checke d then
  326         aLis t.Values[S UB_LACTATI ON_STATUS]  := 'Yes'
  327       else i f ckbxLact atingNo.Ch ecked then
  328         aLis t.Values[S UB_LACTATI ON_STATUS]  := 'No';
  329  
  330       Result  := True;
  331     except
  332       on e:  Exception  do
  333         begi n
  334           aL ist.Clear;
  335           aL ist.Add('- 1^' + e.Me ssage);
  336           Re sult := Fa lse;
  337         end;
  338     end;
  339   end;
  340  
  341   end.