I’ve been changing the way I develop software over the last few months. It has been a somewhat difficult but worthwhile journey for me and I thought I’d share some of what I’ve learned.
Why?
Unit testing and test driven development serves several purposes. It provides a way of showing that the software you develop is verifiably correct; it provides a means of regression testing; it is a discipline that means you write the minimum amount of code to perform the required function.
What’s a Unit Test?
From Wikipedia, unit testing is “a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable part of an application”. This usually means a single method, function or subroutine. Each ‘unit’ is tested in isolation, it shouldn't depend on any previous tests nor should it affect any subsequent tests. Making software that can be ‘broken apart’ and tested in isolated units requires a certain discipline in the way the software is constructed, and also requires things such as fakes, stubs and mocks which form a sort of ‘scaffolding’ around the code being tested. These concepts are quite closely related and in practice, unit tests will be constructed using a unit testing framework together with a mocking framework.
The unit testing framework I’ve chosen (Machine.Specifications or ‘MSpec’) is perhaps one of the lesser known varieties, but in my opinion deserves much wider uptake. MSpec can happily be used as a unit testing framework, but works best in a Behaviour Driven Development (BDD) model, and it is this BDD philosophy that starts to bring about the real change in one’s approach to software development.
Machine.Specifications
I chose Machine.Specifications (MSpec) because I like the way it allows for the creation of literally specifications. Although these are written in C# code, they can be very descriptive and initially don’t need to contain any code. This executable specification is readable enough that non-programmers could understand, or even write, specifications. The only way to really understand this is to see an example, so I’ll walk through a simple example of testing a bank account class. I’m no expert in this and I’m not claiming this is any example of best practice, but my intention is to provide a high level glimpse of how I go about testing with MSpec.
Getting Started
The easiest way I’ve found of getting MSpec working with your test project is to use the NuGet Package Manager – a very handy add-in for visual studio. Open the Package Manager Console and proceed as follows:

Simple as that. NuGet downloads the files, adds them to the solution and references the MSpec assemblies. Now to write our first specification.
using Machine.Specifications;
namespace BDD.Bank.Specifications
{
[Subject("New Account")]
public class when_creating_a_new_account
{
static Account target; // The item under test.
Establish context = () => { }; // Arrange
Because of = () => { target = new Account("Tim Long"); }; // Act
It should_have_a_non_blank_accountholder_name; // Assert
It should_have_a_nonzero_account_number;
It should_have_an_opening_balance_of_zero;
}
}
A few things to notice about this code.
- It follows the Arrange, Act, Assert mantra. In MSpec it is quite natural to have multiple assertions.
- There are some strange language elements such as ‘= () =>’. That’s actually a Lambda expression that creates a delegate to an anonymous method. Establish, Because and It are all delegate types defined by MSpec. If that offends your senses, just think of it as some sort of operator that MSpec uses, you get used to it really quickly.
- The assertions (It expressions) have no code in them. So this really is a specification rather than a test.
- The Account type has not been defined yet (so this won’t compile).
- You can probably understand what this test is doing, because it reads almost like English.
Next step is to define an Account class. Notice how the test is driving what code we write. I use ReSharper so a few clicks gets me an empty class definition for Account. Now I can run my test suite. I use ReSharper as my test runner, but MSpec also has its own test runner if you don;t have ReSharper. The output looks like this:

Filling In the Details
Now to flesh out the tests. Take the first item, should have a non-blank accountholder name. This, together with the Because clause, mandate that our Account class should have a constructor that accepts a string argument and that it stores that value in a property. I’ll call the property Name. Notice how the specification is again driving what code I write. My account class now looks like this:
namespace BDD.Bank
{
public sealed class Account
{
/// <summary>
/// Initializes a new instance of the <see cref = "Account" /> class.
/// </summary>
/// <param name = "name">The accountholder's full name.</param>
public Account(string name)
{
Name = name;
}
/// <summary>
/// Gets the accountholder's name.
/// </summary>
/// <value>The name of the account holder.</value>
public string Name { get; private set; }
}
}
Now, our test can be filled in:
It should_have_a_non_blank_accountholder_name = () => target.Name.ShouldEqual("Tim Long");
ShouldEqual is one of many assertion methods provided by MSpec, note the fluent style. And the results:

