public VoiceInfoAutomat(List<string> patientenNameList, List<long> patientIDList) { state = State.init; this.patientenNameList = patientenNameList; this.currentPatient = null; patientComponent = new PatientDocumentationComponent(); this.patientenNameList = patientenNameList; this.patientIDList = patientIDList; patientList = patientComponent.GetAllPatients(); }
private void BtnEditData_Click(object sender, RoutedEventArgs e) { Patient dataClone = SystemCase.Data.Clone(); PatientData editPatientData = new PatientData(SystemCase.Data); if (editPatientData.ShowDialog() == false) { foreach (Patient patient in DynamicData.Patients) { if (dataClone.KVNR.Equals(patient.KVNR)) { this.SystemCase.Data = patient; break; } } } }
private static void Main() { var pd = new PatientData(); pd.GestationalAge.Value = 22.42857143; pd.FemurLength.Value = 59; var list = ResultsHelper.GetEmptyResults(pd); foreach (var r in list) { if (r.ZScoreable) { //System.Console.WriteLine(r.Name + ": " + r.Formula.GetZScore(3.2)); r.Formula.UseFL = true; Debug.WriteLine(r.Formula.GetZScore(3.2)); } } }
private void PatientMatchDelegate(PatientQuery patientResult, DicomDataSet ds) { PatientData patient = new PatientData( ); #if LEADTOOLS_V19_OR_LATER patient.BirthDate = (patientResult.PatientBirthDate == null) ? string.Empty : patientResult.PatientBirthDate.StartDate.Value.ToString( ); #else patient.BirthDate = (patientResult.PatientBirthDate == null) ? string.Empty : patientResult.PatientBirthDate.Value.ToString( ); #endif patient.Comments = patientResult.PatientComments; patient.ID = patientResult.PatientId; patient.Name = (string.IsNullOrEmpty(patientResult.PatientName)) ? string.Empty : patientResult.PatientName; patient.Sex = patientResult.PatientSex; patient.NumberOfRelatedInstances = ds.GetValue <string> (DicomTag.NumberOfPatientRelatedInstances, string.Empty); patient.NumberOfRelatedSeries = ds.GetValue <string> (DicomTag.NumberOfPatientRelatedSeries, string.Empty); patient.NumberOfRelatedStudies = ds.GetValue <string> (DicomTag.NumberOfPatientRelatedStudies, string.Empty); }
public PatientBaseViewModel PatientProfile(Guid accId) { PatientBaseViewModel result = new PatientBaseViewModel(); result.AccId = accId; try { PatientData dataLayer = new PatientData(); result = dataLayer.PatientProfile(accId); } catch (Exception err) { new LogHelper().LogMessage("PatientBusiness.PatientProfile : " + err); } return(result); }
public FormulairePatientViewModel() { try { singleUser = Singleton.getInstance(); _nav = SimpleIoc.Default.GetInstance <INavigation>(); CreateCommands(); ListeNom = PatientData.GetListeNom(); ListePrenom = PatientData.GetListePrenom(); Messenger.Default.Register <Singleton>(this, "Singleton", OnConnected); Messenger.Default.Register <bool>(this, "ConnInsc", ConnInsc); Messenger.Default.Register <bool>(this, "ConnSupp", ConnSupp); } catch (Exception ex) { GestionErreur.GerrerErreur(ex); } }
/// <summary> /// Calls the patient microservice API to get the name using the patient Id /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <PatientData> GetByIdAsync(int id) { var patientServiceName = new Uri($"{_serviceContext.CodePackageActivationContext.ApplicationName}/MedicalBookingSystem.Patient"); var patientServiceReverseProxyUrl = new Uri($"{APIGatewayConfiguration.ReverseProxyUri}{patientServiceName.AbsolutePath}"); var response = await _apiClient.GetAsync(patientServiceReverseProxyUrl + UrlsConfig.PatientOperations.GetPatientById(id.ToString())); PatientData patient = null; if (response.StatusCode == HttpStatusCode.OK) { var content = await response.Content.ReadAsStringAsync(); patient = JsonConvert.DeserializeObject <PatientData>(content); } return(patient); }
public void SavePatient_Test() { PatientData data = new PatientData { Id = "53f3c367d6a48508586bbace", FirstName = "Ellaha", LastName = "Bullock" }; PutUpdatePatientDataRequest request = new PutUpdatePatientDataRequest { Insert = true, Context = context, ContractNumber = contractNumber, UserId = userId, Version = version, PatientData = data }; IPatientDataManager pm = new PatientDataManager { Factory = new PatientRepositoryFactory() }; PutUpdatePatientDataResponse response = pm.UpdatePatient(request); Assert.IsNotNull(response); }
public void SupPatient() { try { if (MessageBox.Show(AxLanguage.Languages.REAplan_Supprimer_Confirmation, AxLanguage.Languages.REAplan_Confirmation, MessageBoxButton.YesNo) == MessageBoxResult.Yes) { Singleton single = Singleton.getInstance(); DateTime DateDeNaissance = Convert.ToDateTime(SelectResultRech.DateDeNaissance); PatientData.SupPatient(SelectResultRech.Nom, SelectResultRech.Prenom, DateDeNaissance); MessageBox.Show(AxLanguage.Languages.REAplan_Supprimer_Patient, AxLanguage.Languages.REAplan_Suppression, MessageBoxButton.OK, MessageBoxImage.Exclamation); ResultRech = new ObservableCollection <ListePatientDataGrid>(); using (ReaPlanDBEntities context = new ReaPlanDBEntities()) { ObjectSet <PatientDB> query = context.PatientDBs; ObjectResult <PatientDB> queryResult = query.Execute(MergeOption.AppendOnly); foreach (PatientDB result in queryResult) { if (result.Nom == SelectN || result.Prenom == SelectP) { if (single.PatientSingleton == null || (result.Nom != single.PatientSingleton.Nom || result.Prenom != single.PatientSingleton.Prenom || result.DateNaissance != single.PatientSingleton.DateNaiss)) { ListePatientDataGrid p = new ListePatientDataGrid(); p.Nom = result.Nom; p.Prenom = result.Prenom; p.DateDeNaissance = result.DateNaissance.ToShortDateString(); ResultRech.Add(p); } } } } ListeNom = GetListeNom(); ListePrenom = GetListePrenom(); NomPatient = null; PrenomPatient = null; } SimpleIoc.Default.GetInstance <INavigation>().NavigateTo <HomeViewModel>(null, "PostTraitementSupression", null, false); } catch (Exception ex) { GestionErreur.GerrerErreur(ex); } }
public async Task <string> OnAddExercisePressed() { if (!String.IsNullOrEmpty(_hours.Text)) { if (float.Parse(_hours.Text) > 0 && float.Parse(_hours.Text) <= 4) { DateTime timeNow = DateTime.Now.ToLocalTime(); PatientData patientData = new PatientData(); Patient patient; try { patient = await _restService.ReadPatientAsync(); } catch (Exception) { return("No Connection"); } PatientExercise patientExercise = new PatientExercise() { UserId = patient.UserId, HoursExercised = float.Parse(_hours.Text), TimeOfDay = timeNow }; patientData.PatientExercises.Add(patientExercise); await _restService.CreatePatientData(patientData); return("Success"); } else { return("That Number Is Not Valid"); } } else { return("The form is not filled out"); } }
public void LoadPatientData() { defaultLog.Write("Loading patient data"); string query = "SELECT PESEL, first_name, last_name FROM patient_data"; MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader data = cmd.ExecuteReader(); while (data.Read()) { UInt64 PESEL = Convert.ToUInt64((string)data["PESEL"]); string first_name = (string)data["first_name"]; string last_name = (string)data["last_name"]; PatientData p = new PatientData(first_name, last_name, PESEL, Global.dataSource); } data.Close(); }
private static List <MeasurementSpecification> PulmonaryVeinSpecs(PatientData pd) { var specs = new List <MeasurementSpecification>(); Dictionary <string, string> props = new Dictionary <string, string>(); props.Add("Cardiac Cycle Point", "End Systole"); specs.Add(new MeasurementSpecification("Pulm vein S wave", "Peak Velocity", new Dictionary <string, string>(props), "cm/s", formula: ImpactOfCardiacGrowthFormula.PulmVeinSWave(pd, "pulmonary venous S wave velocity"), unitEnum: SpeedUnit.CentimeterPerSecond)); props.Clear(); props.Add("Cardiac Cycle Point", "End Diastole"); specs.Add(new MeasurementSpecification("Pulm vein D wave", "Peak Velocity", new Dictionary <string, string>(props), "cm/s", formula: ImpactOfCardiacGrowthFormula.PulmVeinDWave(pd, "pulmonary venous D wave velocity"), unitEnum: SpeedUnit.CentimeterPerSecond)); props.Clear(); specs.Add(new MeasurementSpecification("Pulm vein A wave", "Peak Reversal Velocity during Atrial Contraction", new Dictionary <string, string>(props), "cm/s", formula: ImpactOfCardiacGrowthFormula.PulmVeinAWave(pd, "pulmonary venous A wave velocity"), unitEnum: SpeedUnit.CentimeterPerSecond)); specs.Add(new MeasurementSpecification("Pulmonary vein A wave duration", "A-Wave Duration", new Dictionary <string, string>(props), "ms", unitEnum: DurationUnit.Millisecond)); props.Clear(); return(specs); }
public static List <PatientData> GetPatientData(string bdResult) { var values = bdResult.Split('*'); var result = new List <PatientData>(); for (int i = 0; i < values.Length - 1; i += 5) { var patientData = new PatientData { FirstName = (values.GetValue(i) ?? "Not specified").ToString(), LastName = (values.GetValue(1 + i) ?? "Not specified").ToString(), Birthday = Convert.ToDateTime((values.GetValue(2 + i) != "") ? values.GetValue(2 + i) : new DateTime(1900, 1, 1)), Phone = (values.GetValue(3 + i) ?? "Not specified").ToString(), BloodType = (values.GetValue(4 + i) ?? "Not specified").ToString(), }; result.Add(patientData); } return(result); }
public PatientData DetailsOfPatient(PatientData patientData) { var patient = new PatientData { PatientName = patientData.PatientName, PhoneNumber = patientData.PhoneNumber, Gender = patientData.Gender, Age = patientData.Age, Address = patientData.Address, City = patientData.City, State = patientData.State, Country = patientData.Country }; DbContext.PatientDetails.Add(patient); DbContext.SaveChanges(); patientData.Id = patient.Id; return(patient); }
public List <PatientModel> RetreivePatientStatus(string idP) { PatientData patientData = new PatientData(); List <PatientModel> patientStatus = new List <PatientModel>(); List <PatientDTO> patientStatusDTO = patientData.GetPatientStatus(idP); foreach (PatientDTO status in patientStatusDTO) { PatientModel patientModel = new PatientModel { statusModel = new StatusModel { Date = status.statusDTO.Date, INR = status.statusDTO.INR } }; patientStatus.Add(patientModel); } return(patientStatus); }
public async Task <PatientData> ReadPatientDataAsync() { try { await _client.GetAsync(new Uri(_baseAddress) + "Auth/"); _token = new CancellationTokenSource(); _response = await _client.PostAsync(new Uri(_baseAddress + "Data/Read/"), null, _token.Token); _data = await _response.Content.ReadAsStringAsync(); PatientData patientData = JsonConvert.DeserializeObject <PatientData>(_data); return(patientData); } catch (Exception) { _token.Cancel(); return(null); } }
public IActionResult Post([FromBody] PatientModel obj) { var context = new ValidationContext(obj, null, null); var result = new List <ValidationResult>(); var isValid = Validator.TryValidateObject(obj, context, result, true); if (result.Count == 0) { PatientData dal = new PatientData(); dal.Database.EnsureCreated(); dal.Add(obj); //add in memory dal.SaveChanges(); //physical memory List <PatientModel> recs = dal.PatientModels.ToList <PatientModel>(); return(StatusCode(200, recs)); } else { return(StatusCode(500, (result))); } }
private static List <MeasurementSpecification> PulmonicValveSpecs(PatientData pd) { var specs = new List <MeasurementSpecification>(); Dictionary <string, string> props = new Dictionary <string, string>(); props.Add("Finding Site", "Cardiac valve annulus"); specs.Add(new MeasurementSpecification("Pulmonary valve annulus", "Diameter", new Dictionary <string, string>(props), "cm", formula: RegressionEquationFormula.PulmonaryValveAnnulus(pd, "Pulmonary valve annulus"), includeImageMode: true, unitEnum: LengthUnit.Centimeter)); props.Clear(); props.Add("Flow Direction", "Antegrade Flow"); specs.Add(new MeasurementSpecification("Pulmonary valve mean gradient", "Mean Gradient", new Dictionary <string, string>(props), "mmHg")); specs.Add(new MeasurementSpecification("Pulmonary valve peak gradient", "Peak Gradient", new Dictionary <string, string>(props), "mmHg")); specs.Add(new MeasurementSpecification("Pulmonary valve peak velocity", "Peak Velocity", new Dictionary <string, string>(props), "m/s", unitEnum: SpeedUnit.MeterPerSecond)); props.Clear(); props.Add("Flow Direction", "Regurgitant Flow"); specs.Add(new MeasurementSpecification("Pulmonary valve end diastolic velocity", "End Diastolic Velocity", new Dictionary <string, string>(props), "m/s", unitEnum: SpeedUnit.MeterPerSecond)); props.Clear(); return(specs); }
public int DeletePatientDocumentByPatientDocumentID(Int64 PatientDocumentID) { int _ReturnValue = 0; PatientData data = new PatientData(); OracleDataAccess.OracleCommandData _data = new OracleDataAccess.OracleCommandData(); try { _data._CommandType = CommandType.Text; _data.CommandText = "SELECT * FROM PATIENT_DOCUMENT where Patient_Document_ID=" + PatientDocumentID + "";// trim(DOC_CATEGORY_ID)=" + CategoryID + " AND trim(Patient_ID)='" + PatientID + "'"; _data.OpenWithOutTrans(); //Executing Query DataSet _ds = _data.Execute(OracleDataAccess.ExecutionType.ExecuteDataSet) as DataSet; data.dt = _ds.Tables[0]; data.isValid = true; if (_ds.Tables[0].Rows.Count > 0) { foreach (DataRow item in _ds.Tables[0].Rows) { FileHelper.DeleteFile(item["Path"].ToString()); _ReturnValue = 1; } } //string sQuery = "SELECT * FROM PatientTable "; // data.dt= new DBAction().ExecuteDataSetInline(sQuery).Tables[0]; } catch (Exception ex) { data.Error = ex.Message.ToString(); //throw; } finally { _data.Close(); } return(_ReturnValue); }
public async Task <string> DeletePatientDataAsync(PatientData patientData) { try { await _client.GetAsync(new Uri(_baseAddress) + "Auth/"); _token = new CancellationTokenSource(); //Serialize the patientCreationBundle and send it to the API. StringContent patientContent = new StringContent(JObject.FromObject(patientData).ToString(), Encoding.UTF8, "application/json"); _response = await _client.PostAsync(new Uri(_baseAddress + "Data/Delete/"), patientContent, _token.Token); _data = await _response.Content.ReadAsStringAsync(); return("Success"); } catch (Exception) { return("Failure"); } }
public static StructuredReport GetStructuredReport(DicomDataset ds) { var sr = new DicomStructuredReport(ds); PatientData pd = null; var findings = new Dictionary <string, List <MeasurementGroup> >(); foreach (var group in sr.Children()) { if (group.Type == DicomValueType.Container && group.Code.Value.Equals("121070")) { HandleFinding(findings, group); } else if (group.Type == DicomValueType.Container && group.Code.Value.Equals("121118")) { pd = new PatientData(group); } } var report = new StructuredReport(pd, findings); return(report); }
public ActionResult PopulateTimeSlot(TimeSlotViewModel model) { if (Session["userId"] == null) { return(Redirect("~")); } //model.Date = (DateTime)TempData["SelectedDateForAppointment"]; ScheduleBasedAppointmentManagement appointmentManagement = new ScheduleBasedAppointmentManagement(); var doctorAvailability = appointmentManagement.GetAvailability(model.DoctorId, model.Date); model.FromSlot = doctorAvailability.FromTime; model.ToSlot = doctorAvailability.ToTime; DoctorScheduleManagement doctorScheduleManagement = new DoctorScheduleManagement(); model.TimeSlots = new DoctorsData().GetDoctorAvailableTimeSlots(model.DoctorId, model.Date); var patientData = new PatientData(); int patientId = patientData.GetPatientIdIfExists(model.PatientPhone); model.RemoveExistingAppointmentSlots(patientId, model.Date); return(View(model)); }
public async Task <ActionResult <PatientData> > PostPatientData(PatientData patientData) { _context.PatientData.Add(patientData); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (PatientDataExists(patientData.PatientID)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetPatientData", new { id = patientData.PatientID }, patientData)); }
public void SentEmailNotification(AppointmentModel model, PractitionerBaseViewModel ptResult) { string mailFrom = ConstantHelper.AppSettings.MailFrom; string userName = ConstantHelper.AppSettings.UserName; string password = ConstantHelper.AppSettings.Password; try { PatientData patientDataLayer = new PatientData(); string patientEmail = patientDataLayer.GetPatientEmail(model.PatientId); if (!String.IsNullOrEmpty(patientEmail)) { //Sent notification email to patient string patientEmailSubject = ConstantHelper.Email.AppointmentVerification.AppointmentMadeSubject; string patientEmailBody = ConstantHelper.Email.AppointmentVerification.AppointmentMadeBody; //replace with appointment details DateTime tempAppointmentDateTime = Convert.ToDateTime(model.AppointmentDate.ToString()); string appointmentDetailsTable = "<table><caption>Appointment Details</caption><tr><th>Appointment Date</th><td>" + tempAppointmentDateTime.ToString("dd/MM/yyyy") + "</td></tr><tr><th>Appointment Time</th><td>" + tempAppointmentDateTime.ToString("hh:mm tt") + "</td></tr><tr><th>Company</th><td>" + ptResult.CompanyName + "</td></tr><tr><th>City</th><td>" + ptResult.City + "</td></tr><tr><th>Postal Code</th><td>" + ptResult.PostalCode + "</td></tr><tr><th>State</th><td>" + ptResult.State + "</td></tr><tr><th>Appointment Description</th><td>" + model.Description + "</td></tr><tr><th>Appointment Remarks</th><td>" + model.Remarks + "</td></tr></table>"; patientEmailBody = patientEmailBody.Replace(ConstantHelper.Email.Keyword.AppointmentDetails, appointmentDetailsTable); EmailHelper.SentMail(mailFrom, patientEmail, patientEmailSubject, patientEmailBody, userName, password); } PractitionerData practitionerDataLayer = new PractitionerData(); string practitionerEmail = practitionerDataLayer.GetPractitionerEmail(model.PractitionerId); if (!String.IsNullOrEmpty(practitionerEmail)) { //Sent notification email to practitioner string practitionerEmailSubject = ConstantHelper.Email.AppointmentVerification.NewAppointmentSubject; string practitionerEmailBody = ConstantHelper.Email.AppointmentVerification.NewAppointmentBody; //replace maybe link to practitionerLogin string practitionerLoginPage = "<a href='" + ConstantHelper.AppSettings.RootSiteUrl + ConstantHelper.API.Practitioner.PractitionerLogin + "'>Practitioner Login Page</a>"; practitionerEmailBody = practitionerEmailBody.Replace(ConstantHelper.Email.Keyword.PractitionerLoginPage, practitionerLoginPage); EmailHelper.SentMail(mailFrom, practitionerEmail, practitionerEmailSubject, practitionerEmailBody, userName, password); } } catch (Exception err) { new LogHelper().LogMessage("PatientBusiness.SentEmailNotification : " + err); } }
private void insertSinglePatientObservations(long id, List <Observation> observations) { registerCMs(); var filter = Builders <PatientData> .Filter.Eq(x => x.fhirID, id); PatientData pd; //PatientData toInsert = new PatientData(id, null, observations); try { pd = collection.Find(filter).FirstOrDefault(); if (pd.observations == null) { pd.observations = observations; } else { List <Observation> oldObservations = pd.observations; List <Observation> newObservations = new List <Observation>(); foreach (var obs in observations) { if (!oldObservations.Any(x => x.Id == obs.Id)) { newObservations.Add(obs); } } pd.observations = oldObservations.Concat(newObservations).ToList(); } collection.ReplaceOne(filter, pd); } catch (Exception e) { //no patient with that Id pd = new PatientData(id, null, observations); collection.InsertOne(pd); } }
public async Task <string> OnBloodSugarAddButtonPressed() { #region old code if (float.Parse(_level.Text) <= 1000 && float.Parse(_level.Text) > 0) { DateTime timeNow = DateTime.Now; PatientData patientData = new PatientData(); Patient patient; try { patient = await _restService.ReadPatientAsync(); } catch (Exception) { return("No Connection"); } PatientBloodSugar patientBlood = new PatientBloodSugar() { UserId = patient.UserId, ReadingType = (ReadingType)Enum.Parse(typeof(ReadingType), _readingType.SelectedItem.ToString()), Level = float.Parse(_level.Text), TimeOfDay = timeNow }; patientData.PatientBloodSugars.Add(patientBlood); await _restService.CreatePatientData(patientData); return("Success"); } else { return("Invalid Range"); } #endregion }
public void SavePatientsFromLocal(string _login, PatientData _data, string _imageKey, string _clipKey) { var data = new PatientSaveData( _data.PatientName, _data.PatientGender, _imageKey, _clipKey); if (_data.img != null) { SaveImage(_data.img.texture, _imageKey); } if (_data.nameClip != null) { SaveAudio(_data.nameClip, _clipKey); } var json = JsonUtility.ToJson(data); PlayerPrefs.SetString(_login, json); }
public void AddPatientInDataPanel(PatientData _data, string _identifier) { if (patientsDataContent == null) { return; } if (patientDataCardPref == null) { return; } var card = Instantiate(patientDataCardPref, patientsDataContent.transform); card.GetComponent <PatientDataCard>().Initialize(_data, _identifier); card.transform.SetAsFirstSibling(); UIInstruments.GetSizeForVerticalGroup( patientDatasLayoutGroup, patientsDataContent.transform.childCount, card.GetComponent <RectTransform>().sizeDelta.y *card.GetComponent <RectTransform>().localScale.y); }
void StartNewPatient() { //dialogLog.ClearLog(); dialogSelect.Clear(); currPatient = Instantiate(patients[currPatientId]); AudioSource callAS = AudioManager.Instance.PlayLoop(callSound, 0.15f); AudioManager.Instance.Play(systemMessageSound); dialogLog.AddToLog(DialogLogUI.LogEntryType.Servise, $"Call with <i>{currPatient.name}</i> started", onShowLog: () => { }); dialogSelect.AddButton("start", () => { AudioManager.Instance.ChangeASVolume(callAS, 0.0f, 0.25f); Destroy(callAS.gameObject, 1.0f); dialogSelect.Clear(); NodeLinkData narrativeData = currPatient.dialogue.NodeLinks.First(); //Entrypoint node ProceedToNarrative(narrativeData.TargetNodeGUID); }); }
private static List <MeasurementSpecification> PulmonaryArterySpecs(PatientData pd) { var specs = new List <MeasurementSpecification>(); Dictionary <string, string> props = new Dictionary <string, string>(); specs.Add(new MeasurementSpecification("Main pulmonary artery", "Diameter", new Dictionary <string, string>(props), "cm", formula: RegressionEquationFormula.MainPulmonaryArtery(pd, "Main pulmonary artery"), includeImageMode: true, unitEnum: LengthUnit.Centimeter)); props.Clear(); props.Add("Finding Site", "Left pulmonary artery"); specs.Add(new MeasurementSpecification("Left pulmonary artery", "Diameter", new Dictionary <string, string>(props), "cm", formula: RegressionEquationFormula.LeftPulmonaryArtery(pd, "Left pulmonary artery"), includeImageMode: true, unitEnum: LengthUnit.Centimeter)); specs.Add(new MeasurementSpecification("Left pulmonary artery peak gradient", "Peak Gradient", new Dictionary <string, string>(props), "mmHg")); specs.Add(new MeasurementSpecification("Left pulmonary artery peak velocity", "Peak Velocity", new Dictionary <string, string>(props), "m/s", unitEnum: SpeedUnit.MeterPerSecond)); props.Clear(); props.Add("Finding Site", "Right pulmonary artery"); specs.Add(new MeasurementSpecification("Right pulmonary artery", "Diameter", new Dictionary <string, string>(props), "cm", formula: RegressionEquationFormula.RightPulmonaryArtery(pd, "Right pulmonary artery"), includeImageMode: true, unitEnum: LengthUnit.Centimeter)); specs.Add(new MeasurementSpecification("Right pulmonary artery peak gradient", "Peak Gradient", new Dictionary <string, string>(props), "mmHg")); specs.Add(new MeasurementSpecification("Right pulmonary artery peak velocity", "Peak Velocity", new Dictionary <string, string>(props), "m/s", unitEnum: SpeedUnit.MeterPerSecond)); props.Clear(); return(specs); }
//TODO consider serializing before persisting, could take less space? private void insertSinglePatientQRs(long id, List <QuestionnaireResponse> QRs) { registerCMs(); var filter = Builders <PatientData> .Filter.Eq(x => x.fhirID, id); PatientData pd; try { pd = collection.Find(filter).FirstOrDefault(); if (pd.QRs == null) { pd.QRs = QRs; } else { List <QuestionnaireResponse> oldQRs = pd.QRs; List <QuestionnaireResponse> newQRs = new List <QuestionnaireResponse>(); foreach (var QR in QRs) { if (!oldQRs.Any(x => x.Id == QR.Id)) { newQRs.Add(QR); } } pd.QRs = oldQRs.Concat(newQRs).ToList(); } collection.ReplaceOne(filter, pd); } catch (Exception e) { //no patient with that Id pd = new PatientData(id, QRs, null); collection.InsertOne(pd); } }
private static List <MeasurementSpecification> MitralValveSpecs(PatientData pd) { var specs = new List <MeasurementSpecification>(); Dictionary <string, string> props = new Dictionary <string, string>(); specs.Add(new MeasurementSpecification("Mitral valve annulus", "Cardiovascular Orifice Diameter", new Dictionary <string, string>(props), "cm", formula: RegressionEquationFormula.MitralValveAnnulus(pd, "Mitral valve annulus"), includeImageMode: true, unitEnum: LengthUnit.Centimeter)); props.Clear(); props.Add("Flow Direction", "Antegrade Flow"); specs.Add(new MeasurementSpecification("Mitral valve E wave", "E-Wave Peak Velocity", new Dictionary <string, string>(props), "cm/s", formula: ImpactOfCardiacGrowthFormula.MitralValveEWave(pd, "Mitral valve E wave velocity"), unitEnum: SpeedUnit.CentimeterPerSecond)); specs.Add(new MeasurementSpecification("Mitral valve A wave", "A-Wave Peak Velocity", new Dictionary <string, string>(props), "cm/s", formula: ImpactOfCardiacGrowthFormula.MitralValveAWave(pd, "Mitral valve A wave velocity"), unitEnum: SpeedUnit.CentimeterPerSecond)); props.Clear(); props.Add("Image Mode", "Tissue Doppler Imaging"); specs.Add(new MeasurementSpecification("Mitral E/A ratio", "Peak E wave/Peak A wave by US", new Dictionary <string, string>(props), "", formula: ImpactOfCardiacGrowthFormula.MitralEA_Ratio(pd, "Mitral E/A ratio"))); props.Clear(); props.Add("Flow Direction", "Antegrade Flow"); specs.Add(new MeasurementSpecification("MV decel time", "Deceleration Time", new Dictionary <string, string>(props), "ms", formula: EchoManualFormula.MVDecelTime(pd, "mitral valve deceleration time"), unitEnum: DurationUnit.Millisecond)); props.Clear(); props.Add("Flow Direction", "Antegrade Flow"); specs.Add(new MeasurementSpecification("Mitral valve inflow mean gradient", "Mean Gradient", new Dictionary <string, string>(props), "mmHg")); props.Clear(); props.Add("Flow Direction", "Regurgitant Flow"); specs.Add(new MeasurementSpecification("Mitral valve regurgitation peak gradient", "Peak Gradient", new Dictionary <string, string>(props), "mmHg")); specs.Add(new MeasurementSpecification("Mitral valve regurgitation peak velocity", "Peak Velocity", new Dictionary <string, string>(props), "m/s", unitEnum: SpeedUnit.MeterPerSecond)); props.Clear(); specs.Add(new MeasurementSpecification("Mitral valve inflow A wave duration", "A-Wave Duration", new Dictionary <string, string>(props), "ms", unitEnum: DurationUnit.Millisecond)); specs.Add(new MeasurementSpecification("Myocardial Performance Index", "Myocardial Performance Index (Tei)", new Dictionary <string, string>(props), "")); props.Clear(); return(specs); }
private void ProcessRow(string row) { string[] rowData = row.Split('\t'); //if a trailing space, hard return, etc. This file is copied from a webpage and saved as a file. if (rowData.Length < 30) return; PatientData patData = new PatientData(); patData.HmoId = rowData[(int)CHG_ColumnMapping.HMO_ID].ToString().Trim(); //only process this record if the enrollment date is newer than 120 days patData.EffectiveDate = ParseYYYYMMDD(rowData[(int)CHG_ColumnMapping.EffectiveDate].ToString()); //set term date DateTime temp; patData.TermDate = null; patData.DOB = null; //is term date null or provided? if (ParseYYYYMMDD(rowData[(int)CHG_ColumnMapping.TermDate].ToString()) != DateTime.MinValue) patData.TermDate = ParseYYYYMMDD(rowData[(int)CHG_ColumnMapping.DOBYYYYMMDD].ToString()); patData.NGProviderId = GetProviderId(rowData[(int)CHG_ColumnMapping.ProviderID].ToString()).ToString(); //make sure address is there if (rowData[(int)CHG_ColumnMapping.Zip].ToString().Trim() != "") { patData.Address = rowData[(int)CHG_ColumnMapping.Address].ToString() + " " + rowData[(int)CHG_ColumnMapping.Address2].ToString(); patData.City = rowData[(int)CHG_ColumnMapping.City].ToString(); patData.State = rowData[(int)CHG_ColumnMapping.State].ToString(); patData.Zip = int.Parse(rowData[(int)CHG_ColumnMapping.Zip].ToString().Trim()); } patData.FirstName = rowData[(int)CHG_ColumnMapping.FirstName].ToString(); patData.LastName = rowData[(int)CHG_ColumnMapping.LastName].ToString(); patData.DOB = ParseYYYYMMDD(rowData[(int)CHG_ColumnMapping.DOBYYYYMMDD].ToString()); //CHGContracts contract; //patData.ContractId = Enum.TryParse<CHGContracts>(rowData[(int)CHG_ColumnMapping.Plan].ToString(), out contract) ? (int)contract : 0; Enum.TryParse<CHG_BusinessLines>(rowData[(int)CHG_ColumnMapping.Plan].ToString(), out _chgBusLine); patData.BusinessLine = (BusinessLines)_chgBusLine; if ((int)patData.BusinessLine == 0) { int x = 24; } patData.Payer = _payer; patData.Phone = rowData[(int)CHG_ColumnMapping.Phone].ToString().Trim(); currentMembers.Add(SavePatientRecord(patData)); }
public State EnterCommand(string command) { Debug.WriteLine("EnterCommand " + this.state); command.Trim(); switch(this.state){ case State.init: if (command.StartsWith("name")) { string patientName = command.Remove(0, 4).Trim(); foreach (PatientData patient in patientList) { if (patientName.Equals(patient.FirstName + " " + patient.SurName)) { this.state = State.cognitied; this.currentPatient = patient; } } } else if (command.StartsWith("id")) { long patientID = 0; if (command.Length <= 2) { return this.state; } try { patientID = Int64.Parse(command.Remove(0, 2).Trim()); } catch (FormatException) { this.currentPatient = null; return this.state; } foreach (PatientData patient in patientList) { if (patientID == patient.Id) { this.state = State.cognitied; this.currentPatient = patient; } } } break; case State.cognitied: if (command.Equals("master")) { this.state = State.master; } else if (command.Equals("operation")) { this.state = State.lastOperation; } else if (command.Equals("visit")) { this.state = State.lastVisit; } else if (command.Equals("reset")) { this.state = State.init; } break; case State.master: if (command.Equals("repeat")) { this.state = State.master; } else if (command.Equals("back")) { this.state = State.cognitied; } else if (command.Equals("reset")) { this.state = State.init; } else if (command.Equals("repeat")) { this.state = State.master; } break; case State.lastOperation: if (command.Equals("more")) { this.state = State.allOperation; } else if (command.Equals("back")) { this.state = State.cognitied; } else if (command.Equals("reset")) { this.state = State.init; } else if (command.Equals("repeat")) { this.state = State.lastOperation; } break; case State.lastVisit: if (command.Equals("more")) { this.state = State.allVisit; } else if (command.Equals("back")) { this.state = State.cognitied; } else if (command.Equals("reset")) { this.state = State.init; } else if (command.Equals("repeat")) { this.state = State.lastVisit; } break; case State.allOperation: if (command.Equals("back")) { this.state = State.cognitied; } else if (command.Equals("reset")) { this.state = State.init; } else if (command.Equals("repeat")) { this.state = State.allOperation; } break; case State.allVisit: if (command.Equals("back")) { this.state = State.cognitied; } else if (command.Equals("reset")) { this.state = State.init; } else if (command.Equals("repeat")) { this.state = State.allVisit; } break; default: break; } return this.state; }
/// <summary> /// Convert JSON Date /// </summary> /// <param name="jToken">Token</param> /// <returns>Patient Data Object</returns> /// <remarks></remarks> public static PatientData ConvertJsonDate(JToken jToken) { var data = new PatientData(); if (Utilities.IsJTokenValid(jToken)) { data.PatientOnSetAge = (jToken["patientonsetage"]).ToString(); data.PatientOnSetAgeUnit = (jToken["patientonsetageunit"]).ToString(); // patient.patientonsetageunit() //string //The unit of measurement for the patient.patientonsetage field. //800 = Decade //801 = Year //802 = Month //803 = Week //804 = Day //805 = Hour var patientSex = (int) data.PatientSex; int.TryParse((jToken["patientsex"]).ToString(), out patientSex); data.PatientSex = (PatientSex) patientSex; //data.patientsex = jToken("patientsex") // patient.patientsex() //string //The sex of the patient. //0 = Unknown //1 = Male //2 = Female data.PatientWeight = Utilities.GetJTokenString(jToken, "patientweight"); // KiloGrams if (Utilities.IsJTokenValid(Utilities.GetJTokenString(jToken, "patientdeath"))) { //data.PatientDeathDate = ConvertDateStringToDate(jToken("patientdeath")("patientdeathdate"), "yyyyMMdd") data.PatientDeathDate = DateTime.ParseExact((jToken["patientdeath"]["patientdeathdate"]).ToString(), "yyyyMMdd", CultureInfo.InvariantCulture); } data.Drug = DrugData.ConvertJsonData(jToken["drug"]); data.Reaction = ReactionData.ConvertJsonData(jToken["reaction"]); } return data; }
public OperationData(string operation, PatientProfile patientProfile) { Operation = operation; Patient = new PatientData(patientProfile); }
public static void WriteEEGStudioPatDataFile(PatientData patientData, String filePatData, String fileName) { StreamWriter writer = null; try { writer = new StreamWriter(filePatData, false, Encoding.GetEncoding(1251)); writer.WriteLine(fileName); writer.WriteLine(patientData.FullName); writer.WriteLine(String.Format("{0:dd.MM.yyyy}", patientData.Birthday)); writer.WriteLine(patientData.Gender); writer.WriteLine(""); //Код writer.WriteLine(patientData.Address); writer.WriteLine(patientData.Phone); writer.WriteLine(""); //место работы writer.WriteLine(patientData.Document); writer.WriteLine(""); //Direction writer.WriteLine(""); //Decease history writer.WriteLine(""); //Профессия writer.WriteLine(""); //Зарезервировано writer.WriteLine(""); //Наименование обследования writer.WriteLine(String.Format("{0:dd.MM.yyyy}", patientData.TimeStart)); writer.WriteLine(String.Format("{0:HH:mm:ss}", patientData.TimeStart)); writer.WriteLine(DateTime.Now.Year - patientData.Birthday.Year); //age writer.WriteLine(""); //Диагноз writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); //patientData.WriteLine(examination.Examiner != null ? examination.Examiner.Name : String.Empty); writer.WriteLine("0"); //рост writer.WriteLine("0"); //вес writer.WriteLine("1"); //Coeff writer.WriteLine("0"); //Edist writer.WriteLine("0"); //SPressure writer.WriteLine("0"); //DPressure writer.WriteLine("0"); //Blood } catch { throw new Exception("PatData Error"); } finally { if (writer != null) { writer.Close(); writer = null; } } }
private void ProcessRow(string row) { string[] rowData = row.Split(','); //if a trailing space, hard return, etc. This file is copied from a webpage and saved as a file. if (rowData.Length < 15 || rowData[(int)IEHP_ColumnMapping.Phone].ToString().ToLower() == "phone") return; /////////////////////////////////////////////////////// PatientData patData = new PatientData(); patData.HmoId = rowData[(int)IEHP_ColumnMapping.HMO_ID].ToString().Trim(); patData.Gender = rowData[(int)IEHP_ColumnMapping.Gender].ToString().Trim(); //only process this record if the enrollment date is newer than 120 days patData.EffectiveDate = DateTime.Parse(rowData[(int)IEHP_ColumnMapping.EffectiveDate].ToString()); //set term date DateTime temp; patData.TermDate = null; patData.DOB = null; //is term date null or provided? if (DateTime.TryParse(rowData[(int)IEHP_ColumnMapping.TermDate].ToString(), out temp)) patData.TermDate = DateTime.Parse(rowData[(int)IEHP_ColumnMapping.TermDate].ToString()); patData.NGProviderId = GetProviderId(rowData[(int)IEHP_ColumnMapping.IEHP_ProviderId].ToString()).ToString(); //TODO: Address has underscores. Get this file from server and compare what its doing. Remove underscores patData.Address = rowData[(int)IEHP_ColumnMapping.Address].ToString(); patData.City = rowData[(int)IEHP_ColumnMapping.City].ToString().Trim(); patData.State = rowData[(int)IEHP_ColumnMapping.State].ToString().Trim(); patData.Zip = int.Parse(rowData[(int)IEHP_ColumnMapping.Zip].ToString().Trim()); patData.FirstName = rowData[(int)IEHP_ColumnMapping.FirstName].ToString().Trim(); patData.LastName = rowData[(int)IEHP_ColumnMapping.LastName].ToString().Trim(); if (DateTime.TryParse(rowData[(int)IEHP_ColumnMapping.DOB].ToString(), out temp)) patData.DOB = DateTime.Parse(rowData[(int)IEHP_ColumnMapping.DOB].ToString()); //IEHPContracts contract; //patData.ContractId = Enum.TryParse<IEHPContracts>(rowData[(int)IEHP_ColumnMapping.Plan].ToString(), out contract) ? (int)contract : 0; Enum.TryParse<IEHP_BusinessLines>(rowData[(int)IEHP_ColumnMapping.Plan].ToString().Replace("-", "_"), out _iehpBusLine); patData.BusinessLine = (BusinessLines)_iehpBusLine; if ((int)patData.BusinessLine == 0) { int x = 24; } patData.Payer = _payer; patData.Phone = rowData[(int)IEHP_ColumnMapping.Phone].ToString().Trim(); currentMembers.Add(SavePatientRecord(patData)); }
private void ExcuteCommand(string executeFile, Guid examinationContext, string fileName, bool isNewExamination, string additionalParams = "", PatientData patientData = null) { if (moduleExchange == null) throw new Exception("Exchange module null reference error !!!"); if (File.Exists(executeFile) == false) throw new Exception("EEG Synapse executable file not found !!!"); // Запуск нового обследования if (isNewExamination == true) { // Создаем файл PatData.dat в папке конфига для обмена данными между базой и EEGStudio // Данные из PatData.dat применяются только при создании нового обследования PatientDataHelper.WriteEEGStudioPatDataFile(patientData, patDataFile, fileName); BeginProcess(examinationContext, executeFile, "-new", additionalParams); } else { String file = String.Format("\"{0}\"", fileName); BeginProcess(examinationContext, executeFile, file, additionalParams); } }
public OperationData(string operation, PatientProfile patientProfile, Order order) { Operation = operation; Patient = new PatientData(patientProfile); Order = new OrderData(order); }
protected int SavePatientRecord(PatientData patData) { bool isNewMember = false; payFileImportData fid = new payFileImportData(); //get patient record by hmoId chsi.dat.payNewPatients pat = (from patients in db.payNewPatients join payerIds in db.payPatientPayers on patients.payNewPatientId equals payerIds.payNewPatientId where payerIds.HMOId == patData.HmoId select patients).FirstOrDefault(); int patId = 0; if (pat == null) { _newMemberCount += 1; isNewMember = true; //if patient is not in the database, insert patient into database patId = chsi.dom.pay.NewPatients.AddToNewPatients(patData); } else { if (pat.Active == false) _newMemberCount += 1; //only update address, phone, and provider from file if not in nextgen if (pat.Address == null) { pat.Address = Upper(patData.Address); pat.City = Upper(patData.City); pat.State = Upper(patData.State); pat.Zip = patData.Zip; } if (pat.Phone == null) pat.Phone = patData.Phone; if (pat.NG_provider_id == null) { if (patData.NGProviderId != null) pat.NG_provider_id = patData.NGProviderId; } pat.EnrollmentDate = patData.EffectiveDate; pat.TermDate = patData.TermDate; pat.payPayerId = (int)_payer; if ((int)patData.BusinessLine != 0) pat.payBusinessLineId = (int)patData.BusinessLine; pat.Active = true; db.SaveChanges(); patId = pat.payNewPatientId; } _activeMemberCount += 1; UpdateFileImportData(patId, fileImport.payFileImport, isNewMember, false, patData.NGProviderId); return patId; }
public OperationData(string operation, PatientProfile patientProfile, Order order, IEnumerable<Procedure> procedures) { Operation = operation; Patient = new PatientData(patientProfile); Order = new OrderData(order); Procedures = procedures.Select(rp => new ProcedureData(rp)).ToList(); }
private void ProcessRow(DataRow row) { //if a trailing space, hard return, etc. This file is copied from a webpage and saved as a file. if (row.ItemArray.Length < 12 || row.ItemArray[(int)LIHP_ColumnMapping.Phone].ToString().ToLower() == "phone" || row.ItemArray[0].ToString().Trim() == "") return; PatientData patData = new PatientData(); patData.HmoId = row.ItemArray[(int)LIHP_ColumnMapping.HMO_ID].ToString().Trim(); //only process this record if the enrollment date is newer than 120 days patData.EffectiveDate = DateTime.Parse(row.ItemArray[(int)LIHP_ColumnMapping.EffectiveDate].ToString()); //set term date DateTime temp; patData.TermDate = null; patData.DOB = null; //is term date null or provided? if (DateTime.TryParse(row.ItemArray[(int)LIHP_ColumnMapping.TermDate].ToString(), out temp)) patData.TermDate = DateTime.Parse(row.ItemArray[(int)LIHP_ColumnMapping.TermDate].ToString()); //TODO: provider id hardcoded as "LIHP" patData.NGProviderId = GetProviderId("LIHP").ToString(); patData.Address = Upper(row.ItemArray[(int)LIHP_ColumnMapping.Address].ToString() + " " + row.ItemArray[(int)LIHP_ColumnMapping.Address2].ToString()); string[] cityState = row.ItemArray[(int)LIHP_ColumnMapping.CityState].ToString().Split(','); patData.City = cityState[0].Trim(); patData.State = cityState[1].Trim(); patData.Zip = int.Parse(row.ItemArray[(int)LIHP_ColumnMapping.Zip].ToString().Trim()); string[] name = row.ItemArray[(int)LIHP_ColumnMapping.FullName].ToString().Split(','); patData.FirstName = name[1].Trim(); patData.LastName = name[0].Trim(); if (DateTime.TryParse(row.ItemArray[(int)LIHP_ColumnMapping.DOB].ToString(), out temp)) patData.DOB = DateTime.Parse(row.ItemArray[(int)LIHP_ColumnMapping.DOB].ToString()); LIHPContracts contract; //patData.ContractId = Enum.TryParse<LIHPContracts>(row.ItemArray[(int)LIHP_ColumnMapping.Plan].ToString(), out contract) ? (int)contract : 0; patData.Payer = Payers.LIHP; patData.Phone = row.ItemArray[(int)LIHP_ColumnMapping.Phone].ToString().Trim(); currentMembers.Add(SavePatientRecord(patData)); }
private void talkPatient(PatientData patient) { if (patient == null) { return; } StringBuilder sb = new StringBuilder(); sb.Append("patient number: "); sb.Append(patient.Id); sb.Append(". "); sb.Append("firstname: "); sb.Append(patient.FirstName); sb.Append(". "); sb.Append("surname: "); sb.Append(patient.SurName); sb.Append(". "); sb.Append("birthdate: "); sb.Append(patient.DateOfBirth.ToLongDateString()); sb.Append(". "); sb.Append("weight: "); sb.Append(patient.Weight); sb.Append(". "); sb.Append("sex: "); sb.Append(patient.Sex.ToString()); sb.Append(". "); sb.Append("phone: "); sb.Append(patient.Phone); sb.Append(". "); sb.Append("address: "); sb.Append(patient.Address); sb.Append(". "); talk(sb.ToString()); }