• Perspectiva Negócios Digitais
  • NEWBIE
  • 0 Points
  • Member since 2018

  • Chatter
    Feed
  • 0
    Best Answers
  • 2
    Likes Received
  • 0
    Likes Given
  • 6
    Questions
  • 2
    Replies
Hi i'm lost in a test for a send email, i need to test if the email as sent, how i do that?

Thanks for your attention

Batch Class:
global class EmailCaringSenior implements Schedulable, Database.Batchable<sObject> {
    
    Account estipulante;
    
	global Database.QueryLocator start(Database.BatchableContext BC) {
        try{
        	estipulante = [SELECT Id FROM Account WHERE RecordTypeId IN (SELECT Id FROM RecordType WHERE Name = 'Estipulante' AND SObjectType = 'Account') AND Name = 'Caring Senior'];
        } catch(Exception e) {
             System.debug('The following exception has occurred: ' + e.getMessage());
        }
        return Database.getQueryLocator([SELECT Name, CPF__pc FROM Account WHERE Estipulante__c = :estipulante.Id AND CreatedDate = TODAY]);
	}
    
   	global void execute(Database.BatchableContext BC, List<sObject> scope) {
		List<Account> accounts = (List<Account>) scope;
        String listaPaciente = '';
        Integer contagem = 0;
		for(Account paciente : accounts){
			contagem++;
            listaPaciente +=  contagem + '. ' + paciente.Name + ' (CPF: ' + paciente.CPF__pc + ') <br>';
		}
        
		String dataOntem = DateTime.now().addDays(-1).format('dd-MM-yyyy');
        
		Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
        message.toAddresses = new String[] { 'gabrielmocelin@unochapeco.edu.br' };
        message.subject = 'Ace - Novos Pacientes (' + dataOntem +  ')';
        message.setHtmlBody('Olá Gestor, <br> Abaixo uma lista de pacientes carregados no Health Cloud ontem (' + dataOntem + '): <br><br> ' + listaPaciente);
        for(OrgWideEmailAddress owa : [SELECT Id, Address, DisplayName FROM OrgWideEmailAddress]) 
        {
           if(owa.DisplayName.contains('Caring Senior'))
           { 
            message.setOrgWideEmailAddressId(owa.Id); 
           } 
        }
        Messaging.SingleEmailMessage[] messages =   new List<Messaging.SingleEmailMessage> {message};
        Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
        
        if (results[0].success) 
        {
            System.debug('The email was sent successfully.');
        } else 
        {
            System.debug('The email failed to send: ' + results[0].errors[0].message);
        }
    }

	global void execute(SchedulableContext sc) {
		EmailCaringSenior b = new EmailCaringSenior();
		Database.executebatch(b);
	}
	
	global void finish(Database.BatchableContext BC) {
		
	}
}
Test Class:
@isTest
public class Test_EmailCaringSenior {
    
    static testMethod void testInsertDetecta()
    {   
        Integer contasAntes = [SELECT COUNT() FROM Account];
        System.assertEquals(contasAntes, 0);
        
        RecordType estipulanteRecordType = [SELECT Id FROM RecordType WHERE Name = 'Estipulante' AND SObjectType = 'Account'];
        Account estipulante = new Account();
        estipulante.RecordTypeId = estipulanteRecordType.Id;             
        estipulante.Name = 'Caring Senior';
        insert estipulante;
        
        Datetime dataAnteOntem = Datetime.now().addDays(-2);
        Test.setCreatedDate(estipulante.Id, dataAnteOntem);
 
        RecordType personAccountRecordType = [SELECT Id FROM RecordType WHERE Name = 'Paciente' AND SObjectType = 'Account'];
        Account paciente = new Account();
        paciente.RecordType = personAccountRecordType;             
        paciente.FirstName = 'Teste';
        paciente.LastName = 'Sobrenome';
        paciente.CPF__pc = '133.173.513-06';
        paciente.Estipulante__c = estipulante.id;
        insert paciente;
        
        Datetime dataOntem = Datetime.now().addDays(-1);
        Test.setCreatedDate(paciente.Id, dataOntem);

        Test.startTest();
			Account myAccount = [SELECT Id, Name, CreatedDate FROM Account WHERE Name ='Teste Sobrenome' LIMIT 1];
        	System.assertEquals(myAccount.CreatedDate, dataOntem);	
      		
           	Account estipulanteTest = [SELECT Id, CreatedDate FROM Account WHERE Name = 'Caring Senior' AND RecordTypeId = :estipulanteRecordType.Id];
			System.assertEquals(estipulanteTest.Id, estipulante.id);
        	System.assertEquals(estipulanteTest.CreatedDate, dataAnteOntem);
        
            EmailCaringSenior b = new EmailCaringSenior();
			Database.executebatch(b);
        
        Test.stopTest();
    }
}

 
Hi guys, I'm new with apex triggers, I created this trigger for an object that will only have insertions via imports .csv, and also that needs to be related to an account (field: patient_name__c), but when I'm inserting I'm having problems, I believe the trigger is wrong, can someone help me how to write correctly? 


The rule is that it should not be entered in the system when it does not find an account, that is, if it enters the "catch"(line 14), it should stop the trigger, (I tried with Exception but it continued the rest of the code instead of stopping).


