Date: Sun, 29 Jun 2008 10:00:14 -0400
Reply-To: Sigurd Hermansen <HERMANS1@WESTAT.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Sigurd Hermansen <HERMANS1@WESTAT.COM>
Subject: Re: Programming question on viral load dataset
In-Reply-To: <2472274b-c212-4b9b-a7cb-7a824d2b536e@x41g2000hsb.googlegroups.com>
Content-Type: text/plain; charset="us-ascii"
sassql:
Catchy e-mail address!
As Ian has observed, writing clear and consistent requirements often
takes more time and attention than writing a program. I'd suggest
reviewing the requirements. In particular, the first and fourth
classification rules,
>1 = Confirmed Virologic Failure: Failure to achieve <400 cp/mL on or
before 20 weeks
>4 = Non Virologic Failure: Not confirmed/suspected >=400 cp/mL after
achieving suppression to <400 cp/mL by week 24
appear to leave a logical gap between week 20 and week 24. Also,
rules 2 and 3 do not appear to classify patients into mutually exclusive
classes.
S
-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of
sassql@GMAIL.COM
Sent: Friday, June 27, 2008 3:23 PM
To: SAS-L@LISTSERV.UGA.EDU
Subject: Programming question on viral load dataset
Dear all,
I have a viral load dataset for around 400 patients. I want to determine
the patients who had viralload failure as per the following criteria.
1 = Confirmed Virologic Failure: Failure to achieve <400 cp/mL on
or before 20 weeks'
2 = Confirmed Virologic Failure: >=400 cp/mL confirmed after
initial supression to <400 cp/mL'
3 = Suspected Virologic Failure: >=400 cp/mL on last visit after
initial supression to <400 cp/mL'
4 = Non Virologic Failure: Not confirmed/suspected >=400 cp/mL
after achieving suppression to <400 cp/mL by week 24
For each of the patient i have to derive the following variables:
1) Criteriacode: This variable willl have either value 1,2,3 or 4
depending on which patient's viral load satisfies the criteria mentioned
above.
2) ttvf: Time to virologic failure.
2) Failuredate: The date when the patient failed
Here is the example of how the data looks like.
PTNO WEEK labdate Viralload
101 Baseline 01apr2001 >=400
101 Week2 15apr2001 >=400
101 Week4 30apr2001 >=400
101 Week8 28may2001 >=400
101 Week12 25June2001 <400
101 Week16 23July2001 <400
101 Week20 20aug2001 >=400
101 Week24 17sept2001 >=400
As per Criteria 2 this patient has a confirmed rebound of VL >=400 cp/
ml after initial suppression to <400 cp/ml
PTNO WEEK labdate Viralload
102 Baseline 01apr2001 >=400
102 Week2 15apr2001 >=400
102 Week4 30apr2001 >=400
102 Week8 28may2001 >=400
102 Week12 25June2001 <400
102 Week16 23July2001 <400
102 Week20 20aug2001 <400
102 Week24 17sept2001 >=400
THis patient as per criteria 3 will be assigned criteria 3 since it
rebounded only at the visit 24.
PTNO WEEK labdate Viralload
103 Baseline 01apr2001 >=400
103 Week2 15apr2001 >=400
103 Week4 30apr2001 >=400
103 Week8 28may2001 >=400
103 Week12 25June2001 >=400
103 Week16 23July2001 >=400
103 Week20 20aug2001 >=400
103 Week24 17sept2001 >=400
For this patient, it should be assigned criteria 1 since the viral load
never went below 400 cp/mL. And all other patients who didn't meet
criteria 1,2, and 3 will be assigned criteria 4.
Can someone tell me how to programatically determine each of this
criteria using the above mentioned sample data?
Thanks in advance