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()); } }
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); }