Sunday, June 28, 2009

Oxycodone and OxyContin

My first experience with medication for cancer pain was around January 2007. A tumor in my pelvic bone made it very painful to walk or lay flat. Then when I went through radiation therapy I got radiation proctitis – burns to my rectum and anus that made bowel movements extremely painful.

We treated those bouts of pain with oxycodone. A typical dose for me was one 5 mg tablet when the pain acted up, repeated every four to six hours if needed. More intense pain from the proctitis needed 10 mg at a time, but that tended to quiet down until the next bowel movement so it was not repeated as frequently. A really bad day might mean a total dosage of 30 mg of oxycodone. A moderate day would mean 5 to 10 mg, and good days none at all.

Then last month we found a tumor growing into my tailbone. So I started back to taking 5 to 10 mg of oxycodone a day. A week later I was taking 20 mg a day and not getting relief. So my radiation oncologist started me on OxyContin, the controlled release formulation of oxycodone. He explained that keeping a constant concentration of oxycodone in my system would prevent the pain from breaking through, and an ounce of prevention is worth a pound of cure.

I started on 10 mg OxyContin twice a day but found that I still needed the oxycodone to knock the pain down. Then we went to 20 mg OxyContin twice a day – still not enough. I tried taking it more often, three or four times a day plus oxycodone as needed, but I was still having debilitating pain. I started keeping notecards of my pill consumption and found I was getting around 120 mg a day of oxycodone in my system. A few hours a day a would feel okay, but at other times I would be moaning or pacing in pain.

I decided I needed to get a handle on how much oxycodone I was getting between the controlled release and immediate release forms. So I started by finding the pharmacokinetic data on oxycodone and OxyContin:

Oxycodone gets into the bloodstream quickly – about one hour to reach peak concentration – and then decays away exponentially. OxyContin takes a couple hours to provide its maximum concentration of oxycodone and that level stays elevated longer as the pill keeps delivering medication while it travels through the intestines.

It happens that 10 mg OxyContin gives about the same peak level as 5 mg oxycodone. Half of that peak is maintained up to six hours with oxycodone or twelve hours with OxyContin. Depending on what concentration your body needs to control the pain, that gives and idea of how long one dose will be effective.

You'll notice that for neither formulation is the concentration stable for any period of time. This was a little surprising to me after reading how OxyContin is supposed to provide twelve hours of continuous relief. That's only true if the concentration out at twelve hours is enough to control your pain, and that means that for most of those hours the oxycodone concentration will be higher than you need. Just how drastically the concentration varies is somewhat masked by the use of a logarithmic scale in the drug literature rather than the linear scale in this reproduction.

I wrote a computer program so that I could combine the effect from multiple doses of oxycodone and OxyContin, either on a regular daily cycle or from my own irregular dosage records. Comparing 5 mg oxycodone taken every six hours to 10 mg OxyContin taken every twelve hours illustrates the theory behind its standard dosage schedule.

As with single doses, the two formulations reach the same peak concentration. With oxycodone it falls off quickly and a second dose is needed to get it back up. By coincidence or skillful formulation, the concentration from either dosage (5 mg oxycodone every six hours or 10 mg OxyContin every twelve hours) is nearly identical at the twelfth hour. Thus OxyContin provides the same peak, minimum, and duration as the equivalent dosage of oxycodone.

When I tried taking OxyContin alone I noticed that, after waiting a couple hours for it to kick in, I would get about six hours of relief. But I was certainly not getting a full twelve hours. Since I had multiple prescription strengths on hand, I decided to compare taking a lower dose more frequently to a higher dose less often.

I felt better with the high frequency dosing because it kept tighter control on the oxycodone concentration. If my threshold for pain were 30 ng/mL, then twelve-hour dosing would leave me below that level for a few hours each cycle whereas six-hour dosing kept me always above. Furthermore, the twelve-hour dosing would also make me higher than necessary for a few hours each dose. For any strength of OxyContin, twelve-hour dosing produces a variation in oxycodone concentration by about a factor of two.