My trigger:
trigger PacienteUtilizacao on Dados_Utiliza_o__c (before insert) {
    
	Account paciente;
    TUSS__c tuss;
    String restSplits;
    String firstSplit;
    String isEqual;
                                                     
    for(Dados_Utiliza_o__c utilizacao : Trigger.new)
    {
        if(utilizacao.CPF_do_Paciente__c != null && utilizacao.Nome_do_Paciente_Texto__c != null){
            try {        
                paciente = [SELECT Id, CPF__pc FROM Account WHERE CPF__pc = :utilizacao.CPF_do_Paciente__c LIMIT 1];
           	} catch (DmlException e) {
                System.debug(e.getMessage());    
            }
            
            if(paciente != null){  
                try {
                    utilizacao.Nome_do_Paciente__c = paciente.Id;
                    //se o segurado e o paciente forem o mesmo então é relacionado também
                    if (utilizacao.Nome_do_Paciente_Texto__c == utilizacao.Nome_do_Segurado_Texto__c){
                        isEqual = utilizacao.Nome_do_Paciente_Texto__c;
                        if(isEqual != null){
                            utilizacao.Nome_do_Segurado__c = paciente.Id;
                        }
                    }
                } catch (Exception e) {
                System.debug(e.getMessage());    
            }
            }
        }
        //trata o procedimento
        if(utilizacao.Procedimento_Codigo_Texto__c != null){
            try {        
                tuss = [SELECT Id,Name,Procedimento__c FROM TUSS__c WHERE Name = :utilizacao.Procedimento_Codigo_Texto__c LIMIT 1];  
            } catch (Exception e) {
                tuss = new TUSS__c();    
            }
            
            try {        
                if(utilizacao.Procedimento_Codigo_Texto__c != null){
                    tuss.Name = utilizacao.Procedimento_Codigo_Texto__c;
                    tuss.Procedimento__c = utilizacao.Descricao_Procedimento__c;
                    upsert tuss;
                    
                    utilizacao.C_digo_do_Procedimento__c = tuss.Id;
                    //preenchimento de Tipo de Procedimento
                    //consulta albulatorial
                    if(utilizacao.Procedimento_Codigo_Texto__c == '10101012' || 
                       utilizacao.Procedimento_Codigo_Texto__c == '10014' || 
                       utilizacao.Procedimento_Codigo_Texto__c == '88183038' || 
                       utilizacao.Procedimento_Codigo_Texto__c == '88199522' || 
                       utilizacao.Procedimento_Codigo_Texto__c == '88200111'){
                        utilizacao.Tipo_de_Procedimento__c = 'Consulta ambulatorial';
                    }
                    //consulta pronto socorro
                     if(utilizacao.Procedimento_Codigo_Texto__c == '10101039' || 
                       utilizacao.Procedimento_Codigo_Texto__c == '88183039' || 
                       utilizacao.Procedimento_Codigo_Texto__c == '70708143' || 
                       utilizacao.Procedimento_Codigo_Texto__c =='88199337' || 
                       utilizacao.Procedimento_Codigo_Texto__c == '10073'){
                        utilizacao.Tipo_de_Procedimento__c = 'Consulta pronto socorro';
                    }
                    //Para casos de Subtipo de Exames Simples
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '40301010' && utilizacao.Procedimento_Codigo_Texto__c <= '40314235'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Medicina laboratorial';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '40501019' && utilizacao.Procedimento_Codigo_Texto__c <= '40503259'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Genética';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '40601102' && utilizacao.Procedimento_Codigo_Texto__c <= '40601293'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Anatomia patológica e citopatologia';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '40701018' && utilizacao.Procedimento_Codigo_Texto__c <= '40711021'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Medicina nuclear';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '40801128' && utilizacao.Procedimento_Codigo_Texto__c <= '40812103'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Radiologia convencional';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '40813045' && utilizacao.Procedimento_Codigo_Texto__c <= '40814041'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Radiologia intervencionista';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '40901181' && utilizacao.Procedimento_Codigo_Texto__c <= '40902129'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Ultrassonografia';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '41001109' && utilizacao.Procedimento_Codigo_Texto__c <= '41002016'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Tomografia computadorizada';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '41101170' && utilizacao.Procedimento_Codigo_Texto__c <= '41102010'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Ressonância nuclear magnética';
                    }
                    if(utilizacao.Procedimento_Codigo_Texto__c >= '41301013' && utilizacao.Procedimento_Codigo_Texto__c <= '41501284'){
                        utilizacao.Tipo_de_Procedimento__c = 'Exames simples';
                        utilizacao.Subtipo_de_Exame_Simples__c = 'Outros';
                    }
                }
            } catch (Exception e) {
                System.debug(e.getMessage());    
            }
        }
    }
}



Test Class:
static testMethod void testSemContaInsereTuss()
    {   
        Integer quantidadePacientesInicial = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesInicial, 0);
        
        Integer tussAntes = [SELECT COUNT() FROM TUSS__c];
        System.assertEquals(tussAntes, 0);
        
        Integer utilizacaoAntes = [SELECT COUNT() FROM Dados_Utiliza_o__c];
        System.assertEquals(utilizacaoAntes, 0);
        
        Dados_Utiliza_o__c utilizacao = new Dados_Utiliza_o__c();      
        utilizacao.Nome_do_Segurado_Texto__c = 'Joelinton Barbosa Siqueira Gomes Freitas';
        utilizacao.Nome_do_Paciente_Texto__c = 'Joelinton Barbosa Siqueira Gomes Freitas';
        utilizacao.Sexo__c = 'Masculino';
        utilizacao.Data_de_Nascimento__c = Date.newInstance(1962, 12, 9);
        utilizacao.Procedimento_Codigo_Texto__c = '40601331';
        utilizacao.Descricao_Procedimento__c = 'Citológico anatomia patológica, qualquer material';
        utilizacao.CPF_do_Paciente__c = '615.830.252-00';
        insert utilizacao;
        
        Integer tussDepois = [SELECT COUNT() FROM TUSS__c];
        System.assertEquals(tussDepois, 0);
        
        Integer utilizacaoDepois = [SELECT COUNT() FROM Dados_Utiliza_o__c];
        System.assertEquals(utilizacaoDepois, 0);
        
        Integer quantidadePacientesPosterior = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesPosterior, 0);
    }
