{{ \App\Support\Fg::dateLongueFr(now()) }} · {{ now()->format('H:i') }} @php use App\Support\Fg; @endphp
Supervision nationale {{-- ============ KPIs nationaux ============ --}}
Citoyens enrôlés
{{ number_format($kpis['citoyens_enroles'], 0, ',', "\u{00A0}") }}
dossiers actifs et RAM
Établissements actifs
{{ $kpis['etablissements_actifs'] }}/ {{ $kpis['etablissements_total'] }}
conventionnés & en fonction
Préfectures couvertes
{{ $kpis['prefectures_couvertes'] }}/ {{ $kpis['prefectures_cible'] }}
objectif couverture 2026
Cotisations {{ $periode_label }}
{{ Fg::gnfCourt($kpis['cotisations_mois_gnf']) }}GNF
Taux succès {{ rtrim(rtrim(number_format($kpis['taux_succes_cotisations'], 1, ',', ''), '0'), ',') }} %
{{-- ============ Carte + Flux financier ============ --}}
{{-- Carte hexagonale --}}
{{-- Forme esquissée de la Guinée (blob de fond) --}} @foreach($hexagones as $regionNom => $h) @php $data = $regions_par_nom[$regionNom] ?? null; $nombre = $data['nombre'] ?? 0; $hex = $data['hex'] ?? '#E8F0EA'; $stroke = $data['stroke'] ?? '#A8D0B5'; $labelColor = $data['label_color'] ?? '#0A3622'; $valueColor = $data['value_color'] ?? '#1A5D3A'; $estCapitale = $regionNom === 'Conakry'; @endphp {{ $regionNom }} {{ number_format($nombre, 0, ',', "\u{00A0}") }} @if($estCapitale) @endif @endforeach
Intensité d'enrôlement
FaibleMoyenFort
Répartition
@foreach($regions as $r)
{{ $r['region'] }} {{ number_format($r['nombre'], 0, ',', "\u{00A0}") }} {{ rtrim(rtrim(number_format($r['pct'], 1, ',', ''), '0'), ',') }} %
@endforeach
{{-- Flux financier --}}
{{-- Entrées --}}
Entrées
Cotisations collectées
{{ number_format($flux['cotisations_collectees_gnf'], 0, ',', "\u{00A0}") }}GNF
{{ number_format($flux['nb_adherents'], 0, ',', "\u{00A0}") }} adhérents · Orange {{ rtrim(rtrim(number_format($flux['repartition_operateur']['ORANGE'] ?? 0, 1, ',', ''), '0'), ',') }} % · MTN {{ rtrim(rtrim(number_format($flux['repartition_operateur']['MTN'] ?? 0, 1, ',', ''), '0'), ',') }} %
{{-- Centralisation --}}
Centralisation
Caisse nationale AMU
{{ number_format($flux['solde_caisse_gnf'], 0, ',', "\u{00A0}") }}GNF
solde courant du grand livre
{{-- Sorties --}}
Sorties
Remboursements hôpitaux
{{ number_format($flux['remboursements_sortis_gnf'], 0, ',', "\u{00A0}") }}GNF
{{ $flux['nb_etablissements_rembourses'] }} établissement(s) · délai moyen {{ $flux['delai_moyen_jours'] }} j
{{-- ============ Croissance + Donut + Top ============ --}}
{{-- Courbe de croissance 12 mois --}}
{{ number_format($kpis['citoyens_enroles'], 0, ',', "\u{00A0}") }}
adhérents actifs à fin {{ $periode_label }}
@if($points_svg['path_area']) @foreach($points_svg['dots'] as $i => $pt) @if($i === count($points_svg['dots']) - 1) @else @endif @endforeach @endif
@foreach([0, 3, 6, 9, 11] as $idx) {{ $croissance[$idx]['label'] ?? '' }} @endforeach
{{-- Donut par type d'établissement --}} @if($pec_par_type->isEmpty())
Aucune PEC sur la période.
@else
@foreach($arcs_donut as $a) @endforeach
Total
{{ number_format($total_pec, 0, ',', "\u{00A0}") }}
prises en charge
@foreach($pec_par_type as $t)
{{ $t['label'] }} {{ number_format($t['nb_pec'], 0, ',', "\u{00A0}") }}
@endforeach
@endif
{{-- Top 5 établissements --}} @if($top_etabs->isEmpty())
Aucune PEC classée sur la période.
@else
@foreach($top_etabs as $i => $e) @php $tone = match ($i) { 0 => 'border-cmu-gold-500 bg-cmu-gold-50', 1 => 'border-gray-300 bg-gray-50', 2 => 'border-cmu-gold-200 bg-cmu-gold-50/50', default => 'border-gray-200', }; $rankTone = match ($i) { 0 => 'bg-cmu-gold-500 text-cmu-green-900', 1 => 'bg-gray-400 text-white', 2 => 'bg-cmu-gold-200 text-cmu-gold-700', default => 'bg-gray-100 text-cmu-ink', }; @endphp
{{ $i + 1 }}
{{ $e['nom'] }}
{{ $e['region'] }} · {{ $e['nb_pec'] }} dossiers
{{ Fg::gnfCourt($e['total_cmu_gnf']) }}
GNF
@endforeach
@endif
{{-- =============================================================== --}} {{-- ============ ÉCOSYSTÈME DE COLLECTE (addendum v1.1) ============ --}} {{-- =============================================================== --}}
Addendum v1.1

Écosystème de collecte

{{-- Donut origine --}} @php $pctSoc = $origine['pct_societe']; $pctHop = $origine['pct_hopital']; $circumference = 2 * M_PI * 60; $dashSoc = round($pctSoc * $circumference / 100, 2); $dashHop = round($pctHop * $circumference / 100, 2); @endphp
Hôpital {{ $origine['hopital'] }} · {{ $pctHop }} %
Société AMU {{ $origine['societe'] }} · {{ $pctSoc }} %
Total : {{ $origine['total'] }} dossier{{ $origine['total'] > 1 ? 's' : '' }} initié{{ $origine['total'] > 1 ? 's' : '' }} sur la période.
{{-- Top 5 sociétés --}} @if($perf_societes->isEmpty())
Aucune société active sur la période.
@else
@foreach($perf_societes as $i => $s)
{{ $i + 1 }}
{{ $s['raison_sociale'] }}
{{ $s['points_actifs'] }} pts · {{ $s['adherents_periode'] }} adhérents · taux {{ number_format($s['taux'], 2, ',', '') }} %
{{ Fg::gnfCourt($s['cotisations_gnf']) }}
commission {{ Fg::gnfCourt($s['commission_gnf']) }}
@endforeach
@endif
{{-- =============================================================== --}} {{-- ====== STRUCTURES PRIVÉES CONVENTIONNÉES (addendum v1.1) ====== --}} {{-- =============================================================== --}}
Addendum v1.1

Structures conventionnées

@if($perf_structures->isEmpty())
Aucune PEC sur les structures conventionnées pour cette période.
@else @foreach($perf_structures as $i => $s) {{ $i + 1 }} {{ $s['code'] }} {{ $s['nom'] }} {{ $s['sous_type'] ?? '—' }} {{ $s['nb_pec'] }} {{ Fg::gnfCourt($s['total_actes_gnf']) }} {{ Fg::gnfCourt($s['part_cmu_gnf']) }} @endforeach @endif