If you are applying for adjustment of status (a green card) in the United States, you will need to have a medical exam done. People applying for immigrant visas from overseas must also have a medical exam done, but the process is slightly different.
(Exceptions to the exam requirement are made for some people who had the exam done before they entered the United States, such as entrants on a K-1 fiancé visa; they can use the results of their earlier medical exam, which should already be in the local USCIS office’s files.)
Your medical exam can be conducted only by a USCIS-approved doctor. A list of these doctors is available on the "U.S. Civil Surgeons Locator" page of the USCIS website. You can also get this information by calling the Customer Service Center at 800-375-5283. The fee varies among doctors, so you might want to call a few before choosing one.
It is best to wait to have your medical exam done until close to the time when you plan to turn in your adjustment of status packet. That's because USCIS considers the results to be good for only one year. This is not based on any law, it is just USCIS policy. But that policy could change, so it is best to play it safe.
The doctor must fill out a USCIS Form, called an I-693, in order to report the results of your exam. In case the doctor you choose doesn't have the form on hand, you should download and print out the latest version from the Form I-693 page of the USCIS website.
For what happens during the exam, and the purpose of the exam, see "What the Medical Exam for a U.S. Green Card Involves."
Once all your results are in, the doctor will fill in the Form I-693 and return it to you in a sealed envelope. If you did indeed give the doctor a version of the form that was photocopied or downloaded from the Internet, remind the doctor to sign every page separately.
Do not open the report envelope—doing so will invalidate the results.