thank you for the attention!
As the title already explains, I would like to send an email(like a trigger) to my client, notifying when an import was completed automatically.
Hello everyone I'm having the following problem as you can see in the title of the post, when I made the code tried only with one account in my scope and worked perfectly, but with two accounts is returning this error, I think the problem is in the for but I can't solve it.

My Code:
global class CancerDeColonBatch implements Schedulable, Database.Batchable<sObject> {
	
	global Database.QueryLocator start(Database.BatchableContext BC) {
		return Database.getQueryLocator([SELECT Id, PersonContactId 
                                         FROM Account 
                                         WHERE RecordTypeId IN (SELECT Id 
                                                                FROM RecordType 
                                                                WHERE Name = 'Paciente' 
                                                                AND SObjectType = 'Account') 
                                         AND Detecta__pc = TRUE 
                                         AND Idade__pc >= 50 
                                         AND Idade__pc <= 74]);
	}

   	global void execute(Database.BatchableContext BC, List<sObject> scope) {
		List<Account> accounts = (List<Account>) scope;
		Set<Id> accountIds = new Set<Id>();
        Set<Id> personAccountsIds = new Set<Id>();
		for(Account c : accounts){
			accountIds.add(c.Id);
            personAccountsIds.add(c.PersonContactId);
		}
        system.debug(accountIds);
        system.debug(personAccountsIds);
	
      	List<AggregateResult> procedimentos = [SELECT C_digo_do_Procedimento__r.Name exame,
                                               		  Nome_do_Paciente__c conta,
                                               		  MAX(Data_de_Processamento__c) dataExame 
												 FROM Dados_Utiliza_o__c
												WHERE C_digo_do_Procedimento__r.Name IN ('40303250', '40202690',
                                                                                         '40202720', '40202739',
                                                                                         '40202666', '40201082',
                                                                                         '41001265', '40201090',
                                                                                         '40201350', '40202135')
												  AND Nome_do_Paciente__c IN :accountIds
												GROUP BY Nome_do_Paciente__c, C_digo_do_Procedimento__r.Name];
  
        Map<Id, Boolean> criarCase = new Map<Id, Boolean>();        
		for(AggregateResult ex : procedimentos){
			Date dataExame = (Date) ex.get('dataExame');
            Date todayDate = Date.today();
			Integer difCalc = dataExame.daysBetween(todayDate);
			if((ex.get('exame') == '40303250') && (difCalc >= 365)){
				criarCase.put((Id) ex.get('conta'), true);
                system.debug('if1');
			}
            else if(((ex.get('exame') == '40202690') || (ex.get('exame') == '40202720') || (ex.get('exame') == '40202739')) && (difCalc >= 1825)){
				criarCase.put((Id) ex.get('conta'), true);
                system.debug('if2');
			}
			else if(((ex.get('exame') == '40202666') || (ex.get('exame') == '40201082') || (ex.get('exame') == '41001265') || (ex.get('exame') == '40201090') || (ex.get('exame') == '40201350') || (ex.get('exame') == '40202135')) && difCalc >= 3650){
                criarCase.put((Id) ex.get('conta'), true);
                system.debug('if3');
            }
    	}
        
        List<Account> semProcedimentos = new List<Account>([SELECT Id 
                                                            FROM Account 
                                                            WHERE Id NOT IN (SELECT Nome_do_Paciente__c 
                                                                             FROM Dados_Utiliza_o__c 
                                                                             WHERE C_digo_do_Procedimento__r.Name IN ('40303250', '40202690',
                                                                                                                      '40202720', '40202739',
                                                                                                                      '40202666', '40201082',
                                                                                                                      '41001265', '40201090',
                                                                                                                      '40201350', '40202135'))
                                                            AND Detecta__pc = TRUE 
                                                            AND Idade__pc >= 50
                                                            AND Idade__pc <= 74]);
        

        for(Account sp : semProcedimentos){
            system.debug('entrou sem procedimentos');
            criarCase.put((Id) sp.Id, true);
        }
        
        String CaseDescription;
        CaseDescription = 'Exames pendentes: Sangue oculto nas fezes, pesquisa imunológica (40303250), ';
        CaseDescription += 'Retossigmoidoscopia flexível com biópsia e/ou citologia (40202690), ';
        CaseDescription += 'Retossigmoidoscopia rígida com biópsia e/ou citologia (40202720), ';
        CaseDescription += 'Retossigmoidoscopia rígida com polipectomia (40202739), ';
        CaseDescription += 'Colonoscopia com biópsia e/ou citologia (40202666), ';
        CaseDescription += 'Colonoscopia (inclui a retossigmoidoscopia) (40201082), ';
        CaseDescription += 'TC - Colonoscopia virtual (41001265), ';
        CaseDescription += 'Colonoscopia com magnificação (40201090), ';
        CaseDescription += 'Colonoscopia com cromoscopia (40201350), ';
        CaseDescription += 'Colonoscopia com magnificação e tatuagem (40202135)';
        
		RecordType carePlantRecordType = [SELECT Id FROM RecordType WHERE Name = 'CarePlan' AND SObjectType = 'Case'];
            
        List<Case> newCases = new List<Case>();
        List<CaseTeamMember> newteamMembers = new List<CaseTeamMember>();
        List<HealthCloudGA__CarePlanProblem__c> newProblem = new List<HealthCloudGA__CarePlanProblem__c>();
        List<HealthCloudGA__CarePlanGoal__c> newGoal = new List<HealthCloudGA__CarePlanGoal__c>();
        HealthCloudGA__CarePlanProblem__c problemaCriado;
        HealthCloudGA__CarePlanGoal__c metaCriada;
        List<Task> newtask = new List<Task>();
        
        for(Id pId : personAccountsIds){
            for(Id cId : accountIds){
                if(criarCase.keySet().contains(cId)){
                    Case newCase = new Case(
                        Subject = 'Câncer de Cólon - Exames Pendentes',
                        RecordType = carePlantRecordType,
                        AccountId = cId,
                        ContactId = pId,
                        Description = CaseDescription
                    );
                    newCases.add(newCase);
                    try{
                        system.debug('Entrou no insert');
                        insert newCases;
                        system.debug(newCases);
                    }
                    catch(Exception e){
                        system.debug('Erro: ' + e.getMessage());
                    }
                    CaseTeamMember newCareCoordinator = new CaseTeamMember(
                        ParentId = newCase.Id,
                        MemberId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        TeamRoleId = '0B7360000004asLCAQ' //fixo Care Coordinator, producao ou sandbox o ID não muda
                    );
                    newteamMembers.add(newCareCoordinator);
                    CaseTeamMember newPatient = new CaseTeamMember(
                        ParentId = newCase.Id,
                        MemberId = pId, //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        TeamRoleId = '0B7360000004asQCAQ' //fixo Patient producao ou sandbox o ID não muda
                    );
                    newteamMembers.add(newPatient);
                    try{
                        insert newteamMembers;
                    } 
                    catch(Exception e){
                        system.debug('Erro: ' + e.getMessage());
                    }
                    HealthCloudGA__CarePlanProblem__c newColon = new HealthCloudGA__CarePlanProblem__c(
                        HealthCloudGA__CarePlan__c = newCase.Id,
                        Name = 'Câncer de Cólon'
                    );
                    newProblem.add(newColon);
                    try{
                        insert newProblem;
                    } 
                    catch(Exception e){
                        system.debug('Erro: ' + e.getMessage());
                    }
                    try{
                        problemaCriado = [SELECT Id FROM HealthCloudGA__CarePlanProblem__c WHERE HealthCloudGA__CarePlan__c = :newCase.Id];
                    } 
                    catch(Exception e){
                        system.debug('Erro: ' + e.getMessage());
                    }
                    HealthCloudGA__CarePlanGoal__c newMeta = new HealthCloudGA__CarePlanGoal__c(
                        HealthCloudGA__CarePlan__c = newCase.Id,
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        Name = 'Realizar exames relacionados ao Câncer de Cólon'
                    );
                    newGoal.add(newMeta);
                    try{
                        insert newGoal;
                    } 
                    catch(Exception e){
                        system.debug('Erro: ' + e.getMessage());
                    }
                    try{
                        metaCriada = [SELECT Id FROM HealthCloudGA__CarePlanGoal__c WHERE HealthCloudGA__CarePlan__c = :newCase.Id];
                    } 
                    catch(Exception e){
                        system.debug('Erro: ' + e.getMessage());
                    }
                    Task newExamOne = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Retossigmoidoscopia flexível com biópsia e/ou citologia (40202690)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id 
                    );
                    newTask.add(newExamOne);
                    Task newExamTwo = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Retossigmoidoscopia rígida com biópsia e/ou citologia (40202720)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamTwo);
                    Task newExamThree = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Retossigmoidoscopia rígida com polipectomia (40202739)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamThree);
                    Task newExamFour = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Colonoscopia com biópsia e/ou citologia (40202666)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamFour);
                    Task newExamFive = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Colonoscopia (inclui a retossigmoidoscopia) (40201082',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamFive);
                    Task newExamSix = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'TC - Colonoscopia virtual (41001265)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamSix);
                    Task newExamSeven = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Colonoscopia com magnificação (40201090)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamSeven);
                    Task newExamEight = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Colonoscopia com cromoscopia (40201350)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamEight);
                    Task newExamNine = new Task(
                        WhatId = newCase.Id,
                        OwnerId = '0053600000141fOAAQ', //fixo conta da perspectiva, producao ou sandbox o ID não muda
                        WhoId = pId,
                        Subject = 'Colonoscopia com magnificação e tatuagem (40202135)',
                        Status = 'Aberta',
                        Priority = 'Normal',
                        HealthCloudGA__CarePlanProblem__c = problemaCriado.Id,
                        HealthCloudGA__CarePlanGoal__c = metaCriada.Id
                    );
                    newTask.add(newExamNine);
                    try{
                        insert newTask;
                    } 
                    catch(Exception e){
                        system.debug('Erro: ' + e.getMessage());
                    }
                }
            }
        }
    }


	global void execute(SchedulableContext sc) {
		CancerDeColonBatch b = new CancerDeColonBatch();
		DataBase.executebatch(b);
	}
	
	global void finish(Database.BatchableContext BC) {
		
	}
}

