First suggestion: Try it an see the result.
Second suggestion: make the sets small enough that you can check the results fairly quickly. If you have 1,000s of observations in both you might miss the needed behaviors.
The rules for how missing data are treated are best demonstrated by creating limited data sets, with missing in some of the NON-by variables and seeing the result. Which data is missing?
DOB and things like "specimen_date" in general are crappy matching variables unless there are other identification variables. Specimen_date in general I would say is likely not actually very useful for matching as it is extremely likely that the same person has multiple specimen_date values unless the specific purpose of the match is "test result" to specimen. I know that when I was going through some serious medical issues that "specimen_date" for some measures was sometimes 4 times per day and I don't want to image what the results of attempting to match that data with other things would result in.