Пример #1
0
 public OrderEntryForm2(SetupTableData setupTableData, GetSqlServer getSqlServer, Hospital hospital)
     : base(setupTableData, getSqlServer, hospital)
 {
     Load += orderentry_Load;
     InitializeComponent();
     groupTestToIndividualTest = new GroupTestToIndividualTest(getSqlServer);
 }
Пример #2
0
        public MainMenu(Hospital hospital)
            : base()
        {
            InitializeComponent();
            this.hospital = hospital;
            var setupTableData = new SetupTableData(getSqlServer, hospital);

            //setup buttons handlers
            new FormStart(ButtonOrderEntry, () => new OrderEntryForm2(setupTableData, getSqlServer, hospital));
            new FormStart(ButtonSmsArchiveTracking, () => new TrackSmsForm(getSqlServer));
            new FormStart(ButtonAliquotReprint, () => new AliquotForm(setupTableData,getSqlServer,hospital));
               //     new FormStart(ButtonPlaceAddon, () => new AddOnForm(setupTableData, getSqlServer, hospital));
            new FormStart(ButtonHemArchiveTracking, () => new TrackHemForm(getSqlServer));
            new FormStart(ButtonUrineHemTracking, () => new TrackUrineHemForm(getSqlServer));
            new FormStart(ButtonUrineChemTracking, () => new TrackUrineChemForm(getSqlServer));
            new FormStart(ButtonCoagArchiveTracking, () => new TrackCoagForm(getSqlServer));
            new FormStart(ButtonDowntimeRecovery, () => new RecoveryForm(getSqlServer));
            new FormStart(ButtonMolisEntry, () => new MolisEntry(getSqlServer));

            queries.Add("STAT Query", attributeQuery("WHERE o.priority = 'S'"));

            interactions.Add("Last Name Query", () => Interaction.InputBox("LastName", "EnterLastName"));
            queries.Add("Last Name Query", attributeQuery("WHERE o.LASTNAME='{0}'"));

            interactions.Add("Tracking Query", () => Interaction.InputBox("ordernumber", "enterordernumber"));
            queries.Add("Tracking Query", "SELECT [dttracking].ordernumber, dttracking.TRACKING, dttracking.TRACKINGCOMMENT, dttracking.tracklocation, dttracking.TIMESTAMP, dttracking.tracktechid FROM (dttracking) where dttracking.ordernumber = '{0}';");
            queries.Add("Tracking Query*", "SELECT * FROM dttracking where tracklocation = 'OT->STOR';");

            interactions.Add("Med Req Query", () => Interaction.InputBox("Med Req Number (Must Enter All 12 Digits - ############)", "EnterMedReqNumber"));
            queries.Add("Med Req Query", attributeQuery("WHERE o.mrn = '{0}'"));

            queries.Add("Coag Query", extensionQuery("23"));

            queries.Add("Chemistry Query",extensionQuery("00","79","40","19"));

            queries.Add("Bloodgas Query", extensionQuery("20"));

            queries.Add("Hematology Query", extensionQuery("18"));

            queries.Add("Urinalisys Query", extensionQuery("UA", "38", "26"));
        }
Пример #3
0
        public OrderBaseForm(SetupTableData setupTableData, GetSqlServer getSqlServer, Hospital hospital)
            : base()
        {
            InitializeComponent();
            this.setupTableData = setupTableData;
            this.getSqlServer = getSqlServer;
            this.hospital = hospital;
            #if DEBUG
            this.DebugButtonFill.Visible = true;
            #endif
            this.TextBoxTechId.Text = GlobalMutableState.userName;

            ComboboxPrinter.Items.AddRange(setupTableData.LabelersByIp.Keys.ToArray());
            comboBoxWard.Items.AddRange(setupTableData.wards);

            ComboboxPrinter.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            ComboboxPrinter.AutoCompleteSource = AutoCompleteSource.ListItems;
            comboBoxWard.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            comboBoxWard.AutoCompleteSource = AutoCompleteSource.ListItems;

            //use SchemaFilledTable to load the table layout
            testTable = getSqlServer.SchemaFilledTable("SELECT TOP 1 [Id], [Name], [Tube], [Location], [Extension], [DiTranslation] FROM [dbo].[TestsWithSpecimenExtension]");
            this.dataGridTests.DataSource = testTable;
        }