Debug Log with error , in the line 113
User-added image

Full Log:
 RawLog Link (https://pastebin.com/XEg5XMyX)

 
 created an object called Dados_Utiliza_o__c which contains about 50 fields, which are populated with .csv, among these fields there is a called Nome_do_Paciente__C that contains the name of an account, where my intention is to create a trigger before inserting, where:
1. Check if there is an account (patient in my case) with the CPF (document of unique registration of person in Brazil, similar to Social Security Card) registered in the system;
2. If it does not exist it starts the process of registering
3. As .csv sends the full name in the field, then it breaks the name to enter in the salesforce, first name and last name.
4. Register or update the account if it is already on the system.
5. If the registered account name is the same as the Nome_do_Segurado__c field (another field and something that can occur in .csv), it lists this created or updated account, otherwise it just inserts in text form in the unrelated field

This is my trigger currently, I'm not finding what's wrong or if something is missing:
 
trigger PacienteUtilizacao on Dados_Utiliza_o__c (before insert) {
    
	Account paciente;
    Account segurado;
    String restSplits;
    String firstSplit;
   
    RecordType personAccountRecordType =  [SELECT Id FROM RecordType WHERE Name = 'Paciente' AND SObjectType = 'Account'];
    
    //verifica se existe um account com o mesmo nome do preenchido
    for(Dados_Utiliza_o__c utilizacao : Trigger.new)
    {
    	try {
            paciente = [
                SELECT
                	FirstName,
                	LastName,
                    Sexo__pc,
                    Birthdate__c,
                    CPF__pc
                FROM Account
                WHERE CPF__pc = :utilizacao.CPF_CGC_do_Referenciado__c
                LIMIT 1
            ];
        //se não encontrar ele cadastra
		} catch (Exception e) {
       		paciente = new Account();         
		}
        
        //Quando não encontrar o paciente no try de cima ele então cadastra
        try {   
           
            //Quebra o nome do paciente em First Name e Last Name
        	if(utilizacao.Nome_do_Paciente_Texto__c != null){
            	String input = utilizacao.Nome_do_Paciente_Texto__c;
            	firstSplit = input.substringBefore(' ');
            	restSplits = input.substringAfter(' ');
                
                paciente.RecordTypeId = personAccountRecordType.Id;
                paciente.FirstName = firstSplit;
                paciente.LastName = restSplits;
                paciente.Sexo__pc = utilizacao.Sexo__c;
                paciente.Birthdate__c = utilizacao.Data_de_Nascimento_Y2K__c;
                paciente.CPF__pc = utilizacao.CPF_CGC_do_Referenciado__c;
                upsert paciente;
         	}     
            
        } catch (Exception e) {
            System.debug(e.getMessage());
        }
        
        String fullName = paciente.FirstName + ' ' + paciente.LastName;
        System.debug(paciente.Id);
        
        //se o nome do Segurado for o mesmo nome , entao o id do segurado é o id que achamos para o paciente    
        IF (utilizacao.Nome_do_Segurado_Texto__c == fullName){
			utilizacao.Nome_do_Segurado__c = paciente.Id;
            System.debug(utilizacao.Nome_do_Segurado__c);
        } ELSE{
             //se nao for, vamos tentar buscar o segurado pelo nome.
			try {
            	segurado = [
                	SELECT
                    FirstName,
                    LastName,
                    Sexo__pc,
                    Birthdate__c,
                    CPF__pc
                    FROM Account
                    WHERE CPF__pc = :utilizacao.Nome_do_Segurado__c
                    LIMIT 1
                ];
                //se acharmos, entao vamos buscar o ID no registro de utilizacao que estamos criando.
                utilizacao.Nome_do_Segurado__c = segurado.Id;
            } catch (Exception e) {
            	System.debug(e.getMessage());        
            }
        }
    }
}


An this is my UnitTest

@isTest
public class Test_PacienteUtilizacao {
	static testMethod void testInserePacienteQueNaoExisteNomesIguais()
    {   
        Integer quantidadePacientesInicial = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesInicial, 0);
        
        Dados_Utiliza_o__c utilizacao = new Dados_Utiliza_o__c();      
        utilizacao.Nome_do_Segurado_Texto__c = 'Joelinton Barbosa Siqueira Gomes Freitas';
        utilizacao.Nome_do_Paciente_Texto__c = 'Joelinton Barbosa Siqueira Gomes Freitas';
        utilizacao.Sexo__c = 'Masculino';
        utilizacao.Data_de_Nascimento_Y2K__c = Date.newInstance(1962, 12, 9);
        utilizacao.CPF_CGC_do_Referenciado__c = '61583025200';
        insert utilizacao;
        
        Integer quantidadePacientesPosterior = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesPosterior, 1);
        
        Account pacienteId = [SELECT Id FROM Account WHERE CPF__pc = '61583025200' LIMIT 1];
        System.debug(pacienteId.Id);
        System.debug(utilizacao.Nome_do_Segurado__r.Id);
        System.assertEquals(pacienteId.Id, utilizacao.Nome_do_Segurado__c);
        
    }
    
    /*static testMethod void testAtualizaPacienteAoPreencherSubirArquivo()
    {
        RecordType personAccountRecordType =  [SELECT Id FROM RecordType WHERE Name = 'Paciente' AND SObjectType = 'Account'];
        Account paciente = new Account();
        paciente.RecordType = personAccountRecordType;             
        paciente.FirstName = 'Arestides';
        paciente.LastName = 'Barborsa';
        paciente.Sexo__pc = 'Masculino';
        paciente.CPF__pc = '13317351306';

        insert paciente;
        
        Account pacienteBase = [SELECT FirstName FROM Account WHERE CPF__pc = '13317351306' LIMIT 1];
        System.assertEquals(pacienteBase.FirstName, 'Arestides');
        
        Dados_Utiliza_o__c utilizacao = new Dados_Utiliza_o__c();      
        utilizacao.Nome_do_Segurado_Texto__c = 'Wilson Gonçalves Pereira';
        utilizacao.Nome_do_Paciente_Texto__c = 'Wilson Gonçalves Pereira';
        utilizacao.Sexo__c = 'Masculino';
        utilizacao.Data_de_Nascimento_Y2K__c = Date.newInstance(1962, 12, 9);
        utilizacao.CPF_CGC_do_Referenciado__c = '13317351306';
        insert utilizacao;
        
        Account pacienteBaseAtualizado = [SELECT FirstName FROM Account WHERE CPF__pc = '13317351306' LIMIT 1];
        System.assertEquals(pacienteBaseAtualizado.FirstName, 'Wilson');
    }
    
    static testMethod void testInserePacienteQueNaoExisteNomesDiferentes()
    {   
        Integer quantidadePacientesInicial = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesInicial, 0);
        
        Dados_Utiliza_o__c utilizacao = new Dados_Utiliza_o__c();      
        utilizacao.Nome_do_Segurado_Texto__c = 'Alcindo da Silva';
        utilizacao.Nome_do_Paciente_Texto__c = 'Cleiton Soares';
        utilizacao.Sexo__c = 'Masculino';
        utilizacao.Data_de_Nascimento_Y2K__c = Date.newInstance(1962, 12, 9);
        utilizacao.CPF_CGC_do_Referenciado__c = '12453278625';
        insert utilizacao;
        
        Integer quantidadePacientesPosterior = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesPosterior, 1);
    }*/
}

