{
    "uuid": "f83ebfb7e85f866dd3fac0f6c0d04647",
    "elementtype": "fichinter",
    "schema_kind": "intervention",
    "title": "Fiche d'intervention - Qualification enceinte thermostatique pharmaceutique",
    "description": "Qualification d'une enceinte thermostatique (etuve, frigo, congélateur) en pharmacie / labo, cartographie et sondes étalonnées",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "ent_etablissement",
            "label": "Établissement",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom et adresse",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ent_localisation",
            "label": "Localisation",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Local, salle, étage",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ent_type",
            "label": "Type enceinte",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "frigo_pos": "Frigo positif (+2/+8 C)",
                    "frigo_neg": "Congelateur (-20 C)",
                    "ultracong": "Ultra-congelateur (-80 C)",
                    "etuve": "Etuve",
                    "incubateur": "Incubateur",
                    "climatique": "Enceinte climatique"
                }
            },
            "help": "Catégorie d'enceinte",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "frigo_pos",
            "alwayseditable": 0
        },
        {
            "name": "ent_marque_modele",
            "label": "Marque et modèle",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Fabricant et modèle",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ent_n_serie",
            "label": "N de série",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro de série",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ent_volume",
            "label": "Volume utile (L)",
            "type": "double",
            "size": "10,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Capacité interne",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ent_consigne",
            "label": "Température de consigne (C)",
            "type": "double",
            "size": "10,1",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Set point",
            "pos": 160,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "type_intervention",
            "label": "Type qualification",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "qi": "Qualification installation (QI)",
                    "qo": "Qualification operationnelle (QO)",
                    "qp": "Qualification performance (QP)",
                    "requalif_annuelle": "Requalification annuelle",
                    "apres_intervention": "Apres intervention / deplacement"
                }
            },
            "help": "Nature intervention",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "requalif_annuelle",
            "alwayseditable": 0
        },
        {
            "name": "ent_nb_sondes",
            "label": "Nombre de sondes utilisées",
            "type": "int",
            "size": "2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "9 sondes mini recommandé pour cartographie",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "9",
            "alwayseditable": 0
        },
        {
            "name": "ent_duree_essai",
            "label": "Durée de l'essai (h)",
            "type": "double",
            "size": "10,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Stabilise + plein régime",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "24",
            "alwayseditable": 0
        },
        {
            "name": "verif_sondes_etalonnees",
            "label": "Sondes étalonnées / COFRAC",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Certificat étalonnage valide",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_repartition_sondes",
            "label": "Répartition sondes conforme",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Sommets, centre, points chauds/froids",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_uniformite",
            "label": "Uniformité spatiale OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Écart inter-sondes dans tolérance",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_stabilite",
            "label": "Stabilité temporelle OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de dérive sur l'essai",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_porte_ouverte",
            "label": "Test ouverture porte / recovery",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Retour consigne dans délai",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_alarme_haute",
            "label": "Alarme haute fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Déclenchement testé",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_alarme_basse",
            "label": "Alarme basse fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Déclenchement testé",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_enregistreur",
            "label": "Enregistreur / traçabilité",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Données archivées, horodatées",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_secours_groupe",
            "label": "Secours électrique / report",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Groupe électrogène, report alarme",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "anomalies_constatees",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Description des écarts",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "mesures_correctives",
            "label": "Actions correctives",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Réglages, réparations",
            "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": {
                    "apte": "APTE a l'utilisation",
                    "apte_reserve": "APTE avec reserves mineures",
                    "inapte": "INAPTE - Interdiction utilisation"
                }
            },
            "help": "Résultat qualification",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "date_prochaine_verif",
            "label": "Date prochaine requalification",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Périodicité annuelle conseillée",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "verificateur_nom",
            "label": "Nom du vérificateur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Opérateur de qualification",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "qualification",
            "label": "Qualification / organisme",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Organisme accrédité COFRAC",
            "pos": 710,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        }
    ],
    "pdf_layout": {
        "version": "1.0",
        "page": {
            "format": "A4",
            "orientation": "portrait",
            "margins": { "top": 20, "right": 15, "bottom": 20, "left": 15 },
            "font_family": "helvetica",
            "font_size": 10
        },
        "header": {
            "title": "Fiche de qualification d'enceinte thermostatique",
            "subtitle": "Cartographie selon NF X 15-140 et BPF",
            "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 à conserver selon la réglementation en vigueur"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification de l'enceinte",
                "layout": "two_columns",
                "fields": [
                    "ent_etablissement",
                    "ent_localisation",
                    "ent_type",
                    "ent_marque_modele",
                    "ent_n_serie",
                    "ent_volume",
                    "ent_consigne"
                ]
            },
            {
                "id": "intervention",
                "title": "Type de qualification",
                "layout": "two_columns",
                "fields": ["type_intervention", "ent_nb_sondes", "ent_duree_essai"]
            },
            {
                "id": "instrumentation",
                "title": "Instrumentation et cartographie",
                "layout": "checklist",
                "fields": [
                    "verif_sondes_etalonnees",
                    "verif_repartition_sondes",
                    "verif_uniformite",
                    "verif_stabilite",
                    "verif_porte_ouverte"
                ]
            },
            {
                "id": "alarmes_secours",
                "title": "Alarmes, traçabilité et secours",
                "layout": "checklist",
                "fields": [
                    "verif_alarme_haute",
                    "verif_alarme_basse",
                    "verif_enregistreur",
                    "verif_secours_groupe"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et actions correctives",
                "layout": "full_width",
                "fields": [
                    "anomalies_constatees",
                    "mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion de la qualification",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochaine_verif"]
            },
            {
                "id": "signatures",
                "title": "Vérificateur",
                "layout": "signature_block",
                "fields": ["verificateur_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature opérateur qualification", "for_field": "verificateur_nom" },
                    { "label": "Signature responsable établissement", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "ent_etablissement": { "style": "bold" },
            "ent_consigne": { "suffix": " °C", "style": "bold" },
            "ent_volume": { "suffix": " L" },
            "ent_duree_essai": { "suffix": " h" },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "mesures_correctives": { "min_height": 30, "show_if_empty": false }
        }
    }
}