In retrospect it's not too surprising that I don't get get twelve hours of relief from a single dose of OxyContin. I don't get six hours of relief from oxycodone either; usually I feel it fading after four. So any formulation equivalent to six-hour dosing of oxycodone won't cut it. I could use a higher dose to keep the late hours covered, but I seem to be sensitive to the consequent overdose in the early hours.

Finally, I compared my actual dosage records to the baseline OxyContin dosage I was using for a period of four days. I had recently increased to 20 mg OxyContin every six hours and took extra 10 mg OxyContins and 5 mg oxycodones as needed for pain.

Sometimes during this period I felt okay but many times I was in moderate to severe pain. The erratic oxycodone concentration gives a clue why that was. My baseline dosage was not nearly high enough to control my pain. Relying on a lot of immediate release oxycodone produced big spikes and dips in the concentration. And adding irregular 10 mg OxyContin boosters generated delayed responses and lingering effects that were hard to track without a computer.

After seeing this analysis I asked my radiation oncologist for 40 mg OxyContin every six hours. That seemed to be a good baseline that to keep me near the level of pain control and allow for smaller, more predictable doses to manage breakthrough pain.

My pain management since that dosage adjustment has in fact been much better. Some of that relief may be from the radiation doing its job on the cancer, though it's still early in the therapy to expect that. In any case I think that analyzing my pain medication in this way helped to get it under control.

For any computer nerds reading this, the program I wrote is in Python and appears below in microprint. You can copy it to a text editor to read, save, and run. There are two versions. One takes periodic doses on the command line to output twenty-four hours of concentration versus time. The other takes a file with space-delimited time-dose pairs listed one per line. It outputs the concentration from the time of the earliest dose until the last effects of the latest dose.

Oxycontin.py:
#!/usr/bin/env python

# Oxycontin.py 21 June 2009
#
# Python program to simulate plasma concentration of oxycodone from periodic
# doses of OxyContin and oxycodone
#
# Usage:
# chmod +x Oxycontin.py [run once to make file executable]
# ./Oxycontin.py time1 dose1 [time2 dose2] [...]
# time measured in hr
# dose measured in mg (5 for oxycodone, any other for OxyContin)
# outputs concentration (ng/mL) versus time
#
# Examples:
# ./Oxycontin.py 0 10 12 10 [10 mg of OxyContin every 12 hours]
# ./Oxycontin.py 0 5 6 5 12 5 18 5 [5 mg of oxycodone every 6 hours]
# ./Oxycontin.py 0 20 0 5 12 20 12 5 [20 mg OxyContins with 5 mg oxycodones]
#
# Richard J. Wagner, Ph.D. wagnerr@umich.edu http://soayacs.blogspot.com/

# ---------------------------------------------------------------------------- #

import sys

# ---------------------------------------------------------------------------- #

# Concentration profile for 20 mg of OxyContin at 30-minute intervals
# Source: Purdue Pharma L.P., Stamford CT (2007) with linear interpolation and
# exponential extrapolation (12.7 hr half-life during 36-hour transit and 3.7 hr
# half-life after excretion)
oxycontin = [ 0.00, 3.80, 12.00, 14.30, 15.00, 15.90, 15.90, 15.40, 14.80,
14.48,14.15, 13.83, 13.50, 12.80, 12.10, 11.40, 10.70, 10.33, 9.95, 9.58, 9.20,
8.85, 8.50, 8.15, 7.80, 7.51, 7.22, 6.94, 6.67, 6.42, 6.17, 5.93, 5.70, 5.48,
5.27, 5.06, 4.87, 4.68, 4.50, 4.32, 4.15, 3.99, 3.84, 3.69, 3.55, 3.41, 3.28,
3.15, 3.03, 2.91, 2.80, 2.69, 2.59, 2.49, 2.39, 2.30, 2.21, 2.12, 2.04, 1.96,
1.89, 1.81, 1.74, 1.68, 1.61, 1.55, 1.49, 1.43, 1.37, 1.32, 1.27, 1.22, 1.17,
0.99, 0.86, 0.75, 0.66, 0.57, 0.50, 0.44, 0.38, 0.33, 0.29, 0.26, 0.22, 0.20,
0.17, 0.15, 0.13, 0.11, 0.10, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04 ]

