Example #1
0
        ///<summary>If a substitute exists for the given proc code, then it will give the CodeNum of that code.  Otherwise, it will return the codeNum for the given procCode.</summary>
        public static long GetSubstituteCodeNum(string procCode, string toothNum)
        {
            //No need to check RemotingRole; no call to db.
            if (procCode == null || procCode == "")
            {
                return(0);
            }
            if (!ProcedureCodeC.HList.Contains(procCode))
            {
                return(0);
            }
            ProcedureCode proc = (ProcedureCode)ProcedureCodeC.HList[procCode];

            if (proc.SubstitutionCode != "" && ProcedureCodeC.HList.Contains(proc.SubstitutionCode))
            {
                if (proc.SubstOnlyIf == SubstitutionCondition.Always)
                {
                    return(((ProcedureCode)ProcedureCodeC.HList[proc.SubstitutionCode]).CodeNum);
                }
                if (proc.SubstOnlyIf == SubstitutionCondition.Molar && Tooth.IsMolar(toothNum))
                {
                    return(((ProcedureCode)ProcedureCodeC.HList[proc.SubstitutionCode]).CodeNum);
                }
                if (proc.SubstOnlyIf == SubstitutionCondition.SecondMolar && Tooth.IsSecondMolar(toothNum))
                {
                    return(((ProcedureCode)ProcedureCodeC.HList[proc.SubstitutionCode]).CodeNum);
                }
            }
            return(proc.CodeNum);
        }
Example #2
0
        ///<summary></summary>
        public static bool ConditionIsMet(AutoCondition myAutoCondition, string toothNum, string surf, bool isAdditional, bool willBeMissing, int age)
        {
            //No need to check RemotingRole; no call to db.
            switch (myAutoCondition)
            {
            case AutoCondition.Anterior:
                return(Tooth.IsAnterior(toothNum));

            case AutoCondition.Posterior:
                return(Tooth.IsPosterior(toothNum));

            case AutoCondition.Premolar:
                return(Tooth.IsPreMolar(toothNum));

            case AutoCondition.Molar:
                return(Tooth.IsMolar(toothNum));

            case AutoCondition.One_Surf:
                return(surf.Length == 1);

            case AutoCondition.Two_Surf:
                return(surf.Length == 2);

            case AutoCondition.Three_Surf:
                return(surf.Length == 3);

            case AutoCondition.Four_Surf:
                return(surf.Length == 4);

            case AutoCondition.Five_Surf:
                return(surf.Length == 5);

            case AutoCondition.First:
                return(!isAdditional);

            case AutoCondition.EachAdditional:
                return(isAdditional);

            case AutoCondition.Maxillary:
                return(Tooth.IsMaxillary(toothNum));

            case AutoCondition.Mandibular:
                return(!Tooth.IsMaxillary(toothNum));

            case AutoCondition.Primary:
                return(Tooth.IsPrimary(toothNum));

            case AutoCondition.Permanent:
                return(!Tooth.IsPrimary(toothNum));

            case AutoCondition.Pontic:
                return(willBeMissing);

            case AutoCondition.Retainer:
                return(!willBeMissing);

            case AutoCondition.AgeOver18:
                return(age > 18);

            default:
                return(false);
            }
        }
Example #3
0
        ///<summary>If a substitute exists for the given proc code, then it will give the CodeNum of that code.
        ///Otherwise, it will return the codeNum for the given procCode.</summary>
        public static long GetSubstituteCodeNum(string procCode, string toothNum)
        {
            //No need to check RemotingRole; no call to db.
            long codeNum = 0;

            if (string.IsNullOrEmpty(procCode))
            {
                return(codeNum);
            }
            ODException.SwallowAnyException(() => {
                ProcedureCode procedureCode = _procedureCodeCache.GetOne(procCode);
                codeNum = procedureCode.CodeNum;
                if (!string.IsNullOrEmpty(procedureCode.SubstitutionCode))
                {
                    //Swallow any following exceptions because the old code would first check and make sure the key was in the dictionary.
                    ODException.SwallowAnyException(() => {
                        if (procedureCode.SubstOnlyIf == SubstitutionCondition.Always)
                        {
                            codeNum = _procedureCodeCache.GetOne(procedureCode.SubstitutionCode).CodeNum;
                        }
                        else if (procedureCode.SubstOnlyIf == SubstitutionCondition.Molar && Tooth.IsMolar(toothNum))
                        {
                            codeNum = _procedureCodeCache.GetOne(procedureCode.SubstitutionCode).CodeNum;
                        }
                        else if (procedureCode.SubstOnlyIf == SubstitutionCondition.SecondMolar && Tooth.IsSecondMolar(toothNum))
                        {
                            codeNum = _procedureCodeCache.GetOne(procedureCode.SubstitutionCode).CodeNum;
                        }
                    });
                }
            });
            return(codeNum);
        }