Ejemplo n.º 1
0
        //Updates the Keys for the Cerner Collection when a ProcDetail is changed
        public bool bUpdateKey(CProcDetail oProcDetail)
        {
            bool temp = moProcDetails.ChangeKey(String.Format("{0:0000000000}", oProcDetail.lKey), (short)mnCatalogDispKey, oProcDetail.sCatalogDisp.ToUpper());

            temp = moProcDetails.ChangeKey(String.Format("{0:0000000000}", oProcDetail.lKey), (short)mnCatalogCdKey, oProcDetail.dCatalogCd.ToString());
            return(false);
        }
Ejemplo n.º 2
0
 public void AddCopyDetails(CProcDetail oNewProcDetail)
 {
     if (oNewProcDetail != null)
     {
         mlKey++;
         oNewProcDetail.lKey = mlKey;
         moProcDetails.Add(oNewProcDetail, String.Format("{0:0000000000}", oNewProcDetail.lKey), oNewProcDetail.sCatalogDisp.ToUpper(), oNewProcDetail.dCatalogCd.ToString(), null, null, null, null, null, null, null);
     }
 }
Ejemplo n.º 3
0
        //Gets the specific Procedure Detail based on its lKey
        public CProcDetail get_ItemByKey(string sIndexKey)
        {
            CProcDetail result = null;

            result           = (CProcDetail)moProcDetails.Item(String.Format("{0:0000000000}", Convert.ToInt32(sIndexKey)), mnKey);
            mnLastKey        = mnKey;
            moLastProcDetail = result;
            return(result);
        }
Ejemplo n.º 4
0
        //Returns a Deep Copy of the object
        public void Copy(CProcDetails oprocDetails, ref bool bCopyDurations, ref bool bCopyDefault)
        {
            CProcDetail oProcDetail = new CProcDetail();

            for (int lIndex = 1, iteratorTest = oprocDetails.Count; lIndex <= iteratorTest; lIndex++)
            {
                oProcDetail = new CProcDetail();
                oProcDetail.Copy(oprocDetails.get_ItemByKey(lIndex.ToString()), bCopyDurations, bCopyDefault);
                AddCopyDetails(oProcDetail);
            }
        }
Ejemplo n.º 5
0
        //Returns the next ProcDetail object in the collection using the current (previously used) key.
        public CProcDetail NextItem()
        {
            CProcDetail oNextItem = (CProcDetail)moProcDetails.Next();

            if (mnLastKey > 0)
            {
                return(ValidateNextItem(oNextItem));
            }
            else
            {
                return(oNextItem);
            }
        }
Ejemplo n.º 6
0
        //Adds two Collections together
        public void AddDetails(CProcDetails oNewProcDetails, CSurgAreas oAreas)
        {
            CProcDetail oNewProcDetail = null;

            for (int lIndex = 1, iteratorTest = oNewProcDetails.Count; lIndex <= iteratorTest; lIndex++)
            {
                oNewProcDetail = new CProcDetail();
                oNewProcDetail.Copy(oNewProcDetails[lIndex]);
                oNewProcDetail.dSurgProcDetailID = oAreas.lGetNewID();
                oNewProcDetail.oProcDurations.oDefaultProcDuration().dSurgProcDetailID = oNewProcDetail.dSurgProcDetailID;
                Add(oNewProcDetail);
            }
        }
Ejemplo n.º 7
0
        //Remove the old ProcDetail if necessary and replaces it with the Procedure Detail in the parameters
        public void Replace(CProcDetail oNewProcDetail, ref string sKey)
        {
            CProcDetail oProcDetail = new CProcDetail();

            if (!string.IsNullOrEmpty(sKey))
            {
                DeleteByKey(sKey);
            }
            oProcDetail.Copy(oNewProcDetail);
            oProcDetail.CopySegments(oNewProcDetail.obFileSegments);
            AddCopyDetails(oProcDetail);
            sKey = oProcDetail.lKey.ToString();
        }
Ejemplo n.º 8
0
        //Creates a new Procedure Detail which is blank
        public CProcDetail CreateBlankProcDetail(CSurgAreas oAreas)
        {
            CProcDetail oProcDetail = new CProcDetail();

            oProcDetail.dCatalogCd   = -1;
            oProcDetail.sCatalogDisp = System.String.Empty;
            oProcDetail.SetToAddedState();
            oProcDetail.dSurgProcDetailID = oAreas.lGetNewID();
            oProcDetail.dCaseLevelCd      = -1;
            oProcDetail.dSurgSpecialtyId  = -1;
            oProcDetail.dWoundClassCd     = -1;
            oProcDetail.dAnesthesiaTypeCd = -1;

            Add(oProcDetail);
            return(oProcDetail);
        }