My Log(debug):
User-added image
My Full Log:

https://gist.github.com/gabrielmocelin/212e6f5db8b8b2a9d5a0e42c33232e4e
 

I created an object called Dados_Utiliza_o__c which contains about 50 fields, which are populated with .csv, among these fields there is a called Nome_do_Paciente__C that contains the name of an account, where my intention is to create a trigger before inserting, where:
1. Check if there is an account (patient in my case) with the CPF (document of unique registration of person in Brazil, similar to Social Security Card) registered in the system;
2. If it does not exist it starts the process of registering
3. As .csv sends the full name in the field, then it breaks the name to enter in the salesforce, first name and last name.
4. Register or update the account if it is already on the system.
5. If the registered account name is the same as the Nome_do_Segurado__c field (another field and something that can occur in .csv), it lists this created or updated account, otherwise it just inserts in text form in the unrelated field

this is my trigger currently, I'm not finding what's wrong or if something is missing:

trigger PacienteUtilizacao on Dados_Utiliza_o__c (before insert) {
    
	Account paciente;
    Account segurado;
    String firstSplit;
    String restSplits; 
   
    RecordType personAccountRecordType =  [SELECT Id FROM RecordType WHERE Name = 'Paciente' AND SObjectType = 'Account'];
    
    //verifica se existe um account com o preenchido
    for(Dados_Utiliza_o__c utilizacao : Trigger.new)
    {
    	try {
            paciente = [
                SELECT
                	FirstName,
                	LastName,
                    Sexo__pc,
                    Birthdate__c,
                    CPF__pc
                FROM Account
                WHERE CPF__pc = :utilizacao.CPF_CGC_do_Referenciado__c
                LIMIT 1
            ];
        //se não encontrar ele cadastra
		} catch (Exception e) {
       		paciente = new Account();         
		}
        
        //Quebra o nome do paciente em First Name e Last Name
		if(utilizacao.Nome_do_Paciente__r.Name != null){
            String input = utilizacao.Nome_do_Paciente__r.Name;
            firstSplit = input.substringBefore(' ');
            restSplits = input.substringAfter(' ');
        }
        
        //Quando não encontrar o paciente no try de cima ele então cadastra
        try {             
        	paciente.RecordTypeId = personAccountRecordType.Id;
            paciente.FirstName = firstSplit;
            paciente.LastName = restSplits;
            paciente.Sexo__pc = utilizacao.Sexo__c;
            paciente.Birthdate__c = utilizacao.Data_de_Nascimento_Y2K__c;
            paciente.CPF__pc = utilizacao.CPF_CGC_do_Referenciado__c;
            upsert paciente;
        } catch (Exception e) {
            System.debug(e.getMessage());
        }
          
        IF (paciente.Name == utilizacao.Nome_do_Segurado__c){
			utilizacao.Nome_do_Segurado__c = paciente.Id;
			// se for, entao o id do segurado é o id que achamos para o paciente    
        } ELSE{
             // se nao for, vamos tentar buscar o segurado pelo nome.
			try {
            	segurado = [
                	SELECT
                    FirstName,
                    LastName,
                    Sexo__pc,
                    Birthdate__c,
                    CPF__pc
                    FROM Account
                    WHERE CPF__pc = :utilizacao.Nome_do_Segurado__c
                    LIMIT 1
                ];
                // se acharmos, entao vamos bucsar o ID no registro de utilizacao que estamos criando.
                utilizacao.Nome_do_Segurado__c = segurado.Id;
            } catch (Exception e) {
            	System.debug(e.getMessage());        
            }
        }
    }
}
Hi i'm lost in a test for a send email, i need to test if the email as sent, how i do that?

