{
    "uuid": "dac30161606b366ca4aa73f4f2506ef4",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle mensuel bassin aquacole",
    "description": "Suivi mensuel d'un bassin de pisciculture ou d'aquaculture continentale : paramètres physico-chimiques de l'eau (O2 dissous, pH, NH3, NO2, température), biofiltre, taux de renouvellement, mortalité et bien-être animal.",
    "export_date": "2026-05-28 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "bas_exploitant",
            "label": "Exploitant \/ Pisciculture",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Raison sociale exploitant",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_site",
            "label": "Site d'exploitation",
            "type": "varchar",
            "size": "200",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Localisation du site",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_identifiant",
            "label": "Identifiant du bassin",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro ou nom du bassin",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_type",
            "label": "Type de bassin",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "etang_terre": "Étang en terre",
                    "raceway_beton": "Raceway béton",
                    "bassin_circulaire": "Bassin circulaire",
                    "bassin_alevinage": "Bassin d'alevinage",
                    "bassin_ras": "Bassin RAS (recirculé)",
                    "bassin_grossissement": "Bassin de grossissement"
                }
            },
            "help": "Typologie",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "raceway_beton",
            "alwayseditable": 0
        },
        {
            "name": "bas_volume_m3",
            "label": "Volume d'eau (m3)",
            "type": "double",
            "size": "8,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Volume utile",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_espece_elevee",
            "label": "Espèce élevée",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "truite_arc": "Truite arc-en-ciel",
                    "truite_fario": "Truite fario",
                    "saumon_atlantique": "Saumon atlantique",
                    "esturgeon": "Esturgeon",
                    "carpe": "Carpe",
                    "silure": "Silure",
                    "sandre_perche": "Sandre \/ Perche",
                    "ombre": "Ombre commun",
                    "alevin": "Alevins multi-espèces",
                    "autre": "Autre"
                }
            },
            "help": "Espèce principale",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "truite_arc",
            "alwayseditable": 0
        },
        {
            "name": "bas_biomasse_kg",
            "label": "Biomasse estimée (kg)",
            "type": "double",
            "size": "10,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Poids vif total estimé",
            "pos": 160,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "type_intervention",
            "label": "Type d'intervention",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "controle_mensuel": "Contrôle mensuel programmé",
                    "controle_hebdomadaire": "Contrôle hebdomadaire",
                    "controle_urgence": "Contrôle d'urgence (mortalité, alerte)",
                    "controle_mise_en_charge": "Contrôle après mise en charge",
                    "vidange_curage": "Vidange \/ curage"
                }
            },
            "help": "Nature du contrôle",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "controle_mensuel",
            "alwayseditable": 0
        },
        {
            "name": "bas_temperature_c",
            "label": "Température (°C)",
            "type": "double",
            "size": "4,1",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mesure à 30 cm sous la surface",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_oxygene_mgl",
            "label": "Oxygène dissous (mg\/L)",
            "type": "double",
            "size": "4,2",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible salmonidés > 7 mg\/L",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_saturation_o2_pct",
            "label": "Saturation O2 (%)",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pourcentage de saturation",
            "pos": 315,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_ph",
            "label": "pH",
            "type": "double",
            "size": "3,1",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible 6.5 - 8.5",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_nh3_mgl",
            "label": "Ammoniaque NH3 (mg\/L)",
            "type": "double",
            "size": "5,3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Ammoniaque non ionisée (toxique > 0.025)",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_no2_mgl",
            "label": "Nitrites NO2 (mg\/L)",
            "type": "double",
            "size": "5,3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible < 0.1 mg\/L",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_no3_mgl",
            "label": "Nitrates NO3 (mg\/L)",
            "type": "double",
            "size": "5,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible RAS < 50 mg\/L",
            "pos": 345,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_turbidite_ntu",
            "label": "Turbidité (NTU)",
            "type": "double",
            "size": "5,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Suspension particulaire",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_debit_renouvellement_lh",
            "label": "Débit renouvellement (L\/h)",
            "type": "int",
            "size": "8",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Débit d'eau neuve entrant",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "verif_biofiltre",
            "label": "Biofiltre OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Si bassin RAS : biofiltre opérationnel",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_oxygenation_secours",
            "label": "Oxygénation de secours OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Diffuseurs et bouteille O2 testés",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_alarme_o2",
            "label": "Alarme sonde O2 fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Test alarme à seuil bas",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_grilles_evacuation",
            "label": "Grilles d'évacuation propres",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de colmatage",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_anti_predateurs",
            "label": "Protections anti-prédateurs OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Filets oiseaux, clôture",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "bas_mortalite_periode",
            "label": "Mortalité sur la période (nb individus)",
            "type": "int",
            "size": "6",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cumul depuis dernier contrôle",
            "pos": 420,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bas_indice_conversion",
            "label": "Indice de conversion (FCR)",
            "type": "double",
            "size": "4,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Kg aliment \/ kg gain",
            "pos": 430,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "verif_comportement_animal",
            "label": "Comportement animal normal",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nage, appétit, absence de signes cliniques",
            "pos": 440,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "observations_sanitaires",
            "label": "Observations sanitaires",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Symptômes, traitements en cours",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "actions_correctives",
            "label": "Actions correctives engagées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Ajustement débit, oxygénation, traitement",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "conclusion",
            "label": "Conclusion",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "conforme": "Bassin conforme",
                    "surveillance_renforcee": "Surveillance renforcée",
                    "alerte_sanitaire": "Alerte sanitaire - intervention requise"
                }
            },
            "help": "Décision de suivi",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "conforme",
            "alwayseditable": 0
        },
        {
            "name": "date_prochain_controle",
            "label": "Date prochain contrôle",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon plan de suivi",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "operateur_nom",
            "personal_data": 1,
            "label": "Nom de l'opérateur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pisciculteur ou technicien",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "qualification",
            "label": "Qualification",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pisciculteur certifié, vétérinaire piscicole",
            "pos": 710,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        }
    ],
    "pdf_layout": {
        "version": "1.1",
        "page": {
            "format": "A4",
            "orientation": "portrait",
            "margins": { "top": 20, "right": 15, "bottom": 20, "left": 15 },
            "font_family": "helvetica",
            "font_size": 10
        },
        "header": {
            "title": "Contrôle mensuel bassin aquacole",
            "subtitle": "Suivi physico-chimique de l'eau et bien-être animal",
            "logo_placeholder": "top-right",
            "show_page_number": true,
            "show_generated_date": true
        },
        "footer": {
            "text": "Document généré via schemas.cap-rel.fr",
            "legal_mentions": "Document de suivi sanitaire à archiver"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification du bassin",
                "layout": "two_columns",
                "fields": [
                    "bas_exploitant",
                    "bas_site",
                    "bas_identifiant",
                    "bas_type",
                    "bas_volume_m3",
                    "bas_espece_elevee",
                    "bas_biomasse_kg"
                ]
            },
            {
                "id": "intervention",
                "title": "Type d'intervention",
                "layout": "single_column",
                "fields": ["type_intervention"]
            },
            {
                "id": "parametres_eau",
                "title": "Paramètres physico-chimiques de l'eau",
                "layout": "two_columns",
                "fields": [
                    "bas_temperature_c",
                    "bas_oxygene_mgl",
                    "bas_saturation_o2_pct",
                    "bas_ph",
                    "bas_nh3_mgl",
                    "bas_no2_mgl",
                    "bas_no3_mgl",
                    "bas_turbidite_ntu",
                    "bas_debit_renouvellement_lh"
                ]
            },
            {
                "id": "equipements",
                "title": "Équipements de support à la vie",
                "layout": "checklist",
                "fields": [
                    "verif_biofiltre",
                    "verif_oxygenation_secours",
                    "verif_alarme_o2",
                    "verif_grilles_evacuation",
                    "verif_anti_predateurs"
                ]
            },
            {
                "id": "performance",
                "title": "Mortalité, production et bien-être",
                "layout": "two_columns",
                "fields": [
                    "bas_mortalite_periode",
                    "bas_indice_conversion",
                    "verif_comportement_animal"
                ]
            },
            {
                "id": "observations",
                "title": "Observations sanitaires et actions correctives",
                "layout": "full_width",
                "fields": ["observations_sanitaires", "actions_correctives"]
            },
            {
                "id": "conclusion",
                "title": "Conclusion",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochain_controle"]
            },
            {
                "id": "signatures",
                "title": "Opérateur",
                "layout": "signature_block",
                "fields": ["operateur_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature opérateur", "for_field": "operateur_nom" },
                    { "label": "Visa responsable site", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "bas_exploitant": { "style": "bold" },
            "bas_temperature_c": { "suffix": " °C" },
            "bas_oxygene_mgl": { "suffix": " mg\/L" },
            "bas_saturation_o2_pct": { "suffix": " %" },
            "bas_nh3_mgl": { "suffix": " mg\/L" },
            "bas_no2_mgl": { "suffix": " mg\/L" },
            "bas_no3_mgl": { "suffix": " mg\/L" },
            "bas_turbidite_ntu": { "suffix": " NTU" },
            "bas_debit_renouvellement_lh": { "suffix": " L\/h" },
            "bas_volume_m3": { "suffix": " m3" },
            "bas_biomasse_kg": { "suffix": " kg" },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "conforme": "#1f8a1f",
                    "surveillance_renforcee": "#e69500",
                    "alerte_sanitaire": "#c00000"
                }
            },
            "observations_sanitaires": { "min_height": 30, "show_if_empty": false },
            "actions_correctives": { "min_height": 30, "show_if_empty": false }
        }
    }
}
