Skip to main content

Table 3 Processing of identifier and quasi-identifier

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

}