# Concentration profile for 5 mg of oxycodone at 30-minute intervals
# Source: Roxicodone (oxycodone hydrochloride), Xanodyne Pharmaceuticals, Inc.,
# Newport KY (2009) with linear interpolation
oxycodone = [ 0.00, 4.22, 7.73, 7.30, 6.43, 5.92, 5.40, 5.00, 4.60, 4.43, 4.27,
4.10, 3.93, 3.69, 3.45, 3.21, 2.97, 2.78, 2.59, 2.39, 2.20, 1.96, 1.72, 1.47,
1.23, 1.16, 1.10, 1.03, 0.97, 0.90, 0.83, 0.77, 0.70, 0.64, 0.58, 0.52, 0.47,
0.41, 0.35, 0.29, 0.23, 0.21, 0.18, 0.16, 0.13, 0.11, 0.08, 0.06, 0.03 ]

# ---------------------------------------------------------------------------- #

profile = [ 0.0 ] * 48 # a day of 30-minute intervals

doses = sys.argv[1:]
doses.reverse()
while doses:
time = int( 2.0 * float(doses.pop()) )
dose = int(doses.pop())
if dose == 5:
for t in range( len(oxycodone) ):
profile[ (time+t) % 48 ] += oxycodone[t]
else:
for t in range( len(oxycontin) ):
profile[ (time+t) % 48 ] += ( dose / 20.0 ) * oxycontin[t]

for t in range( len(profile) ):
print t * 0.5, profile[t]
print len(profile) * 0.5, profile[0]

sys.exit()

# ---------------------------------------------------------------------------- #


OxycontinHistory.py:
#!/usr/bin/env python

# OxycontinHistory.py 21 June 2009
#
# Python program to simulate plasma concentration of oxycodone from nonperiodic
# doses of OxyContin and oxycodone
#
# Usage:
# chmod +x OxycontinHistory.py [run once to make file executable]
# ./Oxycontin.py OxyDoses.inp
# takes input file of dose (mg) vs time (hr)
# outputs concentration (ng/mL) versus time
#
# Richard J. Wagner, Ph.D. wagnerr@umich.edu http://soayacs.blogspot.com/

# ---------------------------------------------------------------------------- #

import string
import sys

# ---------------------------------------------------------------------------- #

# Concentration profile for 20 mg of OxyContin at 30-minute intervals
# Source: Purdue Pharma L.P., Stamford CT (2007) with linear interpolation and
# exponential extrapolation (12.7 hr half-life during 36-hour transit and 3.7 hr
# half-life after excretion)
oxycontin = [ 0.00, 3.80, 12.00, 14.30, 15.00, 15.90, 15.90, 15.40, 14.80,
14.48,14.15, 13.83, 13.50, 12.80, 12.10, 11.40, 10.70, 10.33, 9.95, 9.58, 9.20,
8.85, 8.50, 8.15, 7.80, 7.51, 7.22, 6.94, 6.67, 6.42, 6.17, 5.93, 5.70, 5.48,
5.27, 5.06, 4.87, 4.68, 4.50, 4.32, 4.15, 3.99, 3.84, 3.69, 3.55, 3.41, 3.28,
3.15, 3.03, 2.91, 2.80, 2.69, 2.59, 2.49, 2.39, 2.30, 2.21, 2.12, 2.04, 1.96,
1.89, 1.81, 1.74, 1.68, 1.61, 1.55, 1.49, 1.43, 1.37, 1.32, 1.27, 1.22, 1.17,
0.99, 0.86, 0.75, 0.66, 0.57, 0.50, 0.44, 0.38, 0.33, 0.29, 0.26, 0.22, 0.20,
0.17, 0.15, 0.13, 0.11, 0.10, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04 ]

# Concentration profile for 5 mg of oxycodone at 30-minute intervals
# Source: Roxicodone (oxycodone hydrochloride), Xanodyne Pharmaceuticals, Inc.,
# Newport KY (2009) with linear interpolation
oxycodone = [ 0.00, 4.22, 7.73, 7.30, 6.43, 5.92, 5.40, 5.00, 4.60, 4.43, 4.27,
4.10, 3.93, 3.69, 3.45, 3.21, 2.97, 2.78, 2.59, 2.39, 2.20, 1.96, 1.72, 1.47,
1.23, 1.16, 1.10, 1.03, 0.97, 0.90, 0.83, 0.77, 0.70, 0.64, 0.58, 0.52, 0.47,
0.41, 0.35, 0.29, 0.23, 0.21, 0.18, 0.16, 0.13, 0.11, 0.08, 0.06, 0.03 ]

