First thing you need to learn to be able to do this properly is to understand how packets are sent and recieved in Mirage Source.. Once you understand that concept you should be able to do basically anything you need..
I'll quickly run through it now.. I'll use sending hp as an example.. The server gets the players hp and puts it in a packet.. The packet has a simple label.. The packet should look something like this:
"playerhp" & SEP_CHAR & PlayerHp & SEP_CHAR & END_CHAR
Now, as you can see, SEP_CHAR separates the packets individual sections of data. this allows the client to distinguish between what is data and what isnt.. The END_CHAR tells the client when the packet ends.. And well the PlayerHP pretty much speaks for itself.. Now, This is still server side.. By default mirage sends all packets as strings.. So you use the SendData method (oh god im turning all java.. arghh.. i hate the word method) to send the packet from the server to the client..
Now client side.. When a packet is recieved it runs the HandleData method.. (Arghh again with the method) Anyway, the first thing you need to do, is add in a nice little section, and If statement by default, to check to see if your PlayerHP packet has arrived. Now if you remember from the top section, our packet was called playerhp.. So you just go If packet name = playerhp then update label.. Thats basically it..
Once you understand this concept, you will be able to send data to the client from the server and vice versa.. Happy coding..