Esempio n. 1
0
        // This will transmit the same patient arrival record to all 3 event hubs
        private async Task broadcastSinglePatient(int patientId)
        {
            PatientArrival arrivalRecord = this.generatePatientArrival(patientId);

            string record = arrivalRecord.ToString();

            Console.WriteLine("\n");
            Console.WriteLine("========================================================================");
            Console.WriteLine("Transmitting Patient Record to all event hubs");
            Console.WriteLine(record);

            await sendMessage(this.eventHubClientCA, record);
            await sendMessage(this.eventHubClientFL, record);
            await sendMessage(this.eventHubClientWA, record);
        }
Esempio n. 2
0
        private PatientArrival generatePatientArrival(int patientNumber)
        {
            var checkinTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");

            Random random = new Random();

            var patientId = HashUtils.SHA1HashStringForUTF8String(patientNumber + "");

            int    hospitalId       = random.Next(1, 6); // 1-5
            int    feedbackId       = random.Next(1, 9); // 1-8
            int    departmentPrefix = random.Next(0, 2);
            string departmentName   = departments[departmentPrefix];

            PatientArrival arrivalRecord = new PatientArrival(patientId, checkinTimestamp, hospitalId, departmentName, feedbackId);

            return(arrivalRecord);
        }
Esempio n. 3
0
        public IPatientArrival GeneratePatientArrival()
        {
            var patientId = GeneratorHelper.RandomNumericalValue(int.MaxValue);

            while (_patientIds.Contains(patientId))
            {
                s_logger.Trace("Patient {0} already exist. Generated new one...", patientId);
                patientId = GeneratorHelper.RandomNumericalValue(int.MaxValue);
            }
            var patientArrival = new PatientArrival(patientId,
                                                    _hospitals[GeneratorHelper.RandomNumericalValue(_hospitals.Count)].Id,
                                                    _diseases[GeneratorHelper.RandomNumericalValue(_diseases.Count)],
                                                    DateTime.Now);

            // Keep the new generated patient in the arrival list
            _patientsArrival[patientArrival.Disease.Priority].Add(patientArrival);
            _patientIds.Add(patientId);

            return(patientArrival);
        }