Moving on to our second assertion, should have a nonzero account number. This mandates that the Account class should be capable of generating and storing an account number. At this point you may be tempted to dive into writing a large chunk of code to generate unique account numbers, but Test Driven Development best practice is to only write the minimum code necessary to pass the test, so I’m just going to set it to 1 in the constructor.
Similarly, should have an opening balance of zero mandates another property which I’ll set to zero in the constructor. My finished test fixture looks like this:
using Machine.Specifications;
namespace BDD.Bank.Specifications
{
[Subject("New Account")]
public class when_creating_a_new_account
{
static Account target; // The item under test.
Establish context = () => { }; // Arrange
Because of = () => { target = new Account("Tim Long"); }; // Act
It should_have_a_non_blank_accountholder_name = () => target.Name.ShouldEqual("Tim Long");
It should_have_a_nonzero_account_number = () => target.Number.ShouldNotEqual(0);
It should_have_an_opening_balance_of_zero = () => target.Balance.ShouldEqual(0);
}
}
The Account class thus far looks like this:
using System;
namespace BDD.Bank
{
public sealed class Account
{
/// <summary>
/// Initializes a new instance of the <see cref = "Account" /> class.
/// </summary>
/// <param name = "name">The accountholder's full name.</param>
public Account(string name)
{
Name = name;
Number = 1;
Balance = 0;
}
/// <summary>
/// Gets the accountholder's name.
/// </summary>
/// <value>The name of the account holder.</value>
public string Name { get; private set; }
/// <summary>
/// Gets the account number.
/// </summary>
/// <value>The account number.</value>
public int Number { get; private set; }
/// <summary>
/// Gets the account balance.
/// </summary>
/// <value>The account balance.</value>
public Decimal Balance { get; private set; }
}
}
And the test results like this:

