コード例 #1
0
        /// <summary>
        /// Inserts the new tariff script.
        /// </summary>
        /// <param name="practitionerTypeIds">
        /// The practitioner type ids.
        /// </param>
        /// <param name="fileItemCode">
        /// The file item code.
        /// </param>
        /// <param name="fileDoctorRecommendedUnit">
        /// The file doctor recommended unit.
        /// </param>
        /// <param name="tariffBaseUnitCost">
        /// The tariff base unit cost.
        /// </param>
        /// <param name="newTariffNotLoadedPath">
        /// The new tariff not loaded path.
        /// </param>
        /// <param name="dataAccessHelper">
        /// The data access helper.
        /// </param>
        private static void InsertNewTariffScript(
            string practitionerTypeIds, 
            string fileItemCode, 
            decimal fileDoctorRecommendedUnit, 
            TariffBaseUnitCost tariffBaseUnitCost, 
            string newTariffNotLoadedPath, 
            TariffsDataAccessHelper dataAccessHelper)
        {
            if (string.IsNullOrEmpty(practitionerTypeIds))
            {
                return;
            }

            var pathologyPractitionerTypes = practitionerTypeIds.Split(',');

            var units = fileDoctorRecommendedUnit.ToString(CultureInfo.InvariantCulture).Replace(',', '.');

            var section = dataAccessHelper.GetTariff(fileItemCode);

            /*DateTime? validFrom = tariffBaseUnitCost.ValidFrom;
            var currentDateTime = DateTime.Now;
            DateTime? validTo = tariffBaseUnitCost.ValidTo;
            
            if (validFrom != null && validFrom.Value.Year < currentDateTime.Year)
            {
                var financialEnd = FinancialYearHelper.GetFinancialYearEnd(validFrom.Value);
                 validTo = DateTime.Parse(financialEnd);
            }*/
            foreach (var practitionerTypeId in pathologyPractitionerTypes)
            {
                var sectionId = 0;

                if (section != null)
                {
                    sectionId = section.SectionID;
                }

                var validfromDate = tariffBaseUnitCost.ValidFrom;

                var financialStart = string.Empty;
                var financialEnd = string.Empty;

                if (validfromDate.HasValue)
                {
                    financialStart = FinancialYearHelper.GetFinancialYearStart(validfromDate.Value);
                    financialEnd =
                        FinancialYearHelper.GetFinancialYearEnd(
                            DateTime.ParseExact(financialStart, Constant.DateFormat, null));
                }

                var scriptLine =
                    string.Format(
                        "EXEC Medical.USP_MaintainMedicalTariff '{0}',{1},{2},{3},'{4}','{5}',{6},{7},{8},NULL,'{9}','{10}'", 
                        fileItemCode, 
                        Constant.CoidTariffTypeId, 
                        units, 
                        tariffBaseUnitCost.TariffBaseUnitCostID, 
                        financialStart, 
                        financialEnd, 
                        practitionerTypeId, 
                        Constant.VatConstId, 
                        sectionId, 
                        "Tariff Upload - Gazzette", 
                        DateTime.Now);

                newTariffNotLoadedPath.WriteToFile(scriptLine);
            }
        }
コード例 #2
0
        /// <summary>
        /// Inserts the tariff record.
        /// </summary>
        /// <param name="dataAccessHelper">
        /// The data access helper.
        /// </param>
        /// <param name="fileItemCode">
        /// The file item code.
        /// </param>
        /// <param name="recommendedUnits">
        /// The recommended units.
        /// </param>
        /// <param name="correctBaseUnitCost1">
        /// The correct base unit cost1.
        /// </param>
        /// <param name="newTariffNotLoadedPath">
        /// The new tariff not loaded path.
        /// </param>
        /// <param name="radiologySpecialistValues">
        /// The radiology specialist values.
        /// </param>
        private static void InsertTariffRecord(
            TariffsDataAccessHelper dataAccessHelper, 
            string fileItemCode, 
            decimal recommendedUnits, 
            TariffBaseUnitCost correctBaseUnitCost1, 
            string newTariffNotLoadedPath, 
            string radiologySpecialistValues)
        {
            if (recommendedUnits == 0)
            {
                return;
            }

            InsertNewTariffScript(
                radiologySpecialistValues, 
                fileItemCode, 
                recommendedUnits, 
                correctBaseUnitCost1, 
                newTariffNotLoadedPath, 
                dataAccessHelper);
        }
