In this demo a pharmaceutical company is running a drug trial for a pain
control medication.  The trial two sites where participants visit for
drug administration and follow-up.  To make the trial completely fair,
half of the participants will receive a placebo dose, but the trial
sites do not know which participants receive real versus placebo doses.

The sponsoring pharmaceutical company would like to be able to peek at the
results of the ongoing trial, comparing real vs placebo patient outcomes
to see if they trial should continue or be shut down due to lack of solid
outcomes.  The pharmaceutical company has the only copy of a database of
the drug lot numbers which contains whether a lot is real or placebo, and
this information must remain under strict control.

Additionally, the trial sites have sensitive patient information.  To
guarantee patient privacy, only the barest of information can be returned
to the company -- namely the visit # (0 for the intake visit, 1 for the
first follow up, etc), and the patient reported pain level.

To generate reporting in the most private way, the results will be gathered
using TripleBlind's private set intersection (PSI) and join, aka Blind Join.
This operation automatically combines results from both sites, resulting in
a dataset containing only the "followup_no" and "pain_scale" values for
the placebos (as a control), and a similar for the real doses.

These values are plotted to visualize the results.

NOTE: This demo uses the "seaborn" and "matplotlib" libraries to generate the
plot.  In order to run the demo you will first need to manually add these via:
   pip install -r requirements.txt
