Sha256: cd9d10644d314ae328c3dbae370c217a737c3179d06b791e4ea332cdf6a1ba77

Contents?: true

Size: 776 Bytes

Versions: 161

Compression:

Stored size: 776 Bytes

Contents

CREATE OR REPLACE FUNCTION generate_patient_secure_id()
  /*
    Generates and returns a unique base 58 token 24 characters long for use as a secure_id on
    the Renalware patients table. If the generated token is in use already (very unlikely) it
    retries until a unique one is generated.
    Example usage:
      select generate_patient_secure_id #=> 0KPNXf4X5x1o6O4mXWE5MC9H
    TC 8.6.2017
  */
  RETURNS varchar AS $$
  DECLARE
  new_secure_id varchar;
  BEGIN
  LOOP
    new_secure_id := generate_secure_id(24);
    EXIT WHEN NOT EXISTS(select 1 from patients where 'secure_id' = new_secure_id);
    RAISE NOTICE 'The generated secure_id % was already in use - now generating another', new_secure_id;
  END LOOP;
  RETURN new_secure_id;
  END
  $$ LANGUAGE plpgsql;

Version data entries

161 entries across 161 versions & 1 rubygems

Version Path
renalware-core-2.1.1 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.1.0 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.167 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.166 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.165 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.164 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.163 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.162 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.161 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.160 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.159 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.158 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.157 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.156 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.155 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.153 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.152 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.151 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.149 db/functions/generate_patient_secure_id_v01.sql
renalware-core-2.0.148 db/functions/generate_patient_secure_id_v01.sql