# ---------------------------------------------------------------------------- #

# Read tab-delimited time(hr)-dose(mg) pairs from the given data file name
doses = []
for line in open(sys.argv[1]).readlines():
terms = string.split(line)
doses.append( ( int( 2.0 * float(terms[0]) ), int(terms[1]) ) )
start = doses[0][0]
stop = doses[-1][0]
slack = max( len(oxycontin), len(oxycodone) )
duration = stop - start + slack

profile = [ 0.0 ] * duration

for dose in doses:
if dose[1] == 5:
for t in range( len(oxycodone) ):
profile[ dose[0] - start + t ] += oxycodone[t]
else:
for t in range( len(oxycontin) ):
profile[ dose[0] - start + t ] += ( dose[1] / 20.0 ) * oxycontin[t]

for t in range( len(profile) ):
print 0.5 * ( start + t ), profile[t]

sys.exit()

# ---------------------------------------------------------------------------- #


Wednesday, June 10, 2009

Those fiendish cells

The protein called carcinoembryonic antigen (CEA) speaks volumes about my battles with cancer. I wrote about it twice before:

Today I have an update tracking the concentration of that protein in my body over the past five years.

When chemotherapy stopped holding down the cancer in late 2008, I traveled to Baltimore for a heroic surgery to remove the two big tumors and apply heated chemotherapy drugs to kill any stray cells. My surgeon was pleased that he was able to remove the tumors without too much destruction, but there was one area at the back of my pelvis where he worried that some cancer cells might still be hiding.

So our plan was to let me recover from surgery and then follow up with chemotherapy or radiation to clear out that trouble area. The big drop in CEA in January 2009 shows that the surgery was effective in reducing the tumor load and a CT scan in February looked good (for a person who has been reassembled a couple times already).

In the following months my CEA climbed back up to the limits of normal (5 nanograms per milliliter), solidly abnormal (over 10 ng/mL), and now stratospheric (633 ng/mL). Scans in May showed a tumor at the back of my pelvis eroding my tailbone and another sitting on the pubic bone in front of my bladder.

I've spent the last few weeks scurrying to figure out the current situation and choose the best plan of attack. The leading contender right now is radiation, first to the tailbone and then to the pubic bone. I'm hoping that those areas are the only ones with cancer and that the radiation will be at least as effective as it was on my pelvic mass in 2007.

There are other options to consider too: Taking the chemotherapy drug Xeloda during radiation to increase its effectiveness. Trying another chemotherapy drug like Vectibix (which is related to the drug Erbitux which brought me much suffering and little benefit). Or entering a clinical trial to try re-engineering my immune system to attack the CEA-laced cancer cells.

The rapid rise in CEA and the sudden worsening of pain is spurring me to move quickly. I was looking forward to summer travel, more time with family, and gainful employment; but those plans are postponed now. The next stage of treatment – six weeks of radiation – is scheduled to start in five days.

Thursday, May 7, 2009

Threads of reincarnation


I don't believe in an afterlife, but I'm not 100% sure that one does not exist. So sometimes I ponder how it might work. How is the soul tied to the body, and where does the soul go when the body can no longer carry it?

One idea is that there is a whole other realm where souls go after leaving this world – heaven, hell, etc. But a simpler idea is that the souls return to our own world to continue their existence. They are reincarnated with a different body and maybe with different circumstances based upon what the soul did in previous incarnations.

One argument against reincarnation is that there are not enough souls to go around. The population of the world is growing (generally exponentially), so there are many more bodies now than there were a thousand years ago. Where did we get all the souls to inhabit these bodies? Or what were today's billions of souls doing when there were not enough bodies for them to inhabit?

I believe that time is an illusion, so I have an explanation based on the plasticity of time. Think of our world as a sheet of canvas and think of our souls as long threads. With time running from left to right across the front of the canvas, a soul comes into life by piercing the canvas from behind. It lives its life along the front of the canvas and leaves our world by piercing back behind at some point to the right.