Thanks for your attention

Batch Class:
global class EmailCaringSenior implements Schedulable, Database.Batchable<sObject> {
    
    Account estipulante;
    
	global Database.QueryLocator start(Database.BatchableContext BC) {
        try{
        	estipulante = [SELECT Id FROM Account WHERE RecordTypeId IN (SELECT Id FROM RecordType WHERE Name = 'Estipulante' AND SObjectType = 'Account') AND Name = 'Caring Senior'];
        } catch(Exception e) {
             System.debug('The following exception has occurred: ' + e.getMessage());
        }
        return Database.getQueryLocator([SELECT Name, CPF__pc FROM Account WHERE Estipulante__c = :estipulante.Id AND CreatedDate = TODAY]);
	}
    
   	global void execute(Database.BatchableContext BC, List<sObject> scope) {
		List<Account> accounts = (List<Account>) scope;
        String listaPaciente = '';
        Integer contagem = 0;
		for(Account paciente : accounts){
			contagem++;
            listaPaciente +=  contagem + '. ' + paciente.Name + ' (CPF: ' + paciente.CPF__pc + ') <br>';
		}
        
		String dataOntem = DateTime.now().addDays(-1).format('dd-MM-yyyy');
        
		Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
        message.toAddresses = new String[] { 'gabrielmocelin@unochapeco.edu.br' };
        message.subject = 'Ace - Novos Pacientes (' + dataOntem +  ')';
        message.setHtmlBody('Olá Gestor, <br> Abaixo uma lista de pacientes carregados no Health Cloud ontem (' + dataOntem + '): <br><br> ' + listaPaciente);
        for(OrgWideEmailAddress owa : [SELECT Id, Address, DisplayName FROM OrgWideEmailAddress]) 
        {
           if(owa.DisplayName.contains('Caring Senior'))
           { 
            message.setOrgWideEmailAddressId(owa.Id); 
           } 
        }
        Messaging.SingleEmailMessage[] messages =   new List<Messaging.SingleEmailMessage> {message};
        Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
        
        if (results[0].success) 
        {
            System.debug('The email was sent successfully.');
        } else 
        {
            System.debug('The email failed to send: ' + results[0].errors[0].message);
        }
    }

	global void execute(SchedulableContext sc) {
		EmailCaringSenior b = new EmailCaringSenior();
		Database.executebatch(b);
	}
	
	global void finish(Database.BatchableContext BC) {
		
	}
}
Test Class:
@isTest
public class Test_EmailCaringSenior {
    
