Smart health care will be a major application in future smart cities. Timely and precise delivery of patients’ data to their medical consultant, to allow the necessary actions, is one of the basic needs in health care systems. Blockchain technology, with the provisioning of recording and tracking of data blocks, guarantees secure and error-free data delivery. The vital sign data from patients’ sensors are placed in different data blocks. To become a part of the blockchain, the block must contain a valid key, based on a hash function. Mining nodes with high processing capabilities generate the required key using a 32-bit number, known as a nonce, which is changed for every new block. Finding a nonce that meets the hash function requirements is a time-intensive process in blockchain technology and is performed by several fog mining nodes. However, an efficient resource allocation that results in the fair placement of data in these fog mining nodes, while maintaining the priority and sensitivity of patients’ data, is a challenge. This work proposes two algorithms for the resource allocation of mining nodes. The first algorithm uses a load balancing technique to distribute the load of nonce computing tasks. The second algorithm utilizes the knapsack algorithm to allocate the caching space of the mining nodes. The simulation results highlighted that the proposed resource allocation techniques outperformed the existing techniques, in terms of quick mining of the most sensitive patient data blocks.