If time were immutable then any reincarnation must occur with a return to the front of the canvas somewhere still farther to the right. But if the netherworld is free from our constraints of time, then the thread could run in any direction behind the canvas. It might return to the left, and come back to the front at any point, even one corresponding to a time before its prior life.

If the soul has little or no memory of its previous lives, then it could even make parallel runs across the front of the canvas without any paradoxes of coexistence. This flexibility means that all the living people you see today could be inhabited by any number of souls (up to as many as there are people today). And there could be any number of souls, weaving back and forth through time to inhabit all the bodies that ever have been or ever will be.

So be nice to your neighbors. They might be the other lives woven from the same thread as you.

Tuesday, April 7, 2009

Wii Fit


Having been through major surgery before, I knew how hard recovery would be after my big abdominal procedure in December. It's amazing how quickly the muscles atrophy during a week or two in a hospital bed. And the body turns to burning muscle when your digestive system is out of commission for a while.

So I prepared this time by getting Wii Fit. It's a step board with sensors and a game disc that leads you on a variety of exercises. There's yoga, strength training, aerobics, and balance games. My favorites have been hula hoop, step dance aerobics, and ski slalom.

I've never been a regular exerciser, partly because I get bored with the purposeless repetition. Wii Fit helped motivate me by teaching me new exercises, rewarding me with unlocked features, and letting me track my weight and fitness over time.

There's also a social aspect. Before my surgery I tried out the games with my family. We each made our own avatar and competed at the games, setting records for time and quality. Then after surgery when I exercised alone the game put my family and friends in the scene to help motivate me. (That's a few of them with me in the picture above.)

I do think the game helped me recover faster, especially since it was the middle of winter and hard to get outside for long walks. The exercise was plenty to raise my heart rate and strain my muscles. It might also be effective for weight loss, though that was the opposite of my goal post-surgery.

Unfortunately I haven't stuck with Wii Fit like I probably should. Once I was well enough to get out of the house I preferred to go to work or do household chores rather than spend my limited energy on exercise. But now my energy has improved so that I'm trying to keep up with both regular activities and exercise.

Wednesday, March 18, 2009

My ostomy

My big surgery in December was prompted by a tumor growing in my rectum and threatening to block the passage of stool. When the doctor removed the tumor he had to remove the rest of my rectum too. The rectum normally sits between the end of the colon and the anus, acting as a warehouse for poop.

With the rectum removed I was left with a short anal stump and the loose end of the colon was redirected to a hole in my abdominal wall (called a stoma). There the stool exits and is collected in a plastic bag taped to my belly. Without a rectum or anus to limit movement through the stoma, gas and stool exit whenever the colon becomes active. That can happen at any time of day or night but is most likely after starting to eat.


My ostomy bag is a two-piece Hollister New Image system. It has an adhesive flange which I tape to my belly and a hole in the center for the stoma to protrude through. On top of that flange I place a special opaque plastic bag to collect stool. It has a charcoal filter to let gasses vent without odor and a clipped opening to allow collected stool to be emptied into a toilet. I replace the bag every two days for freshness and change the flange about once a week to clean the skin underneath and restore adhesion.


My stoma is up to two inches long, depending on whether my colon is in a relaxed or contracted state. It sits upon a crowned region of my belly due to the rearrangement of intestines beneath. So the whole appliance, with the crown, stoma, bag, and contents included protrudes two or three inches compared to the other side of my belly.


I check on the bare stoma when I change a bag or remove the flange and clean the whole area. It's a soft, pink tube that weeps moisture and bleeds easily if touched. It does not have nerves to feel touch but does give a sensation of pressure as stool passes.

It's hard for me to accept having this new body part and associated medical appliance constantly on my body. I'm not eager to go shirtless in front of anybody – no more beaches, pools, or bare backed work in the sun. The lack of control, feeling, and muffling means that I can let out a big fart sound at any time without warning – quiet meeting rooms make me anxious. The appliance takes more time to dry or change after a shower, so it's impossible to jump in for a quick shower.

