public static IVitalSignGenerator GetDataGenerator(VitalSignType type) { IVitalSignGenerator vitalSignGenerator = null; switch (type) { case VitalSignType.SPO2: { vitalSignGenerator = spo2Generator; } break; case VitalSignType.PulseRate: { vitalSignGenerator = pulserateGenerator; } break; case VitalSignType.Temperature: { vitalSignGenerator = temperatureGenerator; } break; } return(vitalSignGenerator); }
public string GenerateVitalSignAsJson(string patientId) { StringBuilder m_stringBuilder = new StringBuilder(); double m_vitalSignValue = 0; //By default all vitals sign will be checked (enabled). //LstDefaultSign this property will give default list of vital sign List <VitalSign> lstVitalSign = GetEnabledVitalSignForPatient(patientId); m_stringBuilder.Append("{patientId: " + patientId); foreach (VitalSign vitalSign in lstVitalSign) { if (vitalSign.IsPatientVitalSignEnabled) { //It will take typeObj i.e spo2obj/pulserateObj/TemperatureObj //on the basis of object type patientVitalSignGenerator will be called. //vitalSignValue will take values of vital sign and append to stringBuilder. IVitalSignGenerator vitalSignGenerator = GetVitalSignGenerator(vitalSign.VitalSignType); m_vitalSignValue = vitalSignGenerator.PatientVitalSignGenerator(patientId); } m_stringBuilder.Append(", " + vitalSign.VitalSignType.ToString() + ": " + m_vitalSignValue.ToString()); } m_stringBuilder.Append("}"); return(m_stringBuilder.ToString()); }
//static object syncObject = new object(); public static IVitalSignGenerator GetDataGenerator(VitalSignContractLib.VitalSignType type) { IVitalSignGenerator vitalSignGenerator = null; //lock (syncObject) //{ switch (type) { case VitalSignContractLib.VitalSignType.SPO2: { //if (spo2Generator == null) //{ // spo2Generator = new Spo2Generator(); //} vitalSignGenerator = spo2Generator; } break; case VitalSignContractLib.VitalSignType.PulseRate: { //if (pulserateGenerator == null) //{ // pulserateGenerator = new PulserateGenerator(); //} vitalSignGenerator = pulserateGenerator; } break; case VitalSignContractLib.VitalSignType.Temp: { //if (temperatureGenerator == null) //{ // temperatureGenerator = new TemperatureGenerator(); //} vitalSignGenerator = temperatureGenerator; } break; } return(vitalSignGenerator); //string assemblyName = "Patient" + type.ToString() + "GeneratorLib"; //string className = type.ToString() + "Generator"; //Assembly assembly = Assembly.Load(assemblyName); //Type generatorType = assembly.GetType(className); //object vitalSignGenerator = Activator.CreateInstance(generatorType); //return vitalSignGenerator as IVitalSignGenerator; }
private IVitalSignGenerator GetVitalSignGenerator(VitalSignType vitalSignType) { IVitalSignGenerator vitalSignGenerator = null; foreach (IVitalSignGenerator tempVitalSignGenerator in m_lstVitalSignGenerator) { if (tempVitalSignGenerator.VitalSignType == vitalSignType) { vitalSignGenerator = tempVitalSignGenerator; break; } } return(vitalSignGenerator); }