A Body Sensor Network (BSN) is a network of sensors that sense vital signs of a human body. The vital signs can be divided into two categories based on relevance with the life: critical and non-critical signs. The critical vital signs, or real-time messages (RTMs), should be transmitted within the deadlines, and they must not be collided. Also, the non-critical signs, or non-real-time messages (NRTMs), are required to be delivered with the best effort. In this paper, an on-demand MAC (OD-MAC) is proposed for BSN to provide real-time transmission,collision avoidance, and energy efficiency. The protocol is developed on IEEE 802.15.4 standard, and some specifications are modified to support those requirements. The OD-MAC changes the superframe structure dynamically to schedule RTMs and NRTMs. Those messages request bandwidth,and the network coordinator adaptively changes beacon interval and allocates slots to the messages. For evaluating the performance, duty cycle according to required utilization, delivery ratio, and energy efficiency are tested with simulations using NS2.