Beispiel #1
0
        /// <summary>
        /// Generate a random Healthcare Identifier for the type given
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        internal static string GenerateRandomHealthcareIdentifier(NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType type)
        {
            Random Random = new Random();
            int    RandomUniqueReference = Random.Next(0, 999999999);
            string UniqueReferenceNumber = RandomUniqueReference.ToString().PadLeft(9, '0');
            string CheckDigit            = CheckDigitAlgorithm.Luhn.GetCheckDigit(NationalHealthcareIdentifierParser._ValidIndustryCode + NationalHealthcareIdentifierParser._ValidCountryCode + GetNumberIssuerCodeForHealthcareIdentifierType(type) + UniqueReferenceNumber);

            return(NationalHealthcareIdentifierParser._ValidIndustryCode + NationalHealthcareIdentifierParser._ValidCountryCode + GetNumberIssuerCodeForHealthcareIdentifierType(type) + UniqueReferenceNumber + CheckDigit);
        }
Beispiel #2
0
        /// <summary>
        /// Converts the HealthcareIdentifierType enum to the appropriate integer required for the Identifier value
        /// </summary>
        /// <param name="Type"></param>
        /// <returns></returns>
        private static string GetNumberIssuerCodeForHealthcareIdentifierType(NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType Type)
        {
            switch (Type)
            {
            case NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType.Individual:
                return("0");

            case NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType.Provider:
                return("1");

            case NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType.Orginisation:
                return("2");

            default:
                throw new Exception($"No case statement for enum item of : {Type.ToString()}");
            }
        }
Beispiel #3
0
        /// <summary>
        /// Convertes the HealthcareIdentifierType enum to the apropirate interger required for the Identifier value
        /// </summary>
        /// <param name="Type"></param>
        /// <returns></returns>
        private static string GetNumberIssuerCodeForHealthcareIdentifierType(NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType Type)
        {
            switch (Type)
            {
            case NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType.Individual:
                return("0");

            case NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType.Provider:
                return("1");

            case NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType.Orginisation:
                return("2");

            default:
                throw new System.ComponentModel.InvalidEnumArgumentException(Type.ToString(), (int)Type, typeof(NationalHealthcareIdentifierParser.NationalHealthcareIdentifierType));
            }
        }