internal static string getString(AbstractSegment segment, int column, int rep) { NHapi.Base.Model.IType t = segment.GetField(column, rep); if (t is Varies) { return(((Varies)t).Data.ToString()); } else if (t is NHapi.Model.V24.Datatype.TS) { return(((NHapi.Model.V24.Datatype.TS)t).ToString()); } else if (t is NM) { return(((NM)t).Value); } else { throw new Exception("Unsupported HL7 type: " + t.TypeName); } }
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); }