private void SetAtriaText(StructuredReport sr) { Atria += BoolResultToString(sr.ReportingOptions.AtriaSize); Atria += OptionsToString(sr.ReportingOptions.DilatedAtriaLeft); Atria += OptionsToString(sr.ReportingOptions.DilatedAtriaRight); Atria += OptionsToString(sr.ReportingOptions.HypoplasticAtriaLeft); Atria += OptionsToString(sr.ReportingOptions.HypoplasticAtriaRight); }
private void SetOtherText(StructuredReport sr) { Other = BoolResultToString(sr.ReportingOptions.NoPerciardialEffusion); Other = OptionsToString(sr.ReportingOptions.PerciardialEffusion); Other = BoolResultToString(sr.ReportingOptions.NoFetalHydrops); Other = BoolResultToString(sr.ReportingOptions.PleuralEffusion); Other = BoolResultToString(sr.ReportingOptions.Ascites); }
internal ReportSections(StructuredReport sr) { Situs = OptionsToString(sr.ReportingOptions.Situs); SystemicVeins = OptionsToString(sr.ReportingOptions.SystemicVeins); SetAtriaText(sr); SetAVValvesText(sr); SetVentriclesText(sr); SetOutletsText(sr); SetGreatArteriesText(sr); PulmonaryVeins = OptionsToString(sr.ReportingOptions.PulmonaryVeins); SetOtherText(sr); if (!sr.ReportingOptions.NoPerciardialEffusion.Value) { Other += OptionsToString(sr.ReportingOptions.PerciardialEffusion); } Conclusion = Conclusions(sr.ReportingOptions.Conclusion.Value); SignOff = SignOffs(sr.PatientData.ReportingDoctor.Value); }
private void SetAVValvesText(StructuredReport sr) { AVValves += OptionsToString(sr.ReportingOptions.AVConnection); AVValves += OptionsToString(sr.ReportingOptions.MitralValve1, sr.ReportingOptions.MitralValve2, sr.ReportingOptions.MitralValve3); AVValves += BoolResultToString(sr.ReportingOptions.MitralValveAtresia); AVValves += OptionsToString(sr.ReportingOptions.LAVV1, sr.ReportingOptions.LAVV2, sr.ReportingOptions.LAVV3); AVValves += ResultToString(sr.Results["Mitral valve annulus"]); AVValves += OptionsToString(sr.ReportingOptions.TriscupidValve1, sr.ReportingOptions.TriscupidValve2, sr.ReportingOptions.TriscupidValve3); AVValves += BoolResultToString(sr.ReportingOptions.TriscupidValveAtresia); AVValves += OptionsToString(sr.ReportingOptions.RAVV1, sr.ReportingOptions.RAVV2); AVValves += ResultToString(sr.Results["Tricuspid valve annulus"]); AVValves += ResultToString(sr.Results["Tricuspid valve regurgitation peak velocity"]); AVValves += ResultToString(sr.Results["Tricuspid valve regurgitation peak gradient"]); }
private void SetVentriclesText(StructuredReport sr) { Ventricles += OptionsToString(sr.ReportingOptions.VentricleFunction); Ventricles += BoolResultToString(sr.ReportingOptions.VentricularHypertrophy); Ventricles += ResultToString(sr.Results["Heart Rate"]); Ventricles += OptionsToString(sr.ReportingOptions.DilatedLV); Ventricles += OptionsToString(sr.ReportingOptions.HypertrophiedLV); Ventricles += OptionsToString(sr.ReportingOptions.ReducedLVFunction); Ventricles += OptionsToString(sr.ReportingOptions.HypoplasticLV); Ventricles += ResultToString(sr.Results["LV wall thickness"]); Ventricles += ResultToString(sr.Results["Septal wall thickness"]); Ventricles += ResultToString(sr.Results["LV EDD"]); Ventricles += ResultToString(sr.Results["LV length"]); Ventricles += ResultToString(sr.Results["LV IVRT"]); Ventricles += ResultToString(sr.Results["Myocardial performance index"]); Ventricles += OptionsToString(sr.ReportingOptions.DilatedRV); Ventricles += OptionsToString(sr.ReportingOptions.HypertrophiedRV); Ventricles += OptionsToString(sr.ReportingOptions.ReducedRVFunction); Ventricles += OptionsToString(sr.ReportingOptions.HypoplasticRV); Ventricles += ResultToString(sr.Results["RV wall thickness"]); Ventricles += ResultToString(sr.Results["RV EDD"]); Ventricles += ResultToString(sr.Results["RV length"]); Ventricles += BoolResultToString(sr.ReportingOptions.IntactVentricularSeptum); Ventricles += OptionsToString(sr.ReportingOptions.VSD1, sr.ReportingOptions.VSD2, sr.ReportingOptions.VSD3); Ventricles += BoolResultToString(sr.ReportingOptions.VSDDescription); Ventricles += ResultToString(sr.Results["Ventricular septal defect dimension"]); Ventricles += HighestResultToString(sr.Results["Cardiothoracic circumference ratio"], sr.Results["Cardiothoracic area ratio"]); Ventricles += ResultToString(sr.Results["Mechanical PR interval"]); }
private void SetGreatArteriesText(StructuredReport sr) { GreatArteries += OptionsToString(sr.ReportingOptions.LeftAorticArch1, sr.ReportingOptions.LeftAorticArch2); GreatArteries += ResultToString(sr.Results["Ascending aorta"]); GreatArteries += HighestResultToString(sr.Results["Aortic isthmus 3VV"], sr.Results["Aortic isthmus sagittal"]); GreatArteries += OptionsToString(sr.ReportingOptions.RightAorticArch1, sr.ReportingOptions.RightAorticArch2); GreatArteries += BoolResultToString(sr.ReportingOptions.BranchPulmonaryArteries); GreatArteries += ResultToString(sr.Results["Main pulmonary artery"]); GreatArteries += ResultToString(sr.Results["Right pulmonary artery"]); GreatArteries += ResultToString(sr.Results["Left pulmonary artery"]); GreatArteries += OptionsToString(sr.ReportingOptions.DuctusArteriosus1, sr.ReportingOptions.DuctusArteriosus2); GreatArteries += HighestResultToString(sr.Results["Ductus arteriosus 3VV"], sr.Results["Ductus arteriosus sagittal"]); GreatArteries += ResultToString(sr.Results["Ductus arteriosus peak velocity"]); GreatArteries += ResultToString(sr.Results["Descending aorta"]); }
private void SetOutletsText(StructuredReport sr) { Outlets += OptionsToString(sr.ReportingOptions.Ventriculoarterial); Outlets += BoolResultToString(sr.ReportingOptions.OutflowTracts); Outlets += OptionsToString(sr.ReportingOptions.AorticValve1, sr.ReportingOptions.AorticValve2, sr.ReportingOptions.AorticValve3); Outlets += ResultToString(sr.Results["Aortic valve annulus"]); Outlets += ResultToString(sr.Results["Aortic valve peak velocity"]); Outlets += ResultToString(sr.Results["Aortic valve peak gradient"]); Outlets += BoolResultToString(sr.ReportingOptions.AortaVSDOvveride); Outlets += BoolResultToString(sr.ReportingOptions.LossSinotubularJunction); Outlets += OptionsToString(sr.ReportingOptions.PulmonaryValve1, sr.ReportingOptions.PulmonaryValve2, sr.ReportingOptions.PulmonaryValve3); Outlets += ResultToString(sr.Results["Pulmonary valve annulus"]); Outlets += ResultToString(sr.Results["Pulmonary valve peak velocity"]); Outlets += ResultToString(sr.Results["Pulmonary valve peak gradient"]); }
public static string GenerateHTML(StructuredReport report, int fontSize) { List <string> l1, l2; var html = @"<html> <head> <link rel=""stylesheet"" href=""https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"" integrity=""sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z"" crossorigin=""anonymous""> <script src = ""https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"" integrity = ""sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV"" crossorigin = ""anonymous""></script> </head>" ; html += string.Format("<body style = \"font-size: {0}px;\">", fontSize); html += @"<p></p><img src=""https://i.ibb.co/k5KJw8p/letterheadplain2.jpg"" width=""100%""> <p><span style = ""font-size: 24px; font-weight: 700; text-decoration-line: underline;"">Fetal Echocardiogram Report</span><br />" ; /*html += @"<p></p> * <br/> * <br/> * <br/> * <br/> * <br/> * <br/> * <br/>";*/ html += string.Format("<table style = \"border-collapse: collapse; font-size: {0}px; width: 100%;\" cellpadding = \"0\"><tbody>", fontSize); var pd = report.PatientData; string age = Math.Floor(pd.PatientAge.Value).ToString(); if (pd.PatientAge.Value < 1) { age = Math.Floor(pd.PatientAge.Value * 12).ToString() + " mo"; } l1 = pd.PatientID.TableString(); l2 = pd.StudyDate.TableString(); html += AddPatientDataRow(l1, l2); l1 = pd.PatientName.TableString(); l2 = pd.EstimatedDueDate.TableString(); html += AddPatientDataRow(l1, l2); l1 = pd.PatientDOB.TableString(); l2 = pd.GestationalAge.TableString(); html += AddPatientDataRow(l1, l2); l1 = new List <string>() { pd.PatientAge.Name, age }; l2 = pd.FemurLength.TableString(); l2[1] = pd.FemurLength.Empty ? "" : l2[1]; html += AddPatientDataRow(l1, l2); l1 = pd.EchoType.TableString(); l2 = pd.ReasonForStudy.TableString(); html += AddPatientDataRow(l1, l2); l1 = new List <string>() { "", "" }; l2 = pd.ReferringPhysician.TableString(); html += AddPatientDataRow(l1, l2); html += @" </tbody> </table><br/> <p><span style = ""font-size: 24px; font-weight: 700; text-decoration-line: underline;"">Findings</span><br /> </p>" ; html += @" </tbody> </table> <p></p> <p></p>" ; html += string.Format(@"<div><span style = ""font-weight: bold;""> Situs - </span>{0}", report.Sections.Situs); html += string.Format(@"<div><span style = ""font-weight: bold;""> Systemic Veins - </span>{0}</div> ", report.Sections.SystemicVeins); html += string.Format(@"<div><span style = ""font-weight: bold;""> Atria - </span>{0}</div> ", report.Sections.Atria); html += string.Format(@"<div><span style = ""font-weight: bold;""> AV Valves - </span>{0}</div></div> ", report.Sections.AVValves); html += string.Format(@"<div><span style = ""font-weight: bold;""> Ventricles - </span>{0}", report.Sections.Ventricles); html += string.Format(@"<div><span style = ""font-weight: bold;""> Outlets - </span>{0}</div> ", report.Sections.Outlets); html += string.Format(@"<div><span style = ""font-weight: bold;""> Great Arteries - </span>{0}</div> ", report.Sections.GreatArteries); html += string.Format(@"<div><span style = ""font-weight: bold;""> Pulmonary Veins - </span>{0}</div> ", report.Sections.PulmonaryVeins); html += string.Format(@"<div><span style = ""font-weight: bold;""> Other - </span>{0}</div> ", report.Sections.Other); html += @"<div></div><br/><div><span style = ""font-weight: bold; text-decoration-line: underline;""> Conclusion </span></div>"; html += string.Format(@"<div>{0}</div><div><br/>", report.Sections.Conclusion); html += string.Format(@"<div><span style = ""font-weight: bold;""> Reporting - </span>{0}</div>", report.Sections.SignOff); html += "<br/></div></div><p></p><p></p></body></html>"; return(html); }