Пример #4
0
 public AliquotForm(SetupTableData setupTableData, GetSqlServer getSqlServer, Hospital hospital)
     : base(setupTableData, getSqlServer, hospital)
 {
     InitializeComponent();
 }
Пример #5
0
 public SpecimenType getSpecimenType(Hospital hospital, SetupTableData tableData)
 {
     return (hospital == Hospital.Strong)
        ?  new SpecimenType { extension = this.SpecimenExtension, diSpecimenType = tableData.DISpecimenTranslation.get(this.SpecimenType) }
        : new SpecimenType { extension = this.SpecimenExtensionHighland, diSpecimenType = tableData.DISpecimenTranslation.get(this.SpecimenTypeHighland) };
 }
Пример #6
0
        /// <summary>
        /// Print collection, comment, and (collection or aliquot) labels
        /// </summary>
        private static void _printLabels(ImmutableOrderData immutableOrderData, string printer,
            SetupTableData setupTableData, Func<LabelData,LabelData> configureLabels)
        {
            //PrintDowntimeLabels
            var labelData = new LabelData(immutableOrderData.orderNumber, immutableOrderData.priority,
                immutableOrderData.mrn, immutableOrderData.lastName, immutableOrderData.firstName, immutableOrderData.ward);

               configureLabels(labelData).doPrint(printer, setupTableData);
        }
Пример #7
0
        /// <summary>
        /// Print collection, comment, and (collection or aliquot) labels
        /// </summary>
        protected static void printLabels(ImmutableOrderData immutableOrderData, string printer, 
            SetupTableData setupTableData, IEnumerable<DataRow> orderedTests, LabelPrintMode testPrintMode)
        {
            Func<LabelData, LabelData> configureLabels = labelData =>
               {  //print collection label
                   //print collection label
                   labelData.LabelAppendDemographic(immutableOrderData.collectionTime, "", "");
                   labelData.LabelAppendDemographic(immutableOrderData.collectionTime, "", "");
                   //print comment label
                   labelData.LabelAppendComment(immutableOrderData.comment, "CMT", "");

                   var testBySpecimen = orderedTests.GroupBy(x =>
                       //group test DataRows by the SpecimenType
              new Tuple2<string,string> (x["Tube"].ToString(),  x["Extension"].ToString() ))
              .ToDictionary(
                grouped => grouped.Key,
                grouped => grouped.ToList().Select(dr => dr["Id"].ToString()).mkString(" ")
              );
                   testBySpecimen.forEach(specimenTest =>
                        labelData.AppendTestLabel(immutableOrderData.getPriority,
                        testPrintMode, specimenTest.Value,
                       specimenTest.Key._1, specimenTest.Key._2));

                   return labelData;
               };

               _printLabels(immutableOrderData, printer, setupTableData, configureLabels);
        }
Пример #8
0
        protected static void printDemographicLabelsOnly(ImmutableOrderData immutableOrderData, string printer,
            SetupTableData setupTableData)
        {
            Func<LabelData,LabelData> configureLabels = labelData =>
            {  //print collection label
                labelData.LabelAppendDemographic(immutableOrderData.collectionTime, "", "");
                labelData.LabelAppendDemographic(immutableOrderData.collectionTime, "", "");
                return labelData;
            };

            _printLabels(immutableOrderData, printer, setupTableData, configureLabels);
        }
Пример #9
0
        public void doPrint(string printer, SetupTableData setupTableData)
        {
            string PrinterDNSName = setupTableData.LabelersByIp[printer.ToUpper()].ToString();

            if (!PrinterDNSName.Contains("."))
            {

                getPathDirectory.Labels.SendPrinter(CodeBase2.DNS.NameToIPString(PrinterDNSName))
                    .PrintLabel(strNecessary.ToString());
            }
            else
            {
                getPathDirectory.Labels.SendPrinter(setupTableData.LabelersByIp[printer.ToUpper()])
                .PrintLabel(strNecessary.ToString());
            }
        }