public IList <Medication> parse(string message) { PipeParser parser = new PipeParser(); RTB_K13 rtb_k13 = (RTB_K13)parser.Parse(message); string responseStatus = rtb_k13.QAK.QueryResponseStatus.Value; if (String.Equals("NF", responseStatus, StringComparison.CurrentCultureIgnoreCase)) { // TODO - see RxProfileDecoder.decode return(null); } if (!String.Equals("OK", responseStatus, StringComparison.CurrentCultureIgnoreCase)) { throw new MdoException("Received processing error: " + message); } int recordCount = Int32.Parse(rtb_k13.QAK.ThisPayload.Value); IList <Medication> meds = new List <Medication>(); for (int i = 0; i < recordCount; i++) { RDT rdt = rtb_k13.ROW_DEFINITION.GetRDT(i); meds.Add(buildMedication(rdt)); } return(meds); }
/// <summary> /// Returns first repetition of RDT (Table Row Data) - creates it if necessary. /// </summary> /// /// <exception cref="Exception"> Thrown when an exception error condition occurs. </exception> /// /// <returns> The rdt. </returns> public RDT GetRDT() { RDT ret = null; try { ret = (RDT)this.GetStructure("RDT"); } catch (HL7Exception e) { HapiLogFactory.GetHapiLog(GetType()).Error("Unexpected error accessing data - this is probably a bug in the source code generator.", e); throw new System.Exception("An unexpected error ocurred", e); } return(ret); }
/// <summary> Returns first repetition of RDT (Table Row Data) - creates it if necessary</summary> public virtual RDT getRDT() { RDT ret = null; try { ret = (RDT)this.get_Renamed("RDT"); } catch (NuGenHL7Exception) { throw new Exception(); } return(ret); }
internal Medication buildMedication(RDT rdt) { Medication med = new Medication(); med.OrderId = HL7Helper.getString(rdt, 13, 0); med.Refills = HL7Helper.getString(rdt, 11, 0); med.Quantity = HL7Helper.getString(rdt, 9, 0); med.DaysSupply = HL7Helper.getString(rdt, 10, 0); med.IssueDate = HL7Helper.getString(rdt, 4, 0); med.LastFillDate = HL7Helper.getString(rdt, 5, 0); med.StartDate = HL7Helper.getString(rdt, 6, 0); med.ExpirationDate = HL7Helper.getString(rdt, 7, 0); med.RxNumber = HL7Helper.getString(rdt, 1, 0); med.Id = HL7Helper.getString(rdt, 2, 0); med.Provider = new Author(); NHapi.Base.Model.IType provider = ((Varies)rdt.GetField(12, 0)).Data; if (provider is GenericComposite) { GenericComposite gc = (GenericComposite)provider; NHapi.Base.Model.IType[] components = gc.Components; med.Provider.Id = ((Varies)components[0]).Data.ToString(); med.Provider.Name = ((Varies)components[1]).Data.ToString() + ", " + ((Varies)components[2]).Data.ToString(); } else { med.Provider.Id = provider.ToString(); } med.Name = HL7Helper.getString(rdt, 3, 0); med.Sig = HL7Helper.getString(rdt, 20, 0); med.Detail = HL7Helper.getString(rdt, 19, 0); med.Status = HL7Helper.getString(rdt, 8, 0); return(med); }
///<summary> ///Removes the given RDT ///</summary> public void RemoveRDT(RDT toRemove) { this.RemoveStructure("RDT", toRemove); }
public async Task <ActionResult <DiveChartView> > Get(int mesurementid) { DiveChartView diveChartView = new DiveChartView { ListNDLPGD = new List <NDLGD>(), NDLPG_Result = new NDLGD(), ListSIC = new List <SIC>(), SIC_Result = new SIC(), ListRDT = new List <RDT>(), RDT_Result = new RDT(), //IrdtList = new List<I_RepetitiveDiveTimetable>(), //MrdtList = new List<M_RepetitiveDiveTimetable>() }; #region No Decompression Limits and Group Designation using var ndclconn = new SqlConnection("Data Source=BJS-SURFACE;Initial Catalog=DiveLogBook;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); { //NDCL using var cmdndcl = new SqlCommand("dbo.usp_PADINDLPGD", ndclconn) { CommandType = CommandType.StoredProcedure }; ndclconn.Open(); SqlDataReader ndclreader = await cmdndcl.ExecuteReaderAsync(); if (ndclreader.HasRows) { while (ndclreader.Read()) { diveChartView.NDLPG_Result = new NDLGD { PressureGroup = (string)ndclreader.GetValue(0), C35 = GetInt(ndclreader, 1), C40 = GetInt(ndclreader, 2), C50 = GetInt(ndclreader, 3), C60 = GetInt(ndclreader, 4), C70 = GetInt(ndclreader, 5), C80 = GetInt(ndclreader, 6), C90 = GetInt(ndclreader, 7), C100 = GetInt(ndclreader, 8), C110 = GetInt(ndclreader, 9), C120 = GetInt(ndclreader, 10), C130 = GetInt(ndclreader, 11), C140 = GetInt(ndclreader, 12), }; diveChartView.ListNDLPGD.Add(diveChartView.NDLPG_Result); } } } #endregion #region Surface Interval Credit Table (all times in minutes) using var sicconn = new SqlConnection("Data Source=BJS-SURFACE;Initial Catalog=DiveLogBook;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); { //SIC using var cmdsic = new SqlCommand("dbo.usp_PADISIC", sicconn) { CommandType = CommandType.StoredProcedure }; //cmdsic.Parameters.AddWithValue("@Mesurement", mesurementid); sicconn.Open(); SqlDataReader sicreader = await cmdsic.ExecuteReaderAsync(); if (sicreader.HasRows) { while (sicreader.Read()) { diveChartView.SIC_Result = new SIC() { StartingPressureGroup = (string)sicreader.GetValue(0), A = GetInt(sicreader, 1), B = GetInt(sicreader, 2), C = GetInt(sicreader, 3), D = GetInt(sicreader, 4), E = GetInt(sicreader, 5), F = GetInt(sicreader, 6), G = GetInt(sicreader, 7), H = GetInt(sicreader, 8), I = GetInt(sicreader, 9), J = GetInt(sicreader, 10), K = GetInt(sicreader, 11), L = GetInt(sicreader, 12), M = GetInt(sicreader, 13), N = GetInt(sicreader, 14), O = GetInt(sicreader, 15), P = GetInt(sicreader, 16), Q = GetInt(sicreader, 17), R = GetInt(sicreader, 18), S = GetInt(sicreader, 19), T = GetInt(sicreader, 20), U = GetInt(sicreader, 21), V = GetInt(sicreader, 22), W = GetInt(sicreader, 23), X = GetInt(sicreader, 24), Y = GetInt(sicreader, 25), Z = GetInt(sicreader, 26), }; diveChartView.ListSIC.Add(diveChartView.SIC_Result); } } }; #endregion #region RepetitiveDiveTimetable if (mesurementid == 35) { List <I_RepetitiveDiveTimetable> iresult = new List <I_RepetitiveDiveTimetable>(); iresult = await _divectx.I_RepetitiveDiveTimetable.ToListAsync(); foreach (var item in iresult) { RDT rdt = new RDT { ID = item.Id, Column_0 = item.Column_0, Depth = item.Depth, Z = item.Z, Y = item.Y, X = item.X, W = item.W, V = item.V, U = item.U, T = item.T, S = item.S, R = item.R, Q = item.Q, P = item.P, O = item.O, N = item.N, M = item.M, L = item.L, K = item.K, J = item.J, I = item.I, H = item.H, G = item.G, F = item.F, E = item.E, D = item.D, C = item.C, B = item.B, A = item.A, }; diveChartView.ListRDT.Add(rdt); } } else { List <M_RepetitiveDiveTimetable> mresult = new List <M_RepetitiveDiveTimetable>(); mresult = await _divectx.M_RepetitiveDiveTimetable.ToListAsync(); foreach (var item in mresult) { RDT rdt = new RDT { ID = item.Id, Column_0 = item.Column_0, Depth = item.Depth, Z = item.Z, Y = item.Y, X = item.X, W = item.W, V = item.V, U = item.U, T = item.T, S = item.S, R = item.R, Q = item.Q, P = item.P, O = item.O, N = item.N, M = item.M, L = item.L, K = item.K, J = item.J, I = item.I, H = item.H, G = item.G, F = item.F, E = item.E, D = item.D, C = item.C, B = item.B, A = item.A, }; diveChartView.ListRDT.Add(rdt); } } #endregion return(Ok(diveChartView)); }