Ejemplo n.º 9
0
        //Will validate if the next item matches the key and return the item if it does, nothing if it does not
        private CProcDetail ValidateNextItem(CProcDetail oNextItem)
        {
            CProcDetail result        = null;
            bool        bItemQualifys = false;

            //if the item passed in is nothing or the last item is nothing, return nothing
            if (moLastProcDetail == null || oNextItem == null)
            {
                moLastProcDetail = null;
                mnLastKey        = 0;
                //exit to return nothing
                return(result);
            }
            switch (mnLastKey)
            {
            case mnCatalogCdKey:
                if (oNextItem.dCatalogCd == moLastProcDetail.dCatalogCd && oNextItem.nState != Application.SNStateConstants.snStateDeleted)
                {
                    bItemQualifys = true;
                }
                break;

            case mnCatalogDispKey:
                if (oNextItem.sCatalogDisp == moLastProcDetail.sCatalogDisp && oNextItem.nState != Application.SNStateConstants.snStateDeleted)
                {
                    bItemQualifys = true;
                }
                break;

            default:
                bItemQualifys = false;
                break;
            }

            //check if item qualified and if so, return it
            if (bItemQualifys)
            {
                result = oNextItem;
            }
            else
            {
                //else reset the variables and exit (returning nothing)
                moLastProcDetail = null;
                mnLastKey        = 0;
            }
            return(result);
        }
Ejemplo n.º 10
0
        //Determines whether any of the Procedure Details have any errors
        public int bHasInvalidData()
        {
            CProcDetail oProcDetail = null;

            for (int lIndex = 1; lIndex <= Count; lIndex++)
            {
                oProcDetail = this[lIndex];
                if (oProcDetail.nState != Application.SNStateConstants.snStateDeleted)
                {
                    if (oProcDetail.bHasInvalidData())
                    {
                        return(-1);
                    }
                }
            }
            return(0);
        }
Ejemplo n.º 11
0
 //Gets the specific Procedure Detail based on an index
 public CProcDetail this[int lIndexKey]
 {
     get
     {
         CProcDetail result = null;
         if (moProcDetails != null)
         {
             if (moProcDetails.Count > 0)
             {
                 result           = (CProcDetail)moProcDetails.Item(lIndexKey, null);
                 mnLastKey        = 0;
                 moLastProcDetail = null;
             }
         }
         return(result);
     }
 }
Ejemplo n.º 12
0
        //Creates a copy of a Procedure Detail
        public CProcDetail oCreateCopiedProcDetail(CSurgAreas oAreas, CProcDetail oProcDetail)
        {
            CProcDetail   oNewProcDetail = new CProcDetail();
            CProcDuration oProcDur       = null;

            oNewProcDetail.Copy(oProcDetail, false, true);
            oNewProcDetail.SetToAddedState();
            oNewProcDetail.dSurgProcDetailID = oAreas.lGetNewID();

            for (int lDurIndex = 1, iteratorTest = oNewProcDetail.oProcDurations.Count; lDurIndex <= iteratorTest; lDurIndex++)
            {
                oProcDur = oNewProcDetail.oProcDurations[lDurIndex];
                oProcDur.dSurgProcDetailID = oNewProcDetail.dSurgProcDetailID;
            }

            Add(oNewProcDetail);
            return(oNewProcDetail);
        }
Ejemplo n.º 13
0
        //Gets the specific Procedure Detail based on its Procedure Catalog Code
        public CProcDetail get_ItemByCatalogCd(double dCatalogCd)
        {
            CProcDetail result = null;

            result           = (CProcDetail)moProcDetails.Item(dCatalogCd.ToString(), mnCatalogCdKey);
            mnLastKey        = mnCatalogCdKey;
            moLastProcDetail = result;
            if (result == null)
            {
                return(result);
            }
            if (result.dCatalogCd != dCatalogCd)
            {
                result           = null;
                moLastProcDetail = null;
            }
            return(result);
        }
Ejemplo n.º 14
0
        //Gets all Procedure Details that are for the same Procedure within the Collection
        public CProcDetails oGetDuplicates(CProcDetail oProcDtl)
        {
            CProcDetails result = null;

            result = new CProcDetails();
            CProcDetail otempProcDtl = get_ItemByCatalogCd(oProcDtl.dCatalogCd);

            // cerdcc  -- overlook -1 as potential duplicate
            while (otempProcDtl != null)
            {
                if (otempProcDtl.dCatalogCd > 0)
                {
                    result.AddCopy(otempProcDtl);
                }
                otempProcDtl = NextItem();
            }
            return(result);
        }
Ejemplo n.º 15
0
        public bool DeleteByKey(string sKey)
        {
            CProcDetail oProcDetail = get_ItemByKey(sKey);

            if (oProcDetail == null)
            {
                return(false);
            }

            if (oProcDetail.nState == Application.SNStateConstants.snStateAdded)
            {
                RemoveByKey(sKey);
            }
            else
            {
                get_ItemByKey(sKey).SetToDeletedState();
            }
            return(false);
        }
