{
    "uuid": "f54c7a683bfe04ef70acfff971d60f45",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Exercice PPMS établissement sanitaire / EHPAD",
    "description": "Exercice et test du plan particulier de mise en sûreté (PPMS) en établissement de soins ou EHPAD - mise a l'abri, évacuation, confinement",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "ppm_etablissement",
            "label": "Établissement",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "EHPAD, hôpital, clinique",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ppm_adresse",
            "label": "Adresse",
            "type": "varchar",
            "size": "200",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Adresse complete site",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ppm_nb_residents",
            "label": "Nb résidents / patients",
            "type": "int",
            "size": "5",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Effectif accueilli",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ppm_nb_personnel",
            "label": "Nb personnel présent",
            "type": "int",
            "size": "5",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Personnel a l'exercice",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ppm_scenario",
            "label": "Scénario testé",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "intrusion": "Intrusion / attentat",
                    "incendie": "Incendie",
                    "nrbc": "Risque NRBC / chimique",
                    "tempete_inondation": "Tempete / inondation",
                    "coupure_secteur": "Coupure secteur prolongee",
                    "epidemie": "Plan blanc / epidemie",
                    "evacuation_totale": "Evacuation totale"
                }
            },
            "help": "Type de scénario",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "incendie",
            "alwayseditable": 0
        },
        {
            "name": "ppm_date_exercice",
            "label": "Date exercice",
            "type": "date",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date de réalisation",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ppm_duree_exercice",
            "label": "Durée exercice (min)",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Durée totale",
            "pos": 160,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "type_intervention",
            "label": "Type intervention",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "exercice_annuel": "Exercice annuel",
                    "exercice_inopine": "Exercice inopine",
                    "test_alarme": "Test alarme et alerte",
                    "test_evac_partielle": "Evacuation partielle",
                    "test_confinement": "Test confinement",
                    "audit_ppms": "Audit PPMS"
                }
            },
            "help": "Nature exercice",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "exercice_annuel",
            "alwayseditable": 0
        },
        {
            "name": "verif_ppms_a_jour",
            "label": "PPMS à jour et accessible",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Document signé, dernière maj",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_alerte_diffusee",
            "label": "Alerte diffusée a tous",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Sirène, sms, talkie, bipper",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_cellule_crise",
            "label": "Cellule de crise activée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Local et personnes designees",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_evacuation_residents",
            "label": "Évacuation / regroupement OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Résidents en zone refuge / hors bâtiment",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_appel_compte",
            "label": "Appel / comptage résidents",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Liste vérifiée complete",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_dispositif_confinement",
            "label": "Dispositifs confinement",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Calfeutrement, coupure VMC, fermeture",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_mallette_ppms",
            "label": "Mallette PPMS disponible",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Radio, lampes, gilets, premier secours",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_liaison_autorite",
            "label": "Liaison autorités (SAMU / SP / mairie)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéros, contacts utilisés",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_debriefing",
            "label": "Debriefing réalisé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Retour exercice avec équipes",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "anomalies_constatees",
            "label": "Difficultés / anomalies",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Points faibles observés",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "mesures_correctives",
            "label": "Plan d'action / suite",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Améliorations à apporter",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "conclusion",
            "label": "Conclusion exercice",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "SATISFAISANT - PPMS operationnel",
                    "apte_reserve": "PARTIEL - PPMS a ajuster",
                    "inapte": "INSATISFAISANT - Refonte PPMS necessaire"
                }
            },
            "help": "Bilan global",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "date_prochaine_verif",
            "label": "Date prochain exercice",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Périodicité annuelle",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "verificateur_nom",
            "personal_data": 1,
            "label": "Nom du responsable exercice",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Directeur / responsable sûreté",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "qualification",
            "label": "Fonction",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Directeur, RSSE, formateur",
            "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 d'exercice PPMS établissement sanitaire / EHPAD",
            "subtitle": "Plan particulier de mise en sûreté",
            "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'établissement et de l'exercice",
                "layout": "two_columns",
                "fields": [
                    "ppm_etablissement",
                    "ppm_adresse",
                    "ppm_nb_residents",
                    "ppm_nb_personnel",
                    "ppm_scenario",
                    "ppm_date_exercice",
                    "ppm_duree_exercice"
                ]
            },
            {
                "id": "intervention",
                "title": "Type d'exercice",
                "layout": "single_column",
                "fields": ["type_intervention"]
            },
            {
                "id": "organisation",
                "title": "Organisation et alerte",
                "layout": "checklist",
                "fields": [
                    "verif_ppms_a_jour",
                    "verif_alerte_diffusee",
                    "verif_cellule_crise",
                    "verif_liaison_autorite",
                    "verif_mallette_ppms"
                ]
            },
            {
                "id": "operationnel",
                "title": "Mise en oeuvre opérationnelle",
                "layout": "checklist",
                "fields": [
                    "verif_evacuation_residents",
                    "verif_appel_compte",
                    "verif_dispositif_confinement",
                    "verif_debriefing"
                ]
            },
            {
                "id": "observations",
                "title": "Difficultés et plan d'action",
                "layout": "full_width",
                "fields": [
                    "anomalies_constatees",
                    "mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion de l'exercice",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochaine_verif"]
            },
            {
                "id": "signatures",
                "title": "Responsable exercice",
                "layout": "signature_block",
                "fields": ["verificateur_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature responsable exercice", "for_field": "verificateur_nom" },
                    { "label": "Signature directeur établissement", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "ppm_etablissement": { "style": "bold" },
            "ppm_scenario": { "style": "bold" },
            "ppm_duree_exercice": { "suffix": " min" },
            "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 }
        }
    }
}
