You need to sign in to do that
Don't have an account?
Krishna 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;
}
}
* @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 1
Please help me to write test class on that.