function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Krishna Sahu 1Krishna Sahu 1 

Taslk is not creating

/**
* @description       : Prior auth procedure service class
* @author            : Rialtes Dev Team
* @last modified on  : 06-01-2022
* @last modified by  : Rialtes Dev Team
**/
public inherited sharing class PriorAuthProcedureCodeService 
{
    /**
    * @description : These method fetch all the details of the procedure codes
    * @author Rialtes Dev Team
    * @param PriorAuthWrapper objPriorAuthWrapper
    **/
    public static Map<String, List<ProcedureCode>> getProcedureCodes(PriorAuthWrapper objPriorAuthWrapper)
    {
        Map<String, List<ProcedureCode>> mapKeyToProcedureCodes = new Map<String, List<ProcedureCode>>();
        Map<Id, Procedure_Code__c> mapMasterToProcedureCode =  new Map<Id, Procedure_Code__c>();
        String type = (objPriorAuthWrapper.serviceRequestType == Label.JOURNEY_STAGE_TRIAL_PRIOR_AUTH ? Label.JOURNEY_STAGE_PERMANENT_PRIOR_AUTH : Label.JOURNEY_STAGE_TRIAL_PRIOR_AUTH) + ' Procedure';
        if(objPriorAuthWrapper.recordId != null)
        {
            for(Procedure_Code__c objProcedureCode : [SELECT Id, units__c,
                                                            procedure_code_master_data__c,
                                                            procedure_code_master_data__r.description__c,
                                                            procedure_code_master_data__r.Name,
                                                            procedure_code_master_data__r.type__c
                                                    FROM Procedure_Code__c
                                                    WHERE procedure_code_master_data__r.type__c != :type
                                                    AND prior_authorization__c =: objPriorAuthWrapper.recordId])
            {
                mapMasterToProcedureCode.put(objProcedureCode.procedure_code_master_data__c, objProcedureCode);
            }
        }
        for(Procedure_Code_Master_Data__c objProcedureCodeMaster : [SELECT Id, description__c,
                                                                            type__c, Name
                                                                        FROM Procedure_Code_Master_Data__c
                                                                        WHERE type__c != :type
                                                                        AND Enabled__c = true])
        {
            ProcedureCode objProcedure = new ProcedureCode(null, objProcedureCodeMaster.Id, objProcedureCodeMaster.Name, objProcedureCodeMaster.description__c, null);
            if(!mapKeyToProcedureCodes.containsKey(objProcedureCodeMaster.type__c))
            {
                mapKeyToProcedureCodes.put(objProcedureCodeMaster.type__c, new List<ProcedureCode>{objProcedure});
            }
            else 
            {
                mapKeyToProcedureCodes.get(objProcedureCodeMaster.type__c).add(objProcedure);
            }
        }
        for(String key : mapKeyToProcedureCodes.keyset())
        {
            List<ProcedureCode> lstProcedures = new List<ProcedureCode>();
            for(ProcedureCode objProcedure : mapKeyToProcedureCodes.get(key))
            {
                if(mapMasterToProcedureCode.containsKey(objProcedure.procedureMasterCode))
                {
                    objProcedure.procedureCodeId = mapMasterToProcedureCode.get(objProcedure.procedureMasterCode).Id;
                    objProcedure.units = mapMasterToProcedureCode.get(objProcedure.procedureMasterCode).units__c;
                }
                lstProcedures.add(objProcedure);
            }
            mapKeyToProcedureCodes.put(key, lstProcedures);
        }
        return mapKeyToProcedureCodes;
    }

    /**
    * @description : These method upsert all the details of the procedure codes
    * @author Rialtes Dev Team
    * @param PriorAuthWrapper objPriorAuthWrapper
    * @param CareRequest objCareRequest
    **/
    public static void saveProcedureCodes(PriorAuthWrapper objPriorAuthWrapper, CareRequest objCareRequest) 
    {
        List<Procedure_Code__c> lstProcedureCodes = new List<Procedure_Code__c>();
        if(objPriorAuthWrapper.lstTrialProcedureCodes != null && objPriorAuthWrapper.serviceRequestType == 'Trial')
        {
            for(ProcedureCode objProcedureCode : objPriorAuthWrapper.lstTrialProcedureCodes)
            {
                lstProcedureCodes.add(new Procedure_Code__c(Id = objProcedureCode.procedureCodeId,
                                                            prior_authorization__c = objCareRequest.Id,
                                                            procedure_code_master_data__c = objProcedureCode.procedureMasterCode,
                                                            units__c = objProcedureCode.units));
            }
        }
        if(objPriorAuthWrapper.lstPermanentProcedureCodes != null && objPriorAuthWrapper.serviceRequestType == 'Permanent')
        {
            for(ProcedureCode objProcedureCode : objPriorAuthWrapper.lstPermanentProcedureCodes)
            {
                lstProcedureCodes.add(new Procedure_Code__c(Id = objProcedureCode.procedureCodeId,
                                                            prior_authorization__c = objCareRequest.Id,
                                                            procedure_code_master_data__c = objProcedureCode.procedureMasterCode,
                                                            units__c = objProcedureCode.units));
            }
        }
        if(objPriorAuthWrapper.lstRevisionOrRemovalCodes != null)
        {
            for(ProcedureCode objProcedureCode : objPriorAuthWrapper.lstRevisionOrRemovalCodes)
            {
                lstProcedureCodes.add(new Procedure_Code__c(Id = objProcedureCode.procedureCodeId,
                                                            prior_authorization__c = objCareRequest.Id,
                                                            procedure_code_master_data__c = objProcedureCode.procedureMasterCode,
                                                            units__c = objProcedureCode.units));
            }
        }
        if(objPriorAuthWrapper.lstSCSAnalysisProgramming != null)
        {
            for(ProcedureCode objProcedureCode : objPriorAuthWrapper.lstSCSAnalysisProgramming)
            {
                lstProcedureCodes.add(new Procedure_Code__c(Id = objProcedureCode.procedureCodeId,
                                                            prior_authorization__c = objCareRequest.Id,
                                                            procedure_code_master_data__c = objProcedureCode.procedureMasterCode,
                                                            units__c = objProcedureCode.units));
            }
        }
        upsert lstProcedureCodes;
    }
}
Krishna Sahu 1Krishna Sahu 1
Please help me to write test class on that.