48. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 3/22/2018 8:26:01 AM 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.

48.1 Files compared

# Location File Last Modified
1 OR_30_405V42.zip\OR_30_405V42_SRC\Womens Health fWVPregLacStatusUpdate.pas Wed Jan 17 18:08:12 2018 UTC
2 OR_30_405V42.zip\OR_30_405V42_SRC\Womens Health fWVPregLacStatusUpdate.pas Wed Mar 21 14:43:54 2018 UTC

48.2 Comparison summary

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

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

48.4 Active regular expressions

No regular expressions were active.

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