    static testMethod void testInsertDetecta()
    {   
        Integer contasAntes = [SELECT COUNT() FROM Account];
        System.assertEquals(contasAntes, 0);
        
        RecordType estipulanteRecordType = [SELECT Id FROM RecordType WHERE Name = 'Estipulante' AND SObjectType = 'Account'];
        Account estipulante = new Account();
        estipulante.RecordTypeId = estipulanteRecordType.Id;             
        estipulante.Name = 'Caring Senior';
        insert estipulante;
        
        Datetime dataAnteOntem = Datetime.now().addDays(-2);
        Test.setCreatedDate(estipulante.Id, dataAnteOntem);
 
        RecordType personAccountRecordType = [SELECT Id FROM RecordType WHERE Name = 'Paciente' AND SObjectType = 'Account'];
        Account paciente = new Account();
        paciente.RecordType = personAccountRecordType;             
        paciente.FirstName = 'Teste';
        paciente.LastName = 'Sobrenome';
        paciente.CPF__pc = '133.173.513-06';
        paciente.Estipulante__c = estipulante.id;
        insert paciente;
        
        Datetime dataOntem = Datetime.now().addDays(-1);
        Test.setCreatedDate(paciente.Id, dataOntem);

        Test.startTest();
			Account myAccount = [SELECT Id, Name, CreatedDate FROM Account WHERE Name ='Teste Sobrenome' LIMIT 1];
        	System.assertEquals(myAccount.CreatedDate, dataOntem);	
      		
           	Account estipulanteTest = [SELECT Id, CreatedDate FROM Account WHERE Name = 'Caring Senior' AND RecordTypeId = :estipulanteRecordType.Id];
			System.assertEquals(estipulanteTest.Id, estipulante.id);
        	System.assertEquals(estipulanteTest.CreatedDate, dataAnteOntem);
        
            EmailCaringSenior b = new EmailCaringSenior();
			Database.executebatch(b);
        
        Test.stopTest();
    }
}

 
As the title already explains, I would like to send an email(like a trigger) to my client, notifying when an import was completed automatically.
 created an object called Dados_Utiliza_o__c which contains about 50 fields, which are populated with .csv, among these fields there is a called Nome_do_Paciente__C that contains the name of an account, where my intention is to create a trigger before inserting, where:
1. Check if there is an account (patient in my case) with the CPF (document of unique registration of person in Brazil, similar to Social Security Card) registered in the system;
2. If it does not exist it starts the process of registering
3. As .csv sends the full name in the field, then it breaks the name to enter in the salesforce, first name and last name.
4. Register or update the account if it is already on the system.
5. If the registered account name is the same as the Nome_do_Segurado__c field (another field and something that can occur in .csv), it lists this created or updated account, otherwise it just inserts in text form in the unrelated field

This is my trigger currently, I'm not finding what's wrong or if something is missing:
 
