The problem of missing data has in data analysis obtained considerable attention. In their reference book [1] Rubin and Little define three mechanisms behind data becoming missing (definitions from from https://en.wikipedia.org/wiki/Missing_data):
- MCAR: Values in a data set are missing completely at random (MCAR) if the events that lead to any particular data-item being missing are independent both of observable variables and of unobservable parameters of interest, and occur entirely at random
- MAR: Missing at random occurs when the missingness is not random, but where missingness can be fully accounted for by variables where there are completely observed
- MNAR: the value of the variable that's missing is related to the reason it's missing
In the example you give, whether a subject smokes or not, tends often to be missing. I would believe that MNAR is the case for smoking. Non-smokers have no problem with filling in this fact, whereas some (perhaps light) smokers can be reluctant to indicate a 'Yes'. So the missingness of 'Smoking' is most likely to indicate a smoker, but we don't know.
When MNAR is the case, you need to model the missing data mechanism as well. Being creative, it is possible to model a simple missing data mechanism with a neural network. You can represent the boolean variable (like smoker, yes/no) by one input neuron, with encoded input $1$ for smoker and $-1$ for non-smoker. Give the value $0$ as input to this neuron when the smoker variable is missing. Any weights connecting with the 'smoker input neuron' will have no influence on the further computation, because $0 \times w_{i\,j}=0$.
You don't have to adapt the training algorithm or the network topology for this solution to work for boolean and enumerated variables.
[1] Rubin, Donald B.; Little, Roderick J. A. (2002). Statistical analysis with missing data (2nd ed.). New York: Wiley