System for analyzing health operator expenses, developed as part of the Intuitive Care selection process.
Status: Under Development. The backend (ETL, Validation) is currently implemented. Frontend and Database persistence modules are in progress.
ETL pipeline integrated with a REST API for consolidation, validation, and analysis of public data provided by ANS (National Agency for Supplementary Health).
Developed continuously, focusing on engineering best practices and architectural clarity.
- Processing and consolidation of public ANS data (ETL)
- Data validation and normalization (CNPJ, consistency, and integrity)
- Persistence and analytical queries in a relational database (In Progress)
- Data exposure via REST API
- Web interface for visualization and analysis (In Progress)
- Java 17 (LTS)
- Spring Boot 3.2 (Web and Data JPA)
- Maven 3.9.6
- PostgreSQL 14+
- Lombok
- Apache Commons CSV
.
├── .devcontainer/
│ ├── devcontainer.json
│ └── setup-project.sh
├── src/
│ ├── main/
│ │ ├── java/br/com/intuitivecare/
│ │ │ ├── config/
│ │ │ ├── controller/
│ │ │ │ ├── EtlController.java
│ │ │ │ └── HealthController.java
│ │ │ ├── dto/
│ │ │ ├── service/
│ │ │ │ ├── etl/
│ │ │ │ ├── EnriquecedorService.java
│ │ │ │ └── ValidadorService.java
│ │ │ └── TesteEstagioApplication.java
│ │ └── resources/
│ │ ├── application.yml
│ └── test/
├── Dockerfile
├── pom.xml
└── README.md
Containerized development environment with all dependencies configured.
Prerequisites:
- VSCode
- Docker Desktop
- Extension: Dev Containers
Execution:
-
Clone the repository:
git clone https://github.com/sherlocod3/teste-intuitive-care.git cd teste-intuitive-care code .
-
When prompted, click "Reopen in Container" or use
Ctrl+Shift+P-> "Dev Containers: Reopen in Container". -
Wait for the initial build to complete.
Run Backend:
mvn spring-boot:runAPI available at: http://localhost:8080
Prerequisites:
- Java 17 or higher
- Maven 3.8+
- PostgreSQL 14+
1. Clone the Repository
git clone https://github.com/sherlocod3/teste-intuitive-care.git
cd teste-intuitive-care2. Database Configuration
Create the database in PostgreSQL and configure credentials in:
src/main/resources/application-local.yml (if available) or override application.yml properties.
3. Run Backend
mvn clean install
mvn spring-boot:runAPI available at: http://localhost:8080
Swagger UI: http://localhost:8080/swagger-ui.html
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/operadoras |
Paged list of operators |
| GET | /api/operadoras/{cnpj} |
Operator details |
| GET | /api/operadoras/{cnpj}/despesas |
Expenses history |
| GET | /api/estatisticas |
Aggregated statistics |
Major architectural decisions, trade-offs, and justifications are documented in:
docs/DECISOES_TECNICAS.md
- Complete ETL pipeline (303k -> 792 unique records after aggregation)
- Automatic download of ANS quarterly data
- Robust CSV processing with multiple formats
- CNPJ validation using official algorithms
- Detailed logging at each stage
- Join with operator registry (logic implemented, troubleshooting)
- SQL scripts for specific analyses
- Additional REST endpoints
- Finalize data enrichment
- Implement requested SQL queries
- Complete Vue.js interface
- Document technical trade-offs in README
Alexandre Cavalari GitHub: sherlocod3 LinkedIn: alexandre-cavalari-lp
Last Update: February/2026