Skip to main content

Overview

Preventivos judiciales are the core incident reports in the Seguridad system. This module provides comprehensive tools for searching, viewing, and managing these records throughout their lifecycle.

What is a Preventivo?

A preventivo judicial is an official police incident report that documents:
  • Criminal incidents and investigations
  • Complainant and witness information
  • Suspect and victim details
  • Evidence and recovered items
  • Judicial assignments (court, judge, secretary)
  • Location and temporal data
  • Investigation outcomes
Preventivos are uniquely identified by three components:
  • Number (nro_preventivo)
  • Year (anio_preventivo)
  • Dependency (dependencia)

Searching for Preventivos

The search interface (buscarPreventivo.php) allows you to locate specific preventivo records.
1

Access Search Form

Navigate to the preventivo search page from the main menu
2

Enter Search Criteria

Provide the preventivo number, year, and select the regional unit and dependency
3

Execute Search

Click the Buscar (Search) button to retrieve the record
4

View Results

The system displays the complete preventivo details in a new window

Search Parameters

nro
number
required
The preventivo number to search for
anio
number
required
The year of the preventivo
paises
select
required
Regional Unit (Unidad Regional) where the incident was reported. Options include:
  • Unidad Regional I through XIII
  • Specialized directorates (Operations, Community Police, etc.)
estados
select
required
Specific police dependency within the selected regional unit
The dependency dropdown is dynamically populated based on the selected regional unit using JavaScript.

Preventivo Record Structure

When you retrieve a preventivo, the following information is displayed:

Identification Data

FieldDescription
IDInternal database identifier (id_preventivos)
Nro. PreventivoPreventivo number and year
DependenciaPolice dependency that filed the report
Fecha PreventivoDate the preventivo was created
Fecha HechoDate the incident occurred

Parties Involved

FieldDescription
DenuncianteName of the complainant
Tipo Doc / Nro DocComplainant’s ID document type and number
SospechososSuspect names or descriptions
InculpadoWhether suspect is known or unknown
Sexo/Género InculpadoSex and gender identity of suspect
Edad InculpadoAge range of suspect
Sexo/Género VíctimaSex and gender identity of victim
Edad VíctimaAge of victim
VínculoRelationship between suspect and victim

Crime Classification

FieldDescription
HechoType of crime
Modus OperandiHow the crime was committed
Tipo DelitoCrime category (persons, property, sexual, other)
EsclarecidoWhether the case is solved
MotivoWhat initiated the investigation
Recupero SustraídoWhether stolen items were recovered

Location Information

FieldDescription
Lugar HechoLocation description
Tipo LugarType of location (residence, street, commercial, etc.)
ZonaUrban or rural
Barrio/ChacraNeighborhood or farm
Tipo VíaType of road (street, avenue, route)
CalleStreet name
AlturaStreet number
IntersecciónCross street
Nro. CasaHouse number
Latitud / LongitudGPS coordinates
Dirección GPSGPS address
LocalidadCity/locality

Judicial Assignment

FieldDescription
Circunscripción JudicialJudicial circuit (Posadas, Obera, Eldorado, Puerto Rico)
JuzgadoAssigned court of instruction
SecretaríaAssigned secretary office

Detention Information

FieldDescription
DetenidoWhether there were detentions
Cantidad DetenidosTotal number of detainees
Detenidos por SexoBreakdown by sex (male/female)
Detenidos por EdadBreakdown by age (under 18 / 18 or older)

Temporal Data

FieldDescription
Horario del HechoTime range when incident occurred (2-hour blocks)
Fecha CargaDate the record was entered into the system

Editing Preventivos

The system allows limited editing of existing preventivo records:
1

Search for Record

Use the search function to locate the preventivo you want to modify
2

Load for Editing

The search results page includes a “MODIFICAR” (Modify) link
3

Update Fields

Modify the allowed fields (typically location coordinates and modus operandi)
4

Save Changes

Submit the form to update the record
Limited Edit Access: For data integrity, only certain fields can be modified after creation:
  • Latitude and longitude coordinates
  • Modus operandi
Core incident details (dates, parties involved, crime type) cannot be changed through the edit function.

Database Schema

Preventivos are stored in the preventivos_judiciales table with the following key structure:
CREATE TABLE preventivos_judiciales (
    id_preventivos SERIAL PRIMARY KEY,
    nro_preventivo INTEGER NOT NULL,
    anio_preventivo INTEGER NOT NULL,
    fecha_preventivo DATE NOT NULL,
    dependencia VARCHAR NOT NULL,
    denunciante VARCHAR,
    tipo_doc VARCHAR,
    nro_doc VARCHAR,
    fecha_hecho DATE,
    sospechosos VARCHAR,
    hecho VARCHAR,
    modus_operandi_fk INTEGER,
    esclarecido VARCHAR,
    circunscripcion_judicial INTEGER,
    juzgado INTEGER,
    secretaria INTEGER,
    extracto_preventivo TEXT,
    latitud VARCHAR,
    longitud VARCHAR,
    direccion_gps VARCHAR,
    tipo_lugar_hecho VARCHAR,
    lugar_hecho VARCHAR,
    zona VARCHAR,
    -- Additional fields for detailed location
    barrio_chacra VARCHAR,
    tipo_via_lugar_hecho VARCHAR,
    calle_lugar_hecho VARCHAR,
    altura_lugar_hecho VARCHAR,
    interseccion_lugar_hecho VARCHAR,
    nro_casa_lugar_hecho VARCHAR,
    -- Suspect information
    inculpado VARCHAR,
    sexo_inculpado VARCHAR,
    genero_inculpado INTEGER,
    edad_inculpado VARCHAR,
    -- Victim information
    sexo_victima VARCHAR,
    genero_victima INTEGER,
    edad_victima VARCHAR,
    vinculo_imputado_victima VARCHAR,
    -- Detention information
    detenido VARCHAR,
    cantidad_detenidos INTEGER,
    detenido_masculino INTEGER,
    detenido_femenino INTEGER,
    detenido_menor_18 INTEGER,
    detenido_mayor_18 INTEGER,
    -- Investigation details
    motivo_origina_instruccion_causa VARCHAR,
    recupero_sustraido VARCHAR,
    horario_hecho VARCHAR,
    fecha_carga DATE,
    -- Additional fields for special cases
    -- (traffic deaths, homicides, suicides)
    ...
);