コード例 #3
0
        /// <summary>
        /// Generates the insert script.
        /// </summary>
        /// <param name="tariffBaseUnitCost">
        /// The tariff base unit cost.
        /// </param>
        /// <param name="fileItemCode">
        /// The file item code.
        /// </param>
        /// <param name="fileDoctorRecommendedUnit">
        /// The file doctor recommended unit.
        /// </param>
        /// <param name="newTariffNotLoadedPath">
        /// The new tariff not loaded path.
        /// </param>
        /// <param name="doctorTariffData">
        /// The doctor tariff data.
        /// </param>
        /// <param name="originalGazetteName">
        /// Name of the original gazette.
        /// </param>
        /// <param name="dataAccessHelper">
        /// The data access helper.
        /// </param>
        private static void GenerateInsertScript(
            TariffBaseUnitCost tariffBaseUnitCost, 
            string fileItemCode, 
            decimal fileDoctorRecommendedUnit, 
            string newTariffNotLoadedPath, 
            Tariff doctorTariffData, 
            string originalGazetteName, 
            TariffsDataAccessHelper dataAccessHelper)
        {
            var databaseName = tariffBaseUnitCost.Name;

            var pathologyGPValues = ConfigurationManager.AppSettings[Constant.PathologyGPConfigKey];
            var pathologySpecialistValues = ConfigurationManager.AppSettings[Constant.PathologySpecialistConfigKey];
            var clinicalProceduresGPValues = ConfigurationManager.AppSettings[Constant.ClinicalProcedureGPConfigKey];
            var clinicalProceduresSpecialistValues =
                ConfigurationManager.AppSettings[Constant.ClinicalProcedureSpecialistConfigKey];
            var radiologyGpValues = ConfigurationManager.AppSettings[Constant.RadiologyGPConfigKey];
            var radiologySpecialistValues = ConfigurationManager.AppSettings[Constant.RadiologySpecialistConfigKey];

            if (databaseName.Contains(Constant.Pathology, StringComparison.InvariantCultureIgnoreCase))
            {
                InsertNewTariffScript(
                    pathologyGPValues, 
                    fileItemCode, 
                    fileDoctorRecommendedUnit, 
                    tariffBaseUnitCost, 
                    newTariffNotLoadedPath, 
                    dataAccessHelper);

                return;
            }

            if (databaseName.Contains(Constant.Radiology, StringComparison.InvariantCultureIgnoreCase))
            {
                InsertNewTariffScript(
                    radiologyGpValues, 
                    fileItemCode, 
                    fileDoctorRecommendedUnit, 
                    tariffBaseUnitCost, 
                    newTariffNotLoadedPath, 
                    dataAccessHelper);

                return;
            }

            newTariffNotLoadedPath.WriteToFile(
                string.Format("{0} - {1}", doctorTariffData.ItemCode, originalGazetteName));
        }
