Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Need Help with Stata Programming


From   Nick Cox <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: Need Help with Stata Programming
Date   Thu, 21 Nov 2013 14:59:15 +0000

What you report as the difficulty is explained in detail in the paper
already cited

SJ-7-3 pr0033 . . . . . . . . . . . . . . Stata tip 51: Events in intervals
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
Q3/07 SJ 7(3):440--443 (no commands)
tip for counting or summarizing irregularly spaced
events in intervals

which is accessible at http://www.stata-journal.com/sjpdf.html?articlenum=pr0033

In short, you need an condition on the dates that enter in the
calculation. It is convenient, but not essential, to use -inrange()-,
e.g.

... inrange(date, <date of event> + 1, <date of event> + 60)

... inrange(date, <date of event> - 60, <date of event> - 1)

where naturally you need to fill in <date of event>.

You haven't answered my question about whether the event occurs at
most once for each patient. Regardless, the date of the last event can
always be found by

gen date_of_event = date if event

bysort patientid (date) : replace date_of_event = date_of_event[_n-1]
if missing(date_of_event)

and the date of the next event can be calculated using the time
reversal method discussed in

http://www.stata.com/support/faqs/data-management/replacing-missing-values/

Nick
[email protected]


On 21 November 2013 03:38, Michael Stewart
<[email protected]> wrote:
> Dear Nick ,
>
> Thank you very much for the advice .I looked at the prior code, your
> reference(took a print out) and read it and tried to solve the problem
> at hand.
>
>
> My Goal :
> 1)Count number of admissions(i.e., admit_type==IP) 60 days before the
> event(i.e., event==1) OR 60 days after the event(i.e., event==1).
> 2)Sum up the cost of the admissions (i.e., admit_type==IP) 60 days
> before the event(i.e., event==1) OR 60 days after the event(i.e.,
> event==1).
>
> I am trying to solve the problem with hints amd have been stuck up here
>
> ***************************************************************************
> gen NUM_IP_PRIOR=.
>
> qui forvalues i=1/`=_N'{
> sum admit_type if admit_type==IP & Pt_id==Pt_id[`i']
> replace NUM_IP_PRIOR=r(N) in `i'
> }
> *************************************************************************
>
> I am able to get number of IP (inpatient admissions) for each patient
> as a whole but not able to further break it down by
> (i)before and after the event
> (ii)60 days before the event(i.e., event==1) OR 60 days after the
> event(i.e., event==1).[with a time component]
>
> How could I add the condition/stata pseudocode so as to get count of
> IP before the event(variable-1) OR after the event(variable-2)
> .Please help.
>
>
> Thank you very much for your time
>
> On Wed, Nov 20, 2013 at 8:27 AM, Nick Cox <[email protected]> wrote:
>> A similar question was posted only yesterday
>>
>> http://www.stata.com/statalist/archive/2013-11/msg00745.html
>>
>> and advice included a reference
>>
>> SJ-7-3  pr0033  . . . . . . . . . . . . . .  Stata tip 51: Events in intervals
>>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
>>         Q3/07   SJ 7(3):440--443                                 (no commands)
>>         tip for counting or summarizing irregularly spaced
>>         events in intervals
>>
>> which is accessible at http://www.stata-journal.com/sjpdf.html?articlenum=pr0033
>>
>>
>> Nick
>> [email protected]
>>
>>
>> On 20 November 2013 13:11, Michael Stewart
>> <[email protected]> wrote:
>>
>>> I am trying to measure number of visits/admissions before and after a
>>> particular event and was hoping to get help from Stata programmers in
>>> the Statalist
>>>
>>> My dataset is as follows . ED: stands for emergency department visit &
>>> IP stands for Inpatient admission
>>>
>>> Patients are sorted chronologically (by date).
>>>
>>> My goal is
>>>
>>> 1)Count number of admissions(i.e., admit_type==IP) 60 days before the
>>> event(i.e., event==1) OR 60 days after the event(i.e., event==1).
>>> 2)Sum up the cost of the admissions (i.e., admit_type==IP) 60 days
>>> before the event(i.e., event==1) OR 60 days after the event(i.e.,
>>> event==1).
>>
>>
>>> 3               ED              0               date_1  USD xx
>>> 3               IP              0               date_2  USD xx
>>> 3               ED              0               date_3  USD xx
>>> 3               IP              0               date_4  USD xx
>>> 3               IP              1               date_5  USD xx
>>> 3               ED              0               date_6  USD xx
>>> 3               IP              0               date_7  USD xx
>>> 3               ED              0               date_8  USD xx
>> *
>> *   For searches and help try:
>> *   http://www.stata.com/help.cgi?search
>> *   http://www.stata.com/support/faqs/resources/statalist-faq/
>> *   http://www.ats.ucla.edu/stat/stata/
>
>
>
> --
> Thank you ,
> Yours Sincerely,
> Mike.
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/statalist-faq/
> *   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index