Пример #1
0
 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);
 }
Пример #2
0
 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);
 }
Пример #3
0
 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);
 }
Пример #4
0
 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"]);
 }
Пример #5
0
        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"]);
        }
Пример #6
0
        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"]);
        }
Пример #7
0
        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"]);
        }
Пример #8
0
        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);
        }