public ActionResult UpdateSPSStatus(object sender, EventArgs e, int id) { string host = System.Web.Configuration.WebConfigurationManager.AppSettings["HostIP"]; Int32 port = Int32.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["HostPort"]); TcpClient tcpclnt = new TcpClient(); string time = DateTime.Now.ToString("HHmmss"); string today = DateTime.Today.ToString("yyyyMMdd"); string todaydtime = DateTime.Now.ToString("yyyyMMddhhmmss.ffff"); string str = ""; //i4DBMWLV1Entities db = new i4DBMWLV1Entities(); //var users = db.tbl_mwls.Where(x => x.IsDeleted == false); tcpclnt.Connect(host, port); using (i4DBMWLV1Entities db = new i4DBMWLV1Entities()) { tbl_mwls mwllist = db.tbl_mwls.Where(x => x.pk == id).FirstOrDefault <tbl_mwls>(); if (mwllist.status == "Scheduled") { str = "MSH|^~\\&|MPA|SYSTEMA|IMPAX|MDRADAMB|200802210827||ORM^O01|MSG242081|P|2.3\r\n" + "PID|||" + mwllist.pat_id + "^^^mpa||" + mwllist.pat_name + "^||" + String.Format("{0:yyyyMMdd}", mwllist.pat_dob) + "|" + mwllist.pat_sex + "|||||||||||o" + mwllist.pat_id + "||||||||Arb.\r\n" + "PV1|1|O|||||3^Jack^Johnson|162^/" + mwllist.referring_physician + "^||||||||||EN01156|||||||||||||||||||||||||20050701174500|||||||\r\n " + "ORC|SC(CM)|1552234d43.1|||||^^^" + todaydtime + "^^3||20080220233838|MDIM-4A|ab^ab|A225021^Dietl^Christoph^^^OA Dr.|MDIM-4A_MDIM\r\n " + "OBR||1552234d47.1||ROE_CP^Cor pulmo^mpa^ROE_CP^CP^mpa||||||||||||A225021^Dietl^Christoph^^^OA Dr.||" + mwllist.acc_no + "|15234647.1|" + mwllist.pat_id + ".1||||DX|||^^^^2023480234^|"; mwllist.status = "Completed"; db.SaveChanges(); } else { str = "MSH|^~\\&|MPA|SYSTEMA|IMPAX|MDRADAMB|200802210827||ORM^O01|MSG242081|P|2.3\r\n" + "PID|||" + mwllist.pat_id + "^^^mpa||" + mwllist.pat_name + "^||" + String.Format("{0:yyyyMMdd}", mwllist.pat_dob) + "|" + mwllist.pat_sex + "|||||||||||o" + mwllist.pat_id + "||||||||Arb.\r\n" + "PV1|1|O|||||3^Jack^Johnson|162^/" + mwllist.referring_physician + "^||||||||||EN01156|||||||||||||||||||||||||20050701174500|||||||\r\n " + "ORC|SC(IP)|1552234d43.1|||||^^^" + todaydtime + "^^3||20080220233838|MDIM-4A|ab^ab|A225021^Dietl^Christoph^^^OA Dr.|MDIM-4A_MDIM\r\n " + "OBR||1552234d47.1||ROE_CP^Cor pulmo^mpa^ROE_CP^CP^mpa||||||||||||A225021^Dietl^Christoph^^^OA Dr.||" + mwllist.acc_no + "|15234647.1|" + mwllist.pat_id + ".1||||DX|||^^^^2023480234^|"; mwllist.status = "Scheduled"; db.SaveChanges(); } ASCIIEncoding asen = new ASCIIEncoding(); byte[] b1 = { 0x0B }; byte[] b2 = { 0x1C, 0x0D }; // add header an tail to message string byte[] ba = Combine(b1, asen.GetBytes(str), b2); Stream stm = tcpclnt.GetStream(); stm.Write(ba, 0, ba.Length); byte[] bb = new byte[600]; int k = stm.Read(bb, 0, 600); string s = System.Text.Encoding.UTF8.GetString(bb, 0, k - 1); //Label1.Text = s; tcpclnt.Close(); return(Json(new { success = true, message = "Record Successfuly Deleted" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult ClearHL7AllRec(object sender, EventArgs e) { try { string host = System.Web.Configuration.WebConfigurationManager.AppSettings["HostIP"]; Int32 port = Int32.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["HostPort"]); TcpClient tcpclnt = new TcpClient(); string time = DateTime.Now.ToString("HHmmss"); string today = DateTime.Today.ToString("yyyyMMdd"); string todaydtime = DateTime.Now.ToString("yyyyMMddhhmmss.ffff"); i4DBMWLV1Entities db = new i4DBMWLV1Entities(); var users = db.tbl_mwls.Where(x => x.IsDeleted == false); tcpclnt.Connect(host, port); foreach (var mwllist in users) { string str = "MSH|^~\\&|MPA|SYSTEMA|IMPAX|MDRADAMB|200802210827||ORM^O01|MSG242081|P|2.3\r\n" + "PID|||" + mwllist.pat_id + "^^^mpa||" + mwllist.pat_name + "^||" + String.Format("{0:yyyyMMdd}", mwllist.pat_dob) + "|" + mwllist.pat_sex + "|||||||||||o" + mwllist.pat_id + "||||||||Arb.\r\n" + "PV1|1|O|||||3^Jack^Johnson|162^/" + mwllist.referring_physician + "^||||||||||EN01156|||||||||||||||||||||||||20050701174500|||||||\r\n " + "ORC|CA| 1552234d43.1|||||^^^" + todaydtime + "^^3||20080220233838|MDIM-4A|ab^ab|A225021^Dietl^Christoph^^^OA Dr.|MDIM-4A_MDIM\r\n " + "OBR||1552234d47.1||ROE_CP^Cor pulmo^mpa^ROE_CP^CP^mpa||||||||||||A225021^Dietl^Christoph^^^OA Dr.||" + mwllist.acc_no + "|15234647.1|" + mwllist.pat_id + ".1||||DX|||^^^^2023480234^3|"; //try //{ ASCIIEncoding asen = new ASCIIEncoding(); byte[] b1 = { 0x0B }; byte[] b2 = { 0x1C, 0x0D }; // add header an tail to message string byte[] ba = Combine(b1, asen.GetBytes(str), b2); Stream stm = tcpclnt.GetStream(); stm.Write(ba, 0, ba.Length); byte[] bb = new byte[600]; int k = stm.Read(bb, 0, 600); string s = System.Text.Encoding.UTF8.GetString(bb, 0, k - 1); //Label1.Text = s; } tcpclnt.Close(); var itemsToDelete = db.Set <tbl_mwls>(); db.tbl_mwls.RemoveRange(itemsToDelete); db.SaveChanges(); return(Json(new { className = "success", success = true, message = "Modality Worklist Cleared" }, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(new { className = "warn", success = true, message = "Please make sure that PACS is running" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult AddEdit(tbl_mwls mwl) { //string dob = mwl.pat_dob; string time = DateTime.Now.ToString("HHmmss"); string today = DateTime.Today.ToString("yyyyMMdd"); using (i4DBMWLV1Entities db = new i4DBMWLV1Entities()) { if (mwl.pk == 0) { db.tbl_mwls.Add(mwl); db.SaveChanges(); string path = Server.MapPath("~/Files/dcmtk/mwlserver/wlistdb/I4MWLSERVER/" + mwl.pk + ".dump"); using (StreamWriter sw = System.IO.File.CreateText(path)) { //sw.WriteLine("(0008, 103E) LO " + mwl.sr_description); // SeriesDescription sw.WriteLine("(0008, 0005) CS [ISO_IR 100]"); // SpecificCharacterSet sw.WriteLine("(0008, 0050) SH [" + mwl.acc_no + "]"); // AccessionNumber sw.WriteLine("(0008, 0090) PN [" + mwl.referring_physician + "]"); // ReferringPhysician sw.WriteLine("(0008, 1110) SQ"); // ReferencedStudySequence sw.WriteLine("(fffe, e000) "); // Item sw.WriteLine("(fffe, e00d) "); // ItemDelimitationItem sw.WriteLine("(fffe, e0dd) "); // SequenceDelimitationItem sw.WriteLine("(0010, 0010) PN [" + mwl.pat_name + "]"); // PatientName sw.WriteLine("(0010, 0020) LO [" + mwl.pat_id + "]"); // PatientID sw.WriteLine("(0010, 0021) LO [i4KEENEYE]"); // IssuerOfPatientID sw.WriteLine("(0010, 0030) DA [" + String.Format("{0:yyyyMMdd}", mwl.pat_dob) + "]"); // PatientBirthDate sw.WriteLine("(0010, 0040) CS [" + mwl.pat_sex + "]"); // PatientSex sw.WriteLine("(0010, 1000) LO "); // RETIRED_OtherPatientIDs //sw.WriteLine("(0010, 1010) AS [43]"); // PatientAge sw.WriteLine("(0010, 2000) LO [MT]"); // MedicalAlerts sw.WriteLine("(0010, 2110) LO "); // Allergies sw.WriteLine("(0010, 2160) SH [E1]"); // EthnicGroup sw.WriteLine("(0010, 21b0) LT"); // AdditionalPatientHistory sw.WriteLine("(0010, 21c0) US 0"); // PregnancyStatus sw.WriteLine("(0010, 4000) LT"); // PatientComments //sw.WriteLine(" (0020,000d) UI 1.2.276.0.7230010.3.2.101" + mwllist.pk); // StudyInstanceUID dvtk prefix sw.WriteLine(" (0020,000d) UI 1.2.826.0.1.3680043.9.7308." + today + "." + time + ".792.1." + mwl.pk); // StudyInstanceUID myprefix "1.2.826.0.1.3680043.9.7308." + date + time + countrycode + no. sw.WriteLine("(0032, 1032) PN [IOM Radiologist]"); // RequestingPhysician sw.WriteLine("(0032, 1033) LO [RADIOLOGY]"); // RequestingService sw.WriteLine("(0032, 1060) LO [CHEST]"); // RequestedProcedureDescription sw.WriteLine("(0032, 1064) SQ "); // RequestedProcedureCodeSequence sw.WriteLine("(fffe, e000) "); // Item sw.WriteLine("(0008, 0100) SH [CHEST]"); // CodeValue sw.WriteLine("(0008, 0102) SH [i4MWLSERVER]"); // CodingSchemeDesignator sw.WriteLine("(0008, 0103) SH "); // CodingSchemeVersion sw.WriteLine("(0008, 0104) LO [CHEST]"); // CodeMeaning sw.WriteLine("(fffe, e00d) "); // ItemDelimitationItem sw.WriteLine("(fffe, e0dd) "); // SequenceDelimitationItem sw.WriteLine("(0038, 0050) LO "); // SpecialNeeds sw.WriteLine("(0040, 0100) SQ "); // ScheduledProcedureStepSequence sw.WriteLine("(fffe, e000) "); // Item sw.WriteLine("(0008, 0060) CS [DX]"); // Modality sw.WriteLine("(0032, 1070) LO "); // RequestedContrastAgent sw.WriteLine("(0040, 0001) AE [IOM_DADAAB"); // ScheduledStationAETitle sw.WriteLine("(0040, 0002) DA [" + today + "]"); // ScheduledProcedureStepStartDate sw.WriteLine("(0040, 0003) TM [" + time + "]"); // ScheduledProcedureStepStartTime sw.WriteLine("(0040, 0004) DA "); // ScheduledProcedureStepEndDate sw.WriteLine("(0040, 0005) TM "); // ScheduledProcedureStepEndTime sw.WriteLine("(0040, 0006) PN "); // ScheduledPerformingPhysiciansName sw.WriteLine("(0040, 0007) LO [CHEST]"); // ScheduledProcedureStepDescription sw.WriteLine("(0040, 0008) SQ "); // ScheduledProtocolCodeSequence sw.WriteLine("(fffe, e000) "); // Item sw.WriteLine("(0008, 0100) SH [CHEST PA]"); // CodeValue sw.WriteLine("(0008, 0102) SH [MWLSERVER]"); // CodingSchemeDesignator sw.WriteLine("(0008, 0104) LO [CHEST PA]"); // CodeMeaning sw.WriteLine("(fffe, e00d) "); // ItemDelimitationItem sw.WriteLine("(fffe, e0dd) "); // SequenceDelimitationItem sw.WriteLine("(0040, 0010) SH [IOM_DADAAB]"); // ScheduledStationName sw.WriteLine("(0040, 0012) LO "); // PreMedication sw.WriteLine("(0040, 0020) CS [SC]"); // ScheduledProcedureStepStatus sw.WriteLine("(0040, 0400) LT [h]"); // CommentsOnTheScheduledProcedureStep sw.WriteLine("(fffe, e00d) "); // ItemDelimitationItem sw.WriteLine("(fffe, e0dd) "); // SequenceDelimitationItem sw.WriteLine("(0040, 1002) LO "); // ReasonForTheRequestedProcedure sw.WriteLine("(0040, 1003) SH [N]"); // RequestedProcedurePriority sw.WriteLine("(0040, 1004) LO [CART]"); // PatientTransportArrangements sw.WriteLine("(0040, 1010) PN "); // NamesOfIntendedRecipientsOfResults sw.WriteLine("(0040, 1400) LT "); // RequestedProcedureComments sw.WriteLine("(0040, 2001) LO "); // RETIRED_ReasonForTheImagingServiceRequest sw.WriteLine("(0040, 2004) DA [" + today + "]"); // IssueDateOfImagingServiceRequest sw.WriteLine("(0040, 2400) LT [x-ray unit]"); // ImagingServiceRequestComments sw.WriteLine("(0040, 3001) LO [U]"); // ConfidentialityConstraintOnPatientDataDescription } string mwlaetpath = Server.MapPath("~/Files/dcmtk/mwlserver/wlistdb/I4MWLSERVER/"); string mwlbinpath = Server.MapPath("~/Files/dcmtk/bin"); //string dcmcjpeg = Path.Combine(@"D:\i4keeneye_apps\i4keeneyewav01\i4keeneyewav01\Files\dcmtk36232\bin", "dump2dcm.exe"); string dcmcjpeg = Path.Combine(mwlbinpath, "dump2dcm.exe"); var proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = dcmcjpeg; //proc.StartInfo.Arguments = @"-v D:\i4keeneye_apps\i4keeneyewav01\i4keeneyewav01\Files\dcmtk36232\wlistdb\OFFIS\\test3.dump D:\i4keeneye_apps\i4keeneyewav01\i4keeneyewav01\Files\\dcmtk36232\wlistdb\OFFIS\test3.wl"; proc.StartInfo.Arguments = @"-v " + mwlaetpath + mwl.pk + ".dump " + mwlaetpath + mwl.pk + ".wl"; //proc.StartInfo.RedirectStandardOutput = true; //proc.StartInfo.UseShellExecute = true; //proc.StartInfo.CreateNoWindow = true; proc.Start(); proc.WaitForExit(); return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet)); } else { db.Entry(mwl).State = EntityState.Modified; db.SaveChanges(); return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet)); } } }