trigger PacienteUtilizacao on Dados_Utiliza_o__c (before insert) {
    
	Account paciente;
    Account segurado;
    String restSplits;
    String firstSplit;
   
    RecordType personAccountRecordType =  [SELECT Id FROM RecordType WHERE Name = 'Paciente' AND SObjectType = 'Account'];
    
    //verifica se existe um account com o mesmo nome do preenchido
    for(Dados_Utiliza_o__c utilizacao : Trigger.new)
    {
    	try {
            paciente = [
                SELECT
                	FirstName,
                	LastName,
                    Sexo__pc,
                    Birthdate__c,
                    CPF__pc
                FROM Account
                WHERE CPF__pc = :utilizacao.CPF_CGC_do_Referenciado__c
                LIMIT 1
            ];
        //se não encontrar ele cadastra
		} catch (Exception e) {
       		paciente = new Account();         
		}
        
        //Quando não encontrar o paciente no try de cima ele então cadastra
        try {   
           
            //Quebra o nome do paciente em First Name e Last Name
        	if(utilizacao.Nome_do_Paciente_Texto__c != null){
            	String input = utilizacao.Nome_do_Paciente_Texto__c;
            	firstSplit = input.substringBefore(' ');
            	restSplits = input.substringAfter(' ');
                
                paciente.RecordTypeId = personAccountRecordType.Id;
                paciente.FirstName = firstSplit;
                paciente.LastName = restSplits;
                paciente.Sexo__pc = utilizacao.Sexo__c;
                paciente.Birthdate__c = utilizacao.Data_de_Nascimento_Y2K__c;
                paciente.CPF__pc = utilizacao.CPF_CGC_do_Referenciado__c;
                upsert paciente;
         	}     
            
        } catch (Exception e) {
            System.debug(e.getMessage());
        }
        
        String fullName = paciente.FirstName + ' ' + paciente.LastName;
        System.debug(paciente.Id);
        
        //se o nome do Segurado for o mesmo nome , entao o id do segurado é o id que achamos para o paciente    
        IF (utilizacao.Nome_do_Segurado_Texto__c == fullName){
			utilizacao.Nome_do_Segurado__c = paciente.Id;
            System.debug(utilizacao.Nome_do_Segurado__c);
        } ELSE{
             //se nao for, vamos tentar buscar o segurado pelo nome.
			try {
            	segurado = [
                	SELECT
                    FirstName,
                    LastName,
                    Sexo__pc,
                    Birthdate__c,
                    CPF__pc
                    FROM Account
                    WHERE CPF__pc = :utilizacao.Nome_do_Segurado__c
                    LIMIT 1
                ];
                //se acharmos, entao vamos buscar o ID no registro de utilizacao que estamos criando.
                utilizacao.Nome_do_Segurado__c = segurado.Id;
            } catch (Exception e) {
            	System.debug(e.getMessage());        
            }
        }
    }
}


An this is my UnitTest

@isTest
public class Test_PacienteUtilizacao {
	static testMethod void testInserePacienteQueNaoExisteNomesIguais()
    {   
        Integer quantidadePacientesInicial = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesInicial, 0);
        
        Dados_Utiliza_o__c utilizacao = new Dados_Utiliza_o__c();      
        utilizacao.Nome_do_Segurado_Texto__c = 'Joelinton Barbosa Siqueira Gomes Freitas';
        utilizacao.Nome_do_Paciente_Texto__c = 'Joelinton Barbosa Siqueira Gomes Freitas';
        utilizacao.Sexo__c = 'Masculino';
        utilizacao.Data_de_Nascimento_Y2K__c = Date.newInstance(1962, 12, 9);
        utilizacao.CPF_CGC_do_Referenciado__c = '61583025200';
        insert utilizacao;
        
        Integer quantidadePacientesPosterior = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesPosterior, 1);
        
        Account pacienteId = [SELECT Id FROM Account WHERE CPF__pc = '61583025200' LIMIT 1];
        System.debug(pacienteId.Id);
        System.debug(utilizacao.Nome_do_Segurado__r.Id);
        System.assertEquals(pacienteId.Id, utilizacao.Nome_do_Segurado__c);
        
    }
    
    /*static testMethod void testAtualizaPacienteAoPreencherSubirArquivo()
    {
        RecordType personAccountRecordType =  [SELECT Id FROM RecordType WHERE Name = 'Paciente' AND SObjectType = 'Account'];
        Account paciente = new Account();
        paciente.RecordType = personAccountRecordType;             
        paciente.FirstName = 'Arestides';
        paciente.LastName = 'Barborsa';
        paciente.Sexo__pc = 'Masculino';
        paciente.CPF__pc = '13317351306';

        insert paciente;
        
        Account pacienteBase = [SELECT FirstName FROM Account WHERE CPF__pc = '13317351306' LIMIT 1];
        System.assertEquals(pacienteBase.FirstName, 'Arestides');
        
        Dados_Utiliza_o__c utilizacao = new Dados_Utiliza_o__c();      
        utilizacao.Nome_do_Segurado_Texto__c = 'Wilson Gonçalves Pereira';
        utilizacao.Nome_do_Paciente_Texto__c = 'Wilson Gonçalves Pereira';
        utilizacao.Sexo__c = 'Masculino';
        utilizacao.Data_de_Nascimento_Y2K__c = Date.newInstance(1962, 12, 9);
        utilizacao.CPF_CGC_do_Referenciado__c = '13317351306';
        insert utilizacao;
        
        Account pacienteBaseAtualizado = [SELECT FirstName FROM Account WHERE CPF__pc = '13317351306' LIMIT 1];
        System.assertEquals(pacienteBaseAtualizado.FirstName, 'Wilson');
    }
    
    static testMethod void testInserePacienteQueNaoExisteNomesDiferentes()
    {   
        Integer quantidadePacientesInicial = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesInicial, 0);
        
        Dados_Utiliza_o__c utilizacao = new Dados_Utiliza_o__c();      
        utilizacao.Nome_do_Segurado_Texto__c = 'Alcindo da Silva';
        utilizacao.Nome_do_Paciente_Texto__c = 'Cleiton Soares';
        utilizacao.Sexo__c = 'Masculino';
        utilizacao.Data_de_Nascimento_Y2K__c = Date.newInstance(1962, 12, 9);
        utilizacao.CPF_CGC_do_Referenciado__c = '12453278625';
        insert utilizacao;
        
        Integer quantidadePacientesPosterior = [SELECT COUNT() FROM Account];
        System.assertEquals(quantidadePacientesPosterior, 1);
    }*/
}

My Log(debug):
User-added image
My Full Log:

https://gist.github.com/gabrielmocelin/212e6f5db8b8b2a9d5a0e42c33232e4e