Exemplo n.º 1
0
        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);
        }