In this case, "should..." means "will most probably...." "am/is expected to be...." For example, someone asked me "Will you be free to chat on Monday morning?" I replied, "Yes, that time should work for me" meaning, "That time will most probably work for me" or "I expect that time to work for me."
When a speaker uses the word "should" they are 99.999% sure that what they are saying "should happen" is most likely going to happen. However, this still leaves a little bit of wiggle room in case what should have happened doesn't happen - so that they can not be blamed for being wrong.
So.... in your example "The doctor said it will take six weeks and I should be fine by then." The doctor is 99.99999% sure that you will be fine after six weeks. But at the same time, he is leaving his statement open incase you are not fine after six weeks.
I hope that makes sense! If you need, I can try to explain it some other way! Let me know :)