Fotografias (Photos)

Attached photos are stored in a separate table:
CREATE TABLE fotografias (
    imagen VARCHAR,
    nro_preventivo INTEGER,
    anio_preventivo INTEGER,
    dependencia VARCHAR,
    direccion INTEGER
);

Vehiculos Robados (Stolen Vehicles)

For vehicle theft cases, entries are created in:
CREATE TABLE vehiculos_robados (
    ur VARCHAR,
    depe VARCHAR,
    fecha DATE,
    dni VARCHAR,
    apeynom VARCHAR,
    datos_vehiculo VARCHAR,
    habido VARCHAR,
    dominio VARCHAR,
    chasis VARCHAR,
    motor VARCHAR,
    nro INTEGER,
    anio INTEGER,
    tipo_rodado VARCHAR
);

Reporting and Statistics

Preventivo data is used throughout the system for:

Crime Statistics

Generate reports on crime rates, trends, and patterns by type, location, and time

Judicial Assignment

Track case distribution across courts and secretaries

Clearance Rates

Monitor investigation outcomes and solved case percentages

Geographic Analysis

Create heat maps and spatial analysis of crime incidents

Query Capabilities

The system supports various queries on preventivo data:

By Time Period

SELECT * FROM preventivos_judiciales
WHERE fecha_preventivo BETWEEN '2024-01-01' AND '2024-12-31'
ORDER BY fecha_preventivo DESC;

By Crime Type

SELECT hecho, COUNT(*) as cantidad
FROM preventivos_judiciales
GROUP BY hecho
ORDER BY cantidad DESC;

By Dependency

SELECT dependencia, COUNT(*) as total_preventivos
FROM preventivos_judiciales
WHERE anio_preventivo = 2024
GROUP BY dependencia
ORDER BY total_preventivos DESC;

By Resolution Status

SELECT esclarecido, COUNT(*) as casos
FROM preventivos_judiciales
GROUP BY esclarecido;

Data Integrity Rules

Duplicate Prevention: The system checks for duplicates before creation:
SELECT COUNT(id_preventivos)
FROM preventivos_judiciales
WHERE nro_preventivo = ? 
  AND anio_preventivo = ? 
  AND dependencia = ?
If a match is found, creation is blocked.
Period Closure: Records cannot be created for dates in closed periods:
SELECT fecha_periodo_cierre
FROM fecha_periodo_cierre
If the preventivo date is before the closure date, creation is denied.

Extension Records

Preventivos can have extension records added to them through the extension table:
INSERT INTO extension VALUES (
    nro_preventivo,
    anio_preventivo,
    dependencia,
    texto_extension,
    fecha_extension
);
These extensions allow additional information to be appended to a case without modifying the original record.

Best Practices

Always use the three-part identifier (number, year, dependency) when referencing preventivos. The internal ID is for system use only.
Ensure all required fields are populated during creation. Limited editing capability means corrections are difficult after submission.
Use standardized naming conventions for people, places, and addresses to facilitate searching and reporting.
Add extension records promptly when new information becomes available rather than trying to edit the original.
Verify GPS coordinates are accurate as they cannot be easily corrected and are used for spatial analysis.

Common Operations

Finding Recent Cases

To find the most recent preventivos for a dependency:
1

Select Regional Unit

Choose the appropriate Unidad Regional from the dropdown
2

Select Dependency

Choose the specific dependency
3

Sort by Date

Results can be filtered by date range in reporting interfaces

Tracking Case Progress

Monitor case status through:
  1. Esclarecido Field: Shows if case is solved
  2. Extension Records: Additional investigation notes
  3. Judicial Assignment: Current court handling the case
  4. Detention Records: Any arrests made
While the system doesn’t have formal case linking, related preventivos can be identified by:
  • Same victim or suspect names
  • Similar modus operandi
  • Geographic proximity (coordinates)
  • Temporal clustering (dates)

Troubleshooting

Common reasons:
  • Wrong year entered
  • Wrong dependency selected
  • Number transposition error
  • Case filed under different dependency
Try searching with partial information or broader date ranges.
Most fields are locked after creation for data integrity. If significant corrections are needed, contact system administration or add an extension record with corrections noted.
If you receive a duplicate warning but believe the case is new:
  • Verify the preventivo number sequence
  • Check if the case was previously entered by another user
  • Confirm the correct year is selected
  • Contact the dependency administrator

Crime Reporting

How to create new preventivo reports

Federal Crimes

Handling federal jurisdiction cases

Statistics

Generating reports from preventivo data

Maps

Visualizing preventivo locations

Build docs developers (and LLMs) love