From: Design of a human-centric de-identification framework for utilizing various clinical research data
//S2. Processing of identifier HandleID(id, rule){     setRule = basicRule     CheckedRisk = CheckRisk(value1)     PermittedRisk = SetRisk(value2) //The Rule, ChkRisk, PermittedRisk can be customized.     For column = 1 to Number of columns{       if(CheckedRisk < PermittedRisk){         goto S3       }       if(classifiedID == DID){         returnedId = DeidentificationID(id, setRule) //Cryptography, Replacement, Elimination       CheckedRisk = CheckRisk(returnedId) //Risk evaluation (by each column)       } Next column     }     goto S3 } | //S3. Processing of quasi-identifier HandleQID(qid, level){     setLevel = basicLevel     CheckedRisk = CheckRisk(value1)     PermittedRisk = SetRisk(value2) //The Level, ChkRisk, PermittedRisk can be customized.     For column = 1 to Number of columns{       if(CheckedRisk < PermittedRisk){         goto S4       }       if(classifiedID == QID){         returnedQid = DeidentificationQID(qid, setLevel) //Suppression, Generalization, Perturbation,         CheckedRisk = CheckRisk(returnedQid) //Risk evaluation (by each column)       } Next column     }     goto S4 } |