Ejemplo n.º 16
0
        //Determines if the Procedure Detail already exists and if it does, marks all of them as a duplicate
        public CProcDetails CheckForDuplicates()
        {
            CProcDetails result   = null;
            CProcDetail  oProcDtl = null;

            for (int lIndex = 1; lIndex <= Count; lIndex++)
            {
                oProcDtl = this[lIndex];
                if (oProcDtl.nState != Application.SNStateConstants.snStateDeleted)
                {
                    if (!oProcDtl.bIsChecked || oProcDtl.oCatalog.bDuplicateError)
                    {
                        result = oGetDuplicates(oProcDtl);
                        result.MarkAsDuplicates = result.Count > 1;
                        oProcDtl.bIsChecked     = true;
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 17
0
        //Creates a new ProcDetail with default attributes
        public bool bCreateDefaultProcDetail(CProcedure oProcedure, CSurgAreas oAreas)
        {
            bool        result      = false;
            CProcDetail oProcDetail = new CProcDetail();

            if (oProcedure != null)
            {
                oProcDetail.dCatalogCd   = oProcedure.dCatalogCd;
                oProcDetail.sCatalogDisp = oProcedure.sProcedureName;
                oProcDetail.SetToAddedState();
                oProcDetail.dSurgProcDetailID = oAreas.lGetNewID();
                oProcDetail.dCaseLevelCd      = 0;
                oProcDetail.dSurgSpecialtyId  = 0;
                oProcDetail.dWoundClassCd     = 0;
                oProcDetail.dAnesthesiaTypeCd = 0;
                oProcDetail.oProcDurations.NewDefaultProcDuration(oProcDetail.dSurgProcDetailID);

                Add(oProcDetail);
                result = true;
            }
            return(result);
        }
Ejemplo n.º 18
0
        //collection dump routine.  Class will dump it's own variables then call to dump it's children
        public void PopulateCollectionDump(ref Cerner.PcsCollectionDumps.CCollectionDumpCtlr oDumps, string sParent)
        {
            CProcDetail oProcDetail = null;
            string      sKeyText    = String.Empty;

            oDumps.SetDump("mlKey", mlKey.ToString(), sParent + "mlKey", sParent, true);
            oDumps.SetDump("moLastProcDetail", System.String.Empty, sParent + "moLastProcDetail", sParent, true);
            if (moLastProcDetail != null)
            {
                moLastProcDetail.PopulateCollectionDump(ref oDumps, sParent + "moLastProcDetail");
            }

            //now loop through and dump all of it's children (items contains in the collection)
            for (int lIndex = 1, iteratorTest = moProcDetails.Count; lIndex <= iteratorTest; lIndex++)
            {
                oProcDetail = (CProcDetail)moProcDetails.Item(lIndex, null);
                sKeyText    = sParent + oProcDetail.lKey.ToString();
                //add a "key" node so our individual items are collapsable
                oDumps.SetDump("ProcDetail", oProcDetail.lKey.ToString(), sKeyText, sParent, false);
                //dump out item under that node
                oProcDetail.PopulateCollectionDump(ref oDumps, sKeyText);
            }
        }
Ejemplo n.º 19
0
        internal void SrvGet(SNCommon.CRequest oRequest, Instance hArea)
        {
            Instance    hProcs                 = null;
            CProcDetail oNewProcDetail         = null;
            Index       surg_proc_detail_index = new Index("SURG_PROC_DETAIL");

            if (oRequest.ReplyInstance.ToString().Contains(surg_proc_detail_index.Name))
            {
                if (hArea.GetListCount(surg_proc_detail_index) > 0)
                {
                    int lReplyCnt = hArea.GetListCount(surg_proc_detail_index);// oRequest.SNSrvGetItemCount(hArea, "surg_proc_detail") - 1;

                    for (int lIndex = 0; lIndex < lReplyCnt; lIndex++)
                    {
                        hProcs         = hArea.GetList(surg_proc_detail_index, lIndex);// oRequest.SNSrvGetItem(hArea, "surg_proc_detail", lIndex);
                        oNewProcDetail = new CProcDetail();
                        oNewProcDetail.SrvGet(oRequest, hProcs);
                        Add(oNewProcDetail);
                        oNewProcDetail = null;
                    }
                }
            }
        }
Ejemplo n.º 20
0
 //Adds a Copy of a Procedure Detail to the Collection by not updating its key
 public void AddCopy(CProcDetail oProcDetail)
 {
     moProcDetails.Add(oProcDetail, String.Format("{0:0000000000}", oProcDetail.lKey), oProcDetail.sCatalogDisp.ToUpper(), oProcDetail.dCatalogCd.ToString(), null, null, null, null, null, null, null);
 }