That sea of green ticks is a really good feeling. Even though this is a very trivial example, I think it demonstrates some of the important aspects of test driven development and the way that MSpec can be used to write specifications that produce readable output. The way I write code has definitely changed as a result of investigating MSpec.
Further Reading
MSpec Resources - http://altnetseattle.pbworks.com/w/page/25113341/MSpec
Rob Conery – Learning Behaviour Driven Development (screencast)
I’ve been ‘off the radar’ for a little over two weeks, but any rumours of my death have been greatly exaggerated. I’ve been in hospital with no internet access. I had my laptop with me and I decided to keep a journal of my adventures, I am publishing that journal in this blog post retrospectively.
Enjoy your trip: that joking little phrase often said when someone stumbles. While taking a walk around the waterfalls at Ystradfellte in the Brecon Beacons, that’s exactly what I did and it resulted in a much bigger adventure than I was planning for.
The plan for the day was to visit Sgwd-yr-Eira, an impressive waterfall that you can walk behind without getting wet. A place I have been to many times without incident. Then my foot slipped on a wet rock.
Day 1
15:30. Heading back towards Ystradfellte, just as I emerged from beneath the torrent, my boot slipped off a wet rock, throwing me off balance and towards the plunge pool. Some clumsy footwork ensued, in a futile attempt to regain balance and avoid a soaking. As I went over, I felt a distinct double crunch in my right ankle. I heard someone cry out, and realised it was me, though I remember no pain. The uncontrolled tumble came to a stop on a ledge, luckily avoiding a soaking in the icy plunge pool, but still under a heavy shower of drips and spray at the periphery of the main waterfall. Instinctively, I knew the ankle was broken, quickly confirmed by the useless dangling appendage at the end of my leg that was no longer at my command. No pain, but a very, very odd feeling.
Survival instinct kicked in. I’ve read enough books and been to enough cave rescue exercises to know that the bottom of a waterfall is a very bad place to be immobilised. I turned to Fern, my walking companion, and said “I’ve broken my ankle. Give me the walking poles, I have to move”. A couple of attempts to stand ended in failure, so I adopted a sitting position on a rock ledge where I could hold my injured foot clear and shuffle along sideways. In doing this, I noticed that I could still feel my toes and indeed move them, a very encouraging sign that there was probably no nerve damage and that I still had blood supply to the foot.
Poor Fern looked panicked. I began to tell her what I needed. “You’ve got to get me away from the waterfall and keep me warm and dry, then go and call for help”. It didn’t seem to sink in, and I suddenly felt very light headed from the onset of shock. I began to think I might black out. I knew time was a factor because of the risk of hypothermia and I didn’t know whether I would black out before delivering my request. Taking a few deep breaths and straining to think clearly, I tried again, simpler, more direct. “Make the phone call. Dial 999 and ask for mountain rescue”. After a few moments, “I’ve got no signal!”. Me: “Follow our path back to the car until you can get a signal. Tell them we are at Sgwd yr Eira”. Fern set off apace, phone in hand, her mission clear. My words echoed in my head. Fern, not a local and unaccustomed to Welsh pronunciation, would be unlikely to remember our location. Had I made the right choice? I had a good feeling, I knew Fern would not stop until she got help.
Watching Fern disappear into the distance, I began to inch myself sideways out of the water, spray and chilling downdraft of the waterfall. having got myself perhaps 20 metres from the water and beginning to test the limits of my mobility, I realised that I had made a miscalculation. A boulder-strewn area, perhaps a landslip run in from the side of the gorge, lay between me and my rucksack, which I had left next to the tourist information sign, ironically warning about not lingering under the waterfall. I did not think I would be able to make it over the rocks unaided. I needed the waterproof and windproof coat in that rucksack! Luckily, I was warmly dressed against the winter weather, with thermal under layer and two layers of fleece, a ‘windstopper’ hat and gloves. I picked a relatively drip-free spot where I could sit comfortably, did up all my fasteners, and hunkered down to minimize heat loss area. I managed to use a walking pole to prop my limp foot in a comfortable position, again reassuring myself that I could feel and move the toes. I braced for the long, cold wait and tried to think positive.
16:00 I hoped that Fern would be able to get a mobile phone signal at the top of the gorge. I later learned that she could not and that she had to walk a distance back towards the car park at Sgwd Clun Gwyn. Walking and dialling 999, the mobile phone suddenly roamed to a network and, even though it showed no signal, allowed the emergency call to go through. With some difficulty, Fern relayed the predicament to the rescuers. At first, the location could not be understood, as the rescue officer answering the call was based in England somewhere. At this point, two strokes of luck went in my favour. The clearly signposted tracks around the Ystradfellte waterfalls spelled out the name of my location, Sgwd yr Eira. Fern was able to read this off to the rescue officer. Reaching into her pocket for a pen, she pulled out a route plan, printed out earlier, bearing the exact Ordnance Survey grid reference of Sgwd yr Eira. All ambiguity resolved, Fern’s mission was accomplished and the rescue was in progress.
During this phone call, Fern chanced to meet two Polish gentlemen out for a walk. Including these, we had seen only four other human beings on the whole trip, so this was really quite fortunate timing. Rob, an army tank driver and his friend (whose name escapes me), a physiotherapist, fit, trained and medically knowledgeable. They immediately began to help.
16:15 I’d expected to have to wait at least a couple of hours until I saw another person, I was relieved and fortunate to wait only about 40 minutes. Soon, I was reunited with my waterproof and windproof coat, which made a huge difference. Rob, the tank driver, made me more comfortable and gave me a delicious hot drink that he said was ‘Polish tea’, a sort of sweet green tea. He kept my spirits up by telling me about how he broke both his elbows in a mountain biking accident. His colleague headed back up the hill to assist Fern and make sure she was OK. Upon their return, he produced a jumper from his rucksack for me to sit on, again boosting my comfort and morale. I had managed to keep a fairly positive frame of mind and by this time, I knew everything was going to be all right.
16:30 We chatted and drank Polish tea for what seemed like an eternity, but which was in reality probably about 40 minutes. At one point, one of the Polish gents told me it was ‘half past four’ and some 15 to 20 minutes after that, the sound of a helicopter engine approaching. As it came into view a little way down stream, I asked Fern to dig out my caving lamp which we brought along for a planned visit to Porth yr Ogof later that day. We signalled the helicopter, they quickly spotted us and moved overhead. By this time, twilight was well established and the police helicopter’s ‘night sun’ floodlight made an impressive display of the thundering waterfall and spray, the tree canopy spraying the beam into hundreds of silver shafts. It was like a scene from a Spielberg movie and I thought to myself ‘now there’s something not many people get to see!’
17:00 – Twilight. The police helicopter circled and hovered for perhaps 20 minutes, probing and illuminating the waterfall, river and gorge with their powerful lamp. I was relaxed and able to enjoy this spectacle. Eventually the night sun became obsessed with the footpath approaching the waterfall and it became clear that they were illuminating the way for the mountain rescue team. Torches moving in procession down the steep gorge path were a welcome sight indeed, for all of the four waiting patiently.
17:20 – Dark. After a brief information exchange between my Polish helpers and the rescuers, soon I was talking to Nigel, who began his checks on my wounded ankle, locating and marking the pulse in my foot, collating information and vital signs, wrapping me in warm waterproof blankets and administering entonox, a mixture of oxygen and nitrous oxide. The effects of entonox are swift and pleasant, a warm glow of euphoria spreading with every breath. The feeling of wellbeing inevitably results in a broad grin and laughter, justifying the street name ‘laughing gas’. Before long I was introduced to paramedic Dominic who gave me a check for less obvious injuries, of which there were none. As red flares were lit, once again illuminating the waterfall in a spectacular crimson display, Dominic explained that an RAF Sea King air-sea rescue helicopter was on the way and that they would be winching me out. He explained that they needed to move me away from the waterfall, over the rocky landslip and into a flatter, more open area. Before long I was tucked up in a stretcher and floating comfortably over the rocks and debris. I was impressed by the smoothness of the stretcher carry.
18:10 - The stretcher came to a halt while rescuers shielded me from the 10 tonnes of down-draft created by the hovering Sea King. After a quick introduction to the winchman, a sling was slipped under my knees and arms, lifting me into a sitting position and away we soared, the two minute ride up to the helicopter passed all too quickly. I was very comfortable and relaxed and I remember feeling a bit guilty for enjoying the whole affair as I watched the countryside zip along through the window. After only about 5 minutes, we were landing at Prince Charles hospital in Merthyr Tydfil.
The rescue operation was impressive. I can only describe it as ‘slick’ in every respect. Brecon Mountain Rescue, Police and RAF crew alike, trained, rehearsed and experienced. Like the cave rescuers who I know so well, these mountain rescue volunteers do what they do because they enjoy it, and because we know that we must rely on our peers when the going gets tough. Their efforts didn’t stop with getting me out of the gorge, either. They took care of Fern, escorting her safely back to my car, where they drove both (after obtaining my consent) to meet me at the hospital. Only after Peter and Penny had reunited us in the hospital did they consider their job done. I’m very grateful to everyone involved and I salute your dedication and professionalism.
18:30 – Landed at Prince Charles Hospital, no ambulance available to carry me the last 100m to A&E. Waited on the helicopter for perhaps 20 minutes. Comfortable and happy, but shaking with cold, and probably shock.
18:50 Fun over, back to reality on a hospital stretcher. Into an examination room to get out of my cold wet clothes and begin the process of warming up (the ambulance men thoughtfully parking the trolley next to a radiator). A quick triage session then off to X-Ray. Normally, the phrase ‘oooh, good job!’ is a positive thing, but not when it’s spoken by the young lady who just X-rayed your fracture. I asked to see the pictures and they showed me all the lines that weren’t supposed to be there. Oh dear. Broken in three places, fibula, tibia and a little wedge cracked off of one of the bones. The joint was also displaced and needed pulling back into position. Back to the examination room to await a doctor.
The nurse offered entenox, which I eagerly accepted and sucked in for all I was worth while the doctor tugged and rotated my foot. I swear the entonox was double strength, it seemed to be much faster acting than the mountain rescue variety. Ultimately, the euphoric light-headedness builds to a sort of momentary unconsciousness and dropping of the breathing tube from the mouth, although curiously still aware of what was being said in the room and the very unpleasant foot manipulations. The effects of the gas last only a few seconds once inhalation stops. I suspect the doctor waits for that moment of blissful unconsciousness before performing the most unpleasant parts of the manipulation. Bones and joints re-aligned, on with a backslab plaster cast and off to X-Ray to confirm the results. A backslab doesn’t go all the way around, it supports the calf, ankle and foot but leaves the top exposed, covered only by bandages. The doctor is able to cut this open for later examination. The doctor is happy but informs me this was only a temporary fix and that I’d need plates and screws in the bones to fix them properly. I’m taken to Ward 6 where I’m made comfortable for the night until the consultant can see me in the morning.
Footnote: All the times above are approximate, pieced together from remembered snippets of conversation.
Day 2
Consultant Glen splits open the temporary cast, takes one look at the foot and declares it unsuitable for surgery. The swelling, he explains, is like a very ripe tomato; if you cut the skin, it peels back and you can’t get the edges to come together again. I must sit in the hospital and wait for the swelling to subside, which can take as much as a week! Fern has to travel home to Canterbury, so I am alone in the hospital. I’m in a comfortable room all to myself, waited on hand and foot. It’s not entirely unpleasant, this enforced holiday. That part, I suspect, is yet to come.
My phone is not working. It also had an accident over the weekend, I’m not sure what happened but someone found it in the road and it no longer works correctly. There’s also no internet connection available from the hospital, this is a big problem for me as it means I can’t do any work. Perhaps this is a good thing as I need to recover mentally as well as physically, but I have no line of communication with the outside world.
Musical beds. Moved from Ward 6 to Ward 1, which is the orthopaedic trauma ward. Apparently all the beds were full but one just became available.
A visit from Grace, Roy and Madeleine today, nice to see them and Roy has brought me some nice coffee and chocolate biscuits. Grace lends me a phone which means at least I can receive incoming phone calls again.
The ankle is quite painful in the night, I would describe it as like a toothache, not particularly bad, but there is no let-up; just a constant miserable dull ache. I can’t sleep. The nurse brings me some ‘oramorph’ oral morphine. It comes in gel form, in a syringe and it’s just sucked from the syringe and swallowed. Very easy and not such a bad taste, although some find it horrible apparently. I don’t think it is a very strong dose, but enough to take away the pain and let me sleep soundly after a couple of doses.
Day 3
Consultant Glen arrives with an entourage, looks at the foot, feels the skin and declares it unfit for surgery. The waiting game continues.
Sleep, eat, get up and wash, change robe and bedclothes. Measure blood pressure, temperature and pulse. Put an ice pack on the ankle 3 times a day, keep the leg elevated in a Braun frame. That is the pattern of my life in hospital.
I’ve worked out that by using the bedside table and a pillow, I can prop my leg in a more comfortable position with the foot more vertical, this takes some weight off the ankle and means I can sleep without morphine and I wake up pain-free.
A surprise visit from Mick and Judy Day. Luckily Mick’s set of caving club keys that I borrowed from him are in the car, which is outside in the car park, so I’m able to return them. Judy had a similar accident some time ago and passes on some advice.
Day 4
Once again, consultant Glen declares the foot too swollen to operate. He seems genuinely frustrated at making me wait, but we both understand it’s necessary. I got an unsolicited second opinion today as my friend Lisa is one of the orthopaedic consultants here. It’s great to see her, especially as I know she is taking an interest in my case and making sure everything goes OK for me. She’s been through something similar herself so she knows what it’s like from the ‘customer’ perspective. She says her swelling took 10 days to go down. She has a word with someone and arranges for me to get a pair of crutches, so at least I can hobble around and get to the bathroom on my own.
Just as dinner is arriving I have a sudden nosebleed. Perhaps this is because of the head-down-feet-up position I must lay in. It’s gone in a few moments, though. The foot is hurting and I ask for the standard pain relief, paracetamol and tramadol.
The hospital food reminds me of school, dinners. A bit stodgy and mass-produced, but generally quite tasty. Today I’m having broccoli cheese, mixed veg and roast potato then sponge and custard.
Day 5
Today began with fasting until Consultant Glen has examined the injury. He’s not happy and won’t operate today. He cuts open the entire front of the backslab cast and tells me I’m confined to bed, and that I can have breakfast, but then curiously one of the nurses comes back and tells me not to eat as there may be ‘a procedure’ later on.
It seems that the consultant has ordered a check x-ray, which reveals that the bones have shifted. I’ll have to undergo a ‘manipulation and reduction’ which basically means pushing and pulling the foot and leg to re-align the broken bones. In masterful understatement, the doctor says he anticipates ‘some discomfort’ so there may be anaesthesia, hence my ‘nil by mouth’ status.
Later, it turns out that the consultant says the risk of anaesthesia far outweighs the benefit of the treatment, so it’s a pre-med of paracetamol, tramadol and oramorph (oral morphine) then gas & air (entonox) for the procedure. I grit my teeth at the prospect and try to suck down as much entonox as I can, but it still hurts like hell. I regain consciousness from the entonox/pain cocktail to discover my foot in a fresh plaster back slab, toasty and warm from the exothermic reaction of plaster of paris and water as it sets hard. Another trip to x-ray to verify the results. The nurse jokes that I’ll be glowing in the dark after all these x-rays! I make a quip about missing my breakfast, which results in her bringing me two lunches!
A visit from Grace today, who brought me some toiletries and supplies. A nice end to an otherwise unpleasant day.
Day 6
The usual ‘nil by mouth’ start to the day, but 10 o’clock comes and goes and no-one has looked at my foot, the nurses start saying things that don’t make much sense and there seems to be confusion about what’s happening, so I start to push back and eventually a doctor comes to have a look. He cuts open the back slab and I can immediately see the swelling has decreased. The doctor says it is ‘50/50’ and we agree to wait another day, but it seems like tomorrow I may get my operation. This doctor, an asian gentleman whose name I didn’t quite catch, is quite good because he takes time to explain things to me and basically, doesn’t assume I’m an idiot. I find that medics do tend to talk down to people, probably with justification, but I want all the specifics so this makes a pleasant change.
Because of the delay I miss breakfast but the nurse finds me some toast. Another day in bed with my leg up and occasional ice packs.
Day 7
Fasting from ‘early breakfast’ which means I get a cuppa at 0630 but nothing else. The registrar looks at my ankle, decides it is still too swollen and, critically, still displaced. The tibia is causing soreness on the inside ankle. He says to go ahead and eat breakfast, so I tuck in with gusto.
Shortly after breakfast, the consultant Mr. Sharma returns with the registrar to take a look. He decides that I need an ‘external fixator’ to hold the join firmly in place and allow the swelling to go down. This will involve some pins in the shin and heel bones and rods to lock them in position relative to each other. This should hold the joint firmly in position and allow the swelling to reduce, while eliminating the problematic back slab plaster cast. So, I’m now ‘nil by mouth’ until at least 4 o’clock which is the first chance to operate.
Almost on the dot, off to theatre at 4. In the pre-op room I’m wired up for monitoring, in with a cannula and on with a face mask. The main anaesthetic goes in through the cannula and then some sort of gas, but I hardly have time to taste it before I’m out cold.
I awake to the sound of people calling my name and slowly the sensation of agony in my heel. I hear one voice ask if it hurts anywhere, and another say “yeah, look he’s in agony”. She’s not wrong. The physicians begin pumping me full of pain killers and gradually, over a few minutes, the pain eases to a tolerable level and we begin the trip back to the ward. After some more medication, I’m fine and comfortable and desperate for a drink (intubation during the surgery apparently makes the throat dry and sore). The nurses are worried about nausea and vomiting, but I feel no side effects whatsoever. They make me wait an hour for my cup of tea though!
Today was a difficult day. The roller coaster from maybe surgery to no surgery to having an external fixator installed under general anaesthetic left me emotionally and physically drained and feeling a bit sorry for myself. I find myself reflecting on the few people who have helped me, but the umbrella emotion is one of disappointment in people who I thought might visit me, but who haven’t even managed a phone call. Once again, life reminds me that true friends can easily be counted on one hand. There have also been a precious few who really don’t know me all that well but who have been really supportive. It looks like I will be re-ordering my speed dial list. I am cheered up by Lucille, a really nice nurse on the night shift, who looks after me and makes sure I am comfortable through the night. Nurses, at least some of them, are really amazing people.
Day 8
The first day on which I have absolutely zero expectation of any surgery! It makes for a more relaxed day. However, my leg is very awkward to rest in a pain-free position. Plenty of oramorph consumed today but each time it seems to last for a shorter time before the pain returns. I’m not convinced that the background medication is working well enough as the oramorph is only supposed to ‘paper over the cracks’ and I seem to be relying on it for primary relief.
The physiotherapists visit me and instruct me in the correct use of a Zimmer frame, so I can get up and get around my cubicle.
Another visit from Lisa today! Lovely to see her, she can’t stay long but she thinks my external fixator is ‘much more sensible’ but teases me that it’s ‘minimalist’. Just as you thought size didn’t really matter
She also has a look at a dermatological condition I have on my legs and pulls some strings to get the dermatologist to look me over. I’ve known Lisa for over 15 years, when she was in medical school and we used to do a lot of caving together. I trust her absolutely and it is a great comfort to know she is close at hand.
The dermatologist arrives later and is obviously quite enthusiastic about his job, because he prescribes some skin wash, anti-itching cream, shampoo, beard lotion and whatnot. Result! Full beauty treatment.
I find it hard to get off to sleep because of foot pain, I try different types of pillow, gutter splint and so on until one of the nurses turns the gutter splint upside down and hits the jackpot, I can relax my leg with little discomfort, enough to let me sleep like a log for a few hours.
Day 9
I awake with no pain in my leg, but as soon as I elevate the bed, I feel nauseous and have a pain in my gut. They’ve been pumping me full of laxatives to counter the tendency of oramorph to cause constipation. They’re biting hard so I grab my Zimmer frame and head for my en-suite WC. I spend an exhausting hour in my en-siuite emptying fluids from three orifices simultaneously, while trying to prop up a throbbing leg and avoid catching any of the ‘scaffolding’ on anything. Somewhere in the middle of all this, a nurse shouts to offer me breakfast and I refuse; for me, that is a very bad sign. By the time I return to my bed, I’m spent. I flop in and try to get the leg comfortable, and doze off. Later I awake with another gut cramp and have to make a return visit to the WC, followed by more bed rest. All in all, not a very nice morning.
I’m smiling inside today as the nurses look at my medication chart with confused looks. The dermatologist has added all those creams and washes to my medication chart, I’m sure the nurses are unaccustomed to patients getting this treatment and they seem unsure what to do about it. I may be in for a shampoo and brush-up later, we shall see.
Before I know it, it’s lunch time and I don’t know where the morning went! My appetite returns right on cue though, so I’m able to eat a lamb roast and have a nice cuppa, starting to feel much better now and looking forward to some visitors later.
The nurses wake me at 10:30pm and tell me I'm moving to ward 6 because they need the beds for more urgent cases. At ward 6 they try to put me into an open bay but I kick up a stink and insist that I need a cubicle. Eventually they relent and put me in a cubicle on the understanding that I may have to vacate at no notice – I accept the risk. There is no en-suite and it’s smaller; I don’t really mind but the privacy is important to me. It’s not like me to grumble but making this stand was important as I am able to receive ‘sneak visitors’ out of hours and this allows me to conduct some small part of my business operations from my hospital bed. The cost is that some of the night nurses now think I am an ‘awkward customer’ and treat me quite coldly.
Day 10
An uneventful day for me personally, but some IT problems for one of my customers. They visit me with a laptop and a tethered 3G phone, I’m able to use their internet connection to sort things out. The stand I made last night on the cubicle is paying back big time.
A very nice nurse spends some quality time with me and changes the dressings around my pins and washes my foot, which is still covered in iodine from my last trip to theatre. This makes up for the coldness of the nurses I antagonised on the previous evening. Ward 6 is growing on me. The ward is less intense, the nurses are more relaxed and they have time to do things properly and follow through.
Day 11
The consultant Mr Sharma is almost happy with the condition of my ankle, the swelling is definitely reducing well, but no surgery today. I tell him I’m going stir crazy and we both grin, we’ve both heard it all before.
Lots of visitors today – both personal and business – thank heavens for that cubicle! Roy brought me a copy of Visual Studio as my laptop had an expired beta installed. Couple of customers stopped by with some IT issues and Grace stayed for a good spell. We decided to text Doc. Lisa to see if she was in the hospital and she was, so she joined Grace and I, the registrar (Harry) who's on my case happened to be on the ward and I ended up getting an impromptu informal consultation.
Speaking of cubicles, right in the middle of visiting hours the nurses tell me they need the cubicle for an elderly gentleman who is very ill and needs it more than I do. Drat! I’m moved to an open bay, one of six. Its not too bad really, they seem like a reasonable bunch.
Day 12
Just as I’ve got to know my ward-mates, the nurses inform me that I’m moving again. Apparently ward 6 only operates Monday-Friday, today is Friday, so I’m being shipped out to ward 2. It seems silly, even to me in hindsight, but changing wards is quite an emotional wrench, I hope this is the last time.
As I’m being wheeled in I spot Doc Lisa, I giver her a wave and she mouths ‘see you later’. As good as her word she returns and has another look at my ankle. She says shell take care of it on Monday. YES! The lads here get excited about the Wales England rugby match, the opening match of the 2011 world cup, but the only thing that has me exalting and punching the air is the thought of getting this unholy contraption off my leg. I long to be able to roll over onto my side or my front and get more comfortable. Of course, once I’ve had my ORIF (open reduction and internal fixation) I will have a plaster cast instead, I still will not be able to move my foot, but at least I’ll be able to roll over and put my leg down on the bed.
Ward 2 is elective orthopaedics, so the patients are having hip replacements, knee surgery and such like (so no trauma patients). I guess that makes me a bit of a misfit here. It’s a nice relaxed ward, no-one seems to be in a rush for anything and all the equipment seems to be well maintained, although my bay has no night-light.
Day 13
Saturday. Spending the weekend in a hospital bed, with little mobility. It’s getting increasingly difficult to get any relief from the constant discomfort of my broken ankle and its external fixator. I’m bored and uncomfortable. Killing time, killing time.
Ward 2 is really quite nice, the staff are chatty and they’re very thorough. It helps to pass the time a bit, but I’m really ready to get this e-fix off my leg.
Day 14
Nothing extraordinary going on today, just a lazy Sunday with nothing to do except watch TV, I have no choice because my bed is next to the TV and it is on whether I like it or not. I’ve tried doing some study, or working on some software, but between the constant distractions of the TV, nurses taking observations and doling out medication and the discomfort of my immobile leg, its just impossible to concentrate or make any progress.
I’m not going to mention any names here, but a small number of people have been very supportive over the last 2 weeks, I hope you all know who you are. Thank you. I never forget people who help me. Fingers crossed, tomorrow I will be practicing on my crutches.
Day 15
I’m fasting voluntarily today, no-one has told me to but I’m not taking any chances. Doc Lisa and her team arrive around 10 and she’s completely happy with the swelling, it’s almost completely gone now, so it is green light for my ORIF. I have visits from various nurses and members of the surgical team throughout the morning, consent forms are checked and double checked. After a discussion with the anaesthetist, and following a recommendation from Lisa, I opt for the spinal (epidural) anaesthetic. The idea is that it’s more ‘lightweight’ than a general and doesn’t have any of the nasty side effects. Finally, my trolley arrives and off I go to theatre.
The anaesthetist administers the epidural, with some difficulty in finding the correct spot, so it takes a few minutes. Apparently they have to find a very small space in the spine. I get a little light headed, cold and clammy and they note that my blood pressure is dropping. Eventually they hit the spot, I get a fierce burning sensation in my groin and left leg, they had warned me to expect ‘what may seem like an electric shock’. Things begin to go numb, my legs begin to get heavy and they lay me down on the trolley. The spinal block is tested by spraying a cold liquid on my arm, then up each leg and up my body until I can feel it again –I’m numb right up to my diaphragm and they declare it ‘a good block’.
Into theatre. It’s very reassuring to hear Doc. Lisa’s voice directing the proceedings. My legs are propped up, a screen is put up and work begins. I can hear lots of bustle and occasionally I’m aware that my legs are being moved or pushed, but no sensation at all, other than some half imagined ‘twinges’ in my foot. I hear the ‘plink’ of bits of metalwork being dropped into a dish, I assume this is the e-fix being removed. I hear Lisa explaining what she’s doing to some student medics, but it’s the only clue I have to what is going on. Talk about various brackets and whether the screws are self-tapping or not. The conversation wouldn’t be out of place at B&Q. The worst thing about the whole procedure is having to listen to the ‘beep, beep’ of my own heartbeat for an hour and a half, the sound is strangely disconcerting, especially when there is the occasional irregularity.
Operation all done, I’m wheeled out to the recovery room and monitored for 20 minutes, then sent back to the ward. Grace arrives after a while, nice to see a friendly face. I’m completely numb still and can’t move my legs, they slowly come round over the next couple of hours. The nurses have my leg up on the Braun frame again, as the anaesthetic wears off my ankle becomes very sore and uncomfortable. I find it impossible to find a position where I can fully relax my leg which doesn’t also strain my injury somehow. I spend a very uncomfortable and restless 5 hours trying to get comfortable. I’ve been trying to avoid using oramorph but I finally caved in and asked for a dose. It helped get me comfortable enough to drop off into a somewhat restless sleep.
Day 16
Things have settled down a great deal. The ankle is still sore and uncomfortable, but tolerably so. Amazing what a few hours sleep can do. I wash in bed today to avoid disturbing the ankle too much. Lisa visits me on her rounds and tells me that in view of the amount of swelling I had, she wants to do a wound check tomorrow, but apart from that I should be able to check out around midday tomorrow.
Later in the morning I see the physiotherapists and go over the use of a Zimmer frame again. They do like their zimmers, but I find them cumbersome. I know the ropes by now and they are happy and promise to return later with crutches, but they never do. They’d better do so tomorrow because I plan to be out of here! Other than that, a very uneventful day, I snooze in the afternoon to make up for lost sleep and watch the comings and goings of my ward-mates. By the end of the day, I am pain-free (apart from the occasional stabbing pain) and comfortable with nothing stronger than ordinary paracetamol.
Day 17
Shortly after breakfast I have a visit from the physiotherapists who set me up with a pair of crutches. They train me to negotiate stairs, and finally sign me off as able to be independently mobile. Great news, I’m getting out of here today!
The doctor calls me into the treatment room and opens up my backslab, to me it looks a real mess in there but doctor says it looks fine. The dressing on my shin (where the e-fix pins were) is changed then the cast is loosely bandaged back up just to hold it in place. This afternoon I’ll get a full cast that will be with me for 6 weeks.
And finally…
I can’t close this journal without a mention for all the people who’ve been there for me in my moment of need. Fern for keeping calm and doing all the right things and staying with me my first night in hospital even though it caused her considerable inconvenience; grace for her personal support and for taking the reigns of my business; Pam, Patrick and Paolo who’ve covered for me at the office; Roy and Madeleine for visiting, phoning and making sure I had something to occupy myself with; My good friend Lisa, for putting aside her personal reservations and doing the operation on my ankle. My patient customers (whom I can’t name for confidentiality reasons) who have been very understanding and accommodating. Thanks everyone. I owe you one.
Endnote: I hear rumours that the government plans to scrap the air-sea rescue helicopters. Even without my recent experience, I would think that a pretty bad way to save money. Cave and mountain rescue is run on a voluntary basis and there is no cost to the taxpayer, but they do rely on the support of the air-sea rescue vehicles for their most difficult situations. Air sea rescue provides a vital component of our emergency infrastructure and scrapping it would tragically weaken the service and would be an act of incredible stupidity. With rescue being a formal responsibility of the police force, surely the cost would simply transfer from the RAF to the Police, who do not have the experience, personnel or budget?