The developing world faces a series of health crises including HIV/AIDS and tuberculosis that threaten the lives of millions of people. Lack of infrastructure and trained, experienced staff are considered important barriers to scaling up treatment for these diseases. In this paper we explain why information systems are important in many healthcare projects in the developing world. We discuss pilot projects demonstrating that such systems are possible and can expand to manage hundreds of thousands of patients. We also pass on the most important practical lessons in design and implementation from our experience in doing this work. Finally, we discuss the importance of collaboration between projects in the development of electronic medical record systems rather than reinventing systems in isolation, and the use of open standards and open source software.