コード例 #4
0
        /// <summary>
        /// Inserts the tariff codes.
        /// </summary>
        /// <param name="dataAccessHelper">
        /// The data access helper.
        /// </param>
        /// <param name="correctName">
        /// Name of the correct.
        /// </param>
        /// <param name="fileItemCode">
        /// The file item code.
        /// </param>
        /// <param name="fileDoctorRecommendedUnit">
        /// The file doctor recommended unit.
        /// </param>
        /// <param name="fileSpecialistRecommendedUnit">
        /// The file specialist recommended unit.
        /// </param>
        /// <param name="correctBaseUnitCost1">
        /// The correct base unit cost1.
        /// </param>
        /// <param name="newTariffNotLoadedPath">
        /// The new tariff not loaded path.
        /// </param>
        private static void InsertTariffCodes(
            TariffsDataAccessHelper dataAccessHelper, 
            string correctName, 
            string fileItemCode, 
            decimal fileDoctorRecommendedUnit, 
            decimal fileSpecialistRecommendedUnit, 
            TariffBaseUnitCost correctBaseUnitCost1, 
            string newTariffNotLoadedPath)
        {
            if (correctName.Contains(Constant.RadiationOncology, StringComparison.InvariantCultureIgnoreCase))
            {
                var radiologySpecialistValues = ConfigurationManager.AppSettings[Constant.RadOncoSpecialistConfigKey];
                InsertTariffRecord(
                    dataAccessHelper, 
                    fileItemCode, 
                    fileSpecialistRecommendedUnit, 
                    correctBaseUnitCost1, 
                    newTariffNotLoadedPath, 
                    radiologySpecialistValues);
                return;
            }

            if (correctName.Contains(Constant.ClinicalProcedures, StringComparison.InvariantCultureIgnoreCase))
            {
                var clinicalProcedures = ConfigurationManager.AppSettings[Constant.ClinicalProcedureGPConfigKey];
                var clinicalProceduresSpecialist =
                    ConfigurationManager.AppSettings[Constant.ClinicalProcedureSpecialistConfigKey];

                InsertTariffRecord(
                    dataAccessHelper, 
                    fileItemCode, 
                    fileDoctorRecommendedUnit, 
                    correctBaseUnitCost1, 
                    newTariffNotLoadedPath, 
                    clinicalProcedures);
                InsertTariffRecord(
                    dataAccessHelper, 
                    fileItemCode, 
                    fileSpecialistRecommendedUnit, 
                    correctBaseUnitCost1, 
                    newTariffNotLoadedPath, 
                    clinicalProceduresSpecialist);
                return;
            }

            if (correctName.Contains(Constant.Radiology, StringComparison.InvariantCultureIgnoreCase))
            {
                var radiologistDoctors = ConfigurationManager.AppSettings[Constant.RadiologyGPConfigKey];
                var radiologistDoctorsSpecialist =
                    ConfigurationManager.AppSettings[Constant.RadiologySpecialistConfigKey];

                InsertTariffRecord(
                    dataAccessHelper, 
                    fileItemCode, 
                    fileDoctorRecommendedUnit, 
                    correctBaseUnitCost1, 
                    newTariffNotLoadedPath, 
                    radiologistDoctors);
                InsertTariffRecord(
                    dataAccessHelper, 
                    fileItemCode, 
                    fileSpecialistRecommendedUnit, 
                    correctBaseUnitCost1, 
                    newTariffNotLoadedPath, 
                    radiologistDoctorsSpecialist);
                return;
            }

            if (!correctName.Contains(Constant.Pathology, StringComparison.InvariantCultureIgnoreCase))
            {
                return;
            }

            var pathologyDoctors = ConfigurationManager.AppSettings[Constant.PathologyGPConfigKey];
            var pathologyDoctorsSpecialist = ConfigurationManager.AppSettings[Constant.PathologySpecialistConfigKey];

            InsertTariffRecord(
                dataAccessHelper, 
                fileItemCode, 
                fileDoctorRecommendedUnit, 
                correctBaseUnitCost1, 
                newTariffNotLoadedPath, 
                pathologyDoctors);
            InsertTariffRecord(
                dataAccessHelper, 
                fileItemCode, 
                fileSpecialistRecommendedUnit, 
                correctBaseUnitCost1, 
                newTariffNotLoadedPath, 
                pathologyDoctorsSpecialist);
        }