One thing you can do is simulate the situation described eg

```
(defun random-woman ()
(if ( (random 100.0) 1)
;; One percent of women have cancer
(cons 'cancer
(if ( (random 100.0) 80)
;; Of whom 80% test positive
'positive
'negative))
;; of the others
(cons 'well
(if ( (random 100.0) 9.6)
;; 9.6% false positives
'positive
'negative))))
(loop repeat 100
for (status . result) = (random-woman)
when (eql result 'positive)
count (eql status 'well) into false-positive
count (eql status 'cancer) into true-positive
finally (format t "~With ~D true positives and ~D false positives ~$% of positives are true positives."
true-positive
false-positive
(* 100 (/ true-positive
(+ false-positive true-positive)))))
```

With 2 true positives and 9 false positives 18.18% of positives are true positives.

This kind of Monte Carlo approach is hopeless if you want an accurate

answer, but it offers you something else instead.

Think of a typical primary care doctor. After he has ordered 100 mamograms and got the results of follow up investigations how do things appear. Running the simulation a few times

With 2 true positives and 5 false positives 28.57% of positives are true positives.

With 0 true positives and 12 false positives 0.00% of positives are true positives.

With 0 true positives and 11 false positives 0.00% of positives are true positives.

With 2 true positives and 10 false positives 16.67% of positives are true positives.

With 1 true positives and 5 false positives 16.67% of positives are true positives.

With 2 true positives and 18 false positives 10.00% of positives are true positives.

With 1 true positives and 10 false positives 9.09% of positives are true positives.

The results are all over the shop. So my guess is that doctors working in primary care have varied experiences with some seeing mamograms actually detecting cancers and others seeing only false positives.