A pump controlling device that is operable to control an insulin pump comprising: - a communications component that is operable to provide two-way communication with the insulin pump; - an input component configured to receive a request for the insulin pump to perform a requested operation, wherein initiating and completing the requested operation is dependent on the insulin pump being in a specified state, wherein the specified state comprises one of a run state in which the insulin pump is able to deliver insulin, a stop state in which the insulin pump is unable to deliver insulin, and a pause state in which the insulin pump is temporarily unable to deliver insulin, and wherein the requested operation comprises one of start pumping insulin and stop pumping insulin; and - a processor that is operable - to request a current operating state of the insulin pump from the insulin pump via the communications component in response to the request received from the input component, wherein the current operating state comprises one of the run state, the stop state, and the pause state, - to receive the current operating state of the insulin pump from the insulin pump via the communications component, - to determine whether the current operating state of the insulin pump matches to the specified state of the insulin pump, - in response to a determination that the current operating state of the insulin pump matches the specified state of the insulin pump, to send a command that corresponds to the request received from the input component, the command sent via the communications component to the insulin pump to perform the requested operation, characterized in that, - in response to a determination that the current operating state of the insulin pump does not match the specified state of the insulin pump, the processor sends a further command, via the communications component to the insulin pump, to change the current operating state of the insulin pump to the specified state of the insulin pump. - a communications component that is operable to provide two-way communication with the insulin pump; - an input component configured to receive a request for the insulin pump to perform a requested operation, wherein initiating and completing the requested operation is dependent on the insulin pump being in a specified state, wherein the specified state comprises one of a run state in which the insulin pump is able to deliver insulin, a stop state in which the insulin pump is unable to deliver insulin, and a pause state in which the insulin pump is temporarily unable to deliver insulin, and wherein the requested operation comprises one of start pumping insulin and stop pumping insulin; and - a processor that is operable - to request a current operating state of the insulin pump from the insulin pump via the communications component in response to the request received from the input component, wherein the current operating state comprises one of the run state, the stop state, and the pause state, - to receive the current operating state of the insulin pump from the insulin pump via the communications component, - to determine whether the current operating state of the insulin pump matches to the specified state of the insulin pump, - in response to a determination that the current operating state of the insulin pump matches the specified state of the insulin pump, to send a command that corresponds to the request received from the input component, the command sent via the communications component to the insulin pump to perform the requested operation, characterized in that, - in response to a determination that the current operating state of the insulin pump does not match the specified state of the insulin pump, the processor sends a further command, via the communications component to the insulin pump, to change the current operating state of the insulin pump to the specified state of the insulin pump. - to request a current operating state of the insulin pump from the insulin pump via the communications component in response to the request received from the input component, wherein the current operating state comprises one of the run state, the stop state, and the pause state, - to receive the current operating state of the insulin pump from the insulin pump via the communications component, - to determine whether the current operating state of the insulin pump matches to the specified state of the insulin pump, - in response to a determination that the current operating state of the insulin pump matches the specified state of the insulin pump, to send a command that corresponds to the request received from the input component, the command sent via the communications component to the insulin pump to perform the requested operation, characterized in that, - in response to a determination that the current operating state of the insulin pump does not match the specified state of the insulin pump, the processor sends a further command, via the communications component to the insulin pump, to change the current operating state of the insulin pump to the specified state of the insulin pump.