Ejemplo n.º 1
0
 public void OrderTest()
 {
     try
     {
         const string rawHeader = @"Q|1|^^000663^32^@7^2^^S1^SC ||ALL||||||||O";
         var          order     = new CobasE411TestOrderRecord(rawHeader);
         Debug.WriteLine(order.Create());
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.ToString());
     }
 }
Ejemplo n.º 2
0
        private List <string> CreateOrderFrame(List <string> orderList)
        {
            var retList = new List <string>();

            //Tạo Header mới
            var newHeaderRecord = (CobasE411HeaderRecord)_clsHRecord.Clone();

            newHeaderRecord.CommentOrSpecialInstructions.Data = "TSDWN^REPLY";
            newHeaderRecord.SenderNameOrId.Data = ""; // _clsHRecord.ReveiverId.Data;
            newHeaderRecord.ReveiverId.Data     = ""; // _clsHRecord.SenderNameOrId.Data;

            //var sTemp = string.Format("{0}{1}{2}{3}", DeviceHelper.STX, "1", newHeaderRecord.Create(),DeviceHelper.ETB);
            //var checksum = DeviceHelper.GetCheckSumValue(sTemp);
            //retList.Add(string.Format("{0}{1}{2}",sTemp,checksum,DeviceHelper.CRLF));

            ////Add Patient Record
            //_clsPRecord.SequenceNumber.Data = "1";
            //_clsPRecord.PatientSex.Data = "U";
            ////_clsPRecord.LaboratoryAssignedPatientId.Data = _sQBarcode;

            //sTemp = string.Format("{0}{1}{2}{3}", DeviceHelper.STX, "2", _clsPRecord.Create(), DeviceHelper.ETB);

            //checksum = DeviceHelper.GetCheckSumValue(sTemp);
            //retList.Add(string.Format("{0}{1}{2}", sTemp, checksum, DeviceHelper.CRLF));

            string sTemp = newHeaderRecord.Create();

            _clsPRecord.SequenceNumber.Data = "1";
            sTemp = string.Concat(sTemp, _clsPRecord.Create());
            //_clsPRecord.PatientSex.Data = "U";
            //_clsPRecord.LaboratoryAssignedPatientId.Data = _sQBarcode;
            //Xử lý kết quả )
            if ((orderList != null) && (orderList.Count != 0))
            {
                //Add OrderRecord
                _clsORecord = new CobasE411TestOrderRecord();
                _clsORecord.SequenceNumber.Data = "1";
                _clsORecord.SpecimenId.Data     = _sQBarcode;
                string[] tempIsId = _clsQRecord.StartingRangeIdNumber.Data.Split(_clsQRecord.Rules.ComponentDelimiter);
                _clsORecord.InstrumentSpecimenId.Data = string.Join(_clsORecord.Rules.ComponentDelimiter.ToString(),
                                                                    new[]
                {
                    tempIsId[3], tempIsId[4], tempIsId[5],
                    tempIsId[6], tempIsId[7], tempIsId[8]
                });
                _clsORecord.UniversalTestId.Data = _clsORecord.CreateUniversalTestid(orderList);
                _clsORecord.Priority.Data        = "R";
                //_clsORecord.SpecimenCollectionDateAndTime.Data = DateTime.Now.ToString("yyyyMMddHHmmss");
                //_clsORecord.DateTimeResultReportedOrLastModified.Data = DateTime.Now.ToString("yyyyMMddHHmmss");
                _clsORecord.ActionCode.Data         = "A";
                _clsORecord.SpecimenDescriptor.Data = "1";
                _clsORecord.ReportTypes.Data        = "O";

                //sTemp = string.Format("{0}{1}{2}{3}", DeviceHelper.STX, "3", _clsORecord.Create(), DeviceHelper.ETB);
                sTemp = string.Concat(sTemp, _clsORecord.Create());

                //checksum = DeviceHelper.GetCheckSumValue(sTemp);
                //retList.Add(string.Format("{0}{1}{2}", sTemp, checksum, DeviceHelper.CRLF));

                _clsTRecord = new CobasE411TerminationRecord();
                //sTemp = String.Concat(DeviceHelper.STX, "4", _clsTRecord.Create(),DeviceHelper.ETX);
                //checksum = DeviceHelper.GetCheckSumValue(sTemp);
                //retList.Add(string.Format("{0}{1}{2}", sTemp, checksum, DeviceHelper.CRLF));

                sTemp = string.Concat(sTemp, _clsTRecord.Create());
            }
            else
            {
                _clsORecord = new CobasE411TestOrderRecord();
                _clsORecord.SequenceNumber.Data = "1";
                _clsORecord.SpecimenId.Data     = _sQBarcode;
                string[] tempIsId = _clsQRecord.StartingRangeIdNumber.Data.Split(_clsQRecord.Rules.ComponentDelimiter);
                _clsORecord.InstrumentSpecimenId.Data = string.Join(_clsORecord.Rules.ComponentDelimiter.ToString(),
                                                                    new[]
                {
                    tempIsId[3], tempIsId[4], tempIsId[5],
                    tempIsId[6], tempIsId[7], tempIsId[8]
                });
                _clsORecord.UniversalTestId.Data    = string.Empty;
                _clsORecord.Priority.Data           = "R";
                _clsORecord.ActionCode.Data         = "A";
                _clsORecord.SpecimenDescriptor.Data = "1";
                _clsORecord.ReportTypes.Data        = "O";
                sTemp = string.Concat(sTemp, _clsORecord.Create());
                //sTemp = String.Concat(DeviceHelper.STX, "3", _clsORecord.Create(), DeviceHelper.ETB);
                //checksum = DeviceHelper.GetCheckSumValue(sTemp);
                //retList.Add(string.Format("{0}{1}{2}", sTemp, checksum, DeviceHelper.CRLF));
                _clsTRecord = new CobasE411TerminationRecord {
                    TerminationCode = { Data = "N" }
                };
                sTemp = string.Concat(sTemp, _clsTRecord.Create());
                //sTemp = String.Concat(DeviceHelper.STX, "4", _clsTRecord.Create(),DeviceHelper.ETX);
                //checksum = DeviceHelper.GetCheckSumValue(sTemp);
                //retList.Add(string.Format("{0}{1}{2}", sTemp, checksum, DeviceHelper.CRLF));
            }
            if (sTemp.Length > 240)
            {
                string sTempFirst = string.Format("{0}{1}{2}{3}", DeviceHelper.STX, "1", sTemp.Substring(0, 240),
                                                  DeviceHelper.ETB);
                string checksum = DeviceHelper.GetCheckSumValue(sTempFirst);
                retList.Add(string.Format("{0}{1}{2}", sTempFirst, checksum, DeviceHelper.CRLF));
                string sTempSecond = string.Format("{0}{1}{2}{3}", DeviceHelper.STX, "2", sTemp.Substring(240),
                                                   DeviceHelper.ETX);
                checksum = DeviceHelper.GetCheckSumValue(sTempSecond);
                retList.Add(string.Format("{0}{1}{2}", sTempSecond, checksum, DeviceHelper.CRLF));
            }
            else
            {
                string sTempFirst = string.Format("{0}{1}{2}{3}", DeviceHelper.STX, "1", sTemp, DeviceHelper.ETX);
                string checksum   = DeviceHelper.GetCheckSumValue(sTempFirst);
                retList.Add(string.Format("{0}{1}{2}", sTempFirst, checksum, DeviceHelper.CRLF));
            }

            return(retList);
        }