The protrusion of the stoma makes me uncomfortable trying to lay on my belly in bed. It's not that the stoma hurts from the weight, but I worry that it will be harmed or get stuck trying to pass something out. Likewise, sexual relations are more inhibited. First, I don't feel very sexy with this big bandage-looking thing on my belly. Second, the flap of the bag hangs down right into the area where business gets done. I haven't found a comfortable way to fasten it out of the way. And third, the stoma and any contents of the bag make it uncomfortable to lie belly to belly with another person.

The biggest discouragement to me now is that: the ostomy interferes with intimacy and affection. The second biggest annoyance is with clothing. Now, in the winter, I can cover up the appearance of the appliance with layers of heavy clothes. But still it sometimes looks like I have something hidden under my shirt or that I have a strikingly large beer belly in comparison to my otherwise thin frame. This problem is likely to get worse as the weather warms.

My strategy for now is to get more comfortable with my own body and worry less about how it appears. But I am a person who likes to dress sharp in public, so having half my wardrobe not function and appearing less fit than I am is embarrassing.

I don't want to complain too much. Having the ostomy saves me from the poor function I had before the surgery: unpredictable bowel movements up to twenty times a day, pain, and an impending blockage. I feel lucky that I haven't had to endure worse medical augmentation. And I look forward to taking advantage of the greater freedom for travel and activities.

Friday, February 27, 2009

Pain scale

Whenever I'm at a doctor's office or hospital, the nurses and doctors ask me to rate my pain on a scale of 0 to 10. Apparently pain is a common symptom among cancer patients. Over the years I have experienced different kinds and degrees of pain across the spectrum. And with that experience I have developed a guide to keep my assessment consistent from week to week.

Pain scale
0: No pain.

1 or 2: Noticeable pain. Not enough to be bothersome, but enough to be aware that some part of my body is unhappy.

3 or 4: Distracting pain. It draws attention away from normal tasks and causes discomfort. It is not unbearable, but I would prefer to treat it if possible.

5 or 6: Constant pain. I am continually aware of the pain and unable to concentrate on anything else without great effort.

7 or 8: Writhing pain. Pain that makes me moan, yelp, grimace, and contort.

9 or 10: Blinding pain. Unendurable pain, greater than what I could imagine under normal circumstances.


During most of my treatment the pain has fortunately been in the 0 to 2 range. I have had frequent excursions into the 3 or 4 range with problems such as proctitis or healing after surgeries. When the source of that pain is unknown it can be useful for finding a new problem, but if the source is known then I prefer to medicate to a level where I can function normally.

The tumor that broke my pelvis caused pain in the 5 to 6 range. The radiation to treat it caused rectal pain shooting as high as 8, which made me wonder whether the cure was worse than the disease. After a few months it improved into the range of 1 to 4 which I medicated when necessary.

I am not conscious of experiencing a 9 or 10, but I think I did in the hours and days following major surgeries. Strong drugs or trauma have erased those memories.

Friday, February 6, 2009

Sense of touch

I lost some feeling in my hands and feet due to the various chemotherapy drugs I've taken over the past five years. I also lost my fingerprints thanks to Xeloda, which irritates the palms and soles in a reaction called hand-foot syndrome.

When I went to Disney World in 2007 I found that the entry gates use fingerprint scanners to ensure that the person using an electronic ticket is the same one who registered it. The scanner choked when I tried to register and an attendant had to override it. I bet that enough of the population has similar issues that it's in their training manual. I suppose it also means that people like me are a headache for anyone else trying to use fingerprints for identification.

Some of the numbness is nerve damage, particularly from the platinum-based drugs. The nerves do slowly heal, so I am getting some feeling back. In fact, now that I've been off of systemic chemo for four months I have enough feeling to realize that I lost more than I appreciated. Except for a period after a massive dose in 2005, the numbness hasn't been enough to interfere with tasks like holding a pen or buttoning a shirt. It's just been a dullness of sensation.


Today I learned that there's another explanation. According to research published in Science, fingerprints enhance the sense of touch. The ridges vibrate as they encounter bumps on a surface and transmit stronger signals to the nerve endings. So part of my numbness to texture is not just the nerve damage but the lack of fingerprints. I wonder if they, too, will regrow over time.