Get rid of the timer. They are awful things. As you have experienced they can just tie your system up doing nothing useful.
Both applications are "looking at" the same database, so sync is not relevant to your problem.
Personally I would the application in such a way that the user has to refresh a view and if they try to enter any data then the data is automatically refreshed for them. After all, I suspect the Doctor will be dealing with patients not watching his screen waiting for information to appear.
The SqlDependency class might be what you are looking for - see Solution 1 by maciej los here -
Is it possible to monitor multiple table data changes using SQL table dependency?[
^]
Given your current level of knowledge, I would just provide a refresh button to each user.