Lors de la conversion .csv vers .docx, le traitement des exemples rencontre un problème.
Dans l'exemple suivant, un objet nomenclature est utilisé au Niveau de donnée 1 alors qu'il est défini explicitiement au Niveau de donnée 2

Lien pour équipe Hub https://esantegouv.sharepoint.com/:x:/r/sites/GED-Calypso/espace-projets/Espace%20Programme%20SISAMU/01%20-%20Equipe%20projet/07%20-%20Innovation%20et%20prospectif/12%20-%20Hub%20Sant%C3%A9/11%20-%20Technique%20%26%20sp%C3%A9cifications/Debug%20sensible/model.xlsx?d=w877e617700394cfa86a7acc2baf6cd76&csf=1&web=1&e=KHcYpL
Lorsqu'un objet est utilisé alors qu'il est défini à un niveau inférieur, le script ne s'achève pas.
Capture de la trace python

Variable path de la fonction 'get_examples_with_json_example' au moment de l'exécution :
$.whatsHappen.code
Variable json_example au moment de l'exécution :
{'CreateCase': {'$id': 'http://json-schema.org/draft-07/schema#', 'x-id': 'schema.json#', 'example': 'example.json#', 'type': 'object', 'title': 'CreateCase', 'required': ['caseId', 'creation', 'referenceVersion', 'qualification', 'location'], 'properties': {'caseId': {'type': 'string', 'title': 'Identifiant affaire', 'x-cols': 6, 'example': 'example.json#/caseId', 'description': "Identifiant technique de l'affaire et partagé entre tous les intervenants.\nIl doit pouvoir être généré de façon unique et décentralisée et ne présenter aucune ambiguïté. Il est généré par les systèmes du partenaire récepteur de la primo-demande de secours et contient une clé conventionnelle permettant d'identifier la source.\nValorisation :\n{cleConventionnelle}:{cleUnique}\noù cleConventionnelle est la clé utilisée par le partenaire emetteur et cleUnique l'identifiant locale d'affaire dans le système du partenaire emetteur.\ncleUnique est une chaîne de caractère (string) comprise entre 4 et 22 caractères alphanumériques."}, 'senderCaseId': {'type': 'string', 'title': "Identifiant local de l'affaire", 'x-cols': 6, 'example': 'example.json#/senderCaseId', 'description': "Valoriser avec l'identifiant de l'affaire dans le SI de l'émetteur du message\nCe champ est facultatif, il ne sera notamment pas transmis par NexSIS\nDans le cas où deux opérateurs ont besoin d'identifier une affaire, ils peuvent utiliser les derniers caractères de l'identifiant local de leur partenaire."}, 'creation': {'type': 'string', 'title': "Date Heure de création de l'affaire", 'x-cols': 6, 'example': 'example.json#/creation', 'description': "Groupe date heure de début de partage lié à la création de l'affaire (et donc de génération du caseId). Il doit être renseigné à la fin du processus de la création de la première alerte. Lors de l'ajout d'alerte à une affaire ce champ ne doit pas être modifié. L'indicateur de fuseau horaire Z ne doit pas être utilisé.", 'pattern': '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}', 'format': 'date-time'}, 'referenceVersion': {'type': 'string', 'title': 'Version des nomenclatures du référentiel CISU', 'x-cols': 6, 'example': 'example.json#/referenceVersion', 'description': "Indique le numéro de version du référentiel des nomenclatures des codes transmis. \nCela permet aux différents systèmes de s'assurer qu'ils utilisent la même version des codes de nomenclature que leurs partenaires."}, 'qualification': {'$ref': '#/definitions/qualification'}, 'location': {'$ref': '#/definitions/location'}, 'initialAlert': {'$ref': '#/definitions/alert'}, 'newAlert': {'type': 'array', 'items': {'$ref': '#/definitions/alert'}}, 'severity': {'type': 'string', 'title': "Niveau d'urgence médicale", 'x-cols': 6, 'example': 'example.json#/severity', 'description': "[Non utilisé dans une première version car la définition et l'usage restent à définir]\nPrécise l'urgence médicale :\n EXTREME : Menace extrême pour la vie\n SEVERE : Menace importante pour la vie\n MODERATE - Menace possible pour la vie\n MINOR : Peu ou pas de menace connue pour la vie\n UNKNOWN : Niveau de menace inconnu\nCe niveau de gravité est lié au Motif de Recours Medico-Secouriste associé à l'appel.", 'enum': ['EXTREME', 'SEVERE', 'MODERATE', 'MINOR', 'UNKNOWN']}, 'additionalInformation': {'$ref': '#/definitions/additionalInformation'}, 'freetext': {'type': 'string', 'title': "Description de l'affaire", 'x-cols': 6, 'example': 'example.json#/freetext', 'description': "Texte libre permettant de donner des informations supplémentaires concernant l'affaire"}}}, 'qualification': {'type': 'object', 'title': "Qualification de l'affaire", 'x-display': 'expansion-panels', 'required': ['whatsHappen'], 'properties': {'whatsHappen': {'$ref': '#/definitions/nomenclature'}, 'locationKind': {'$ref': '#/definitions/nomenclature'}, 'riskThreat': {'type': 'array', 'items': {'$ref': '#/definitions/nomenclature'}}, 'healthMotive': {'$ref': '#/definitions/nomenclature'}, 'victims': {'$ref': '#/definitions/victims'}}, 'example': 'example.json#/qualification'}, 'location': {'type': 'object', 'title': "Localisation de l'affaire", 'x-display': 'expansion-panels', 'required': ['locID', 'locLabel', 'name', 'country'], 'properties': {'locID': {'type': 'string', 'title': 'Identifiant technique de localisation', 'x-cols': 6, 'example': 'example.json#/location/locID', 'description': "ID technique et provisoire permettant d'identifier le lieu dans le cadre des échanges de cette affaire."}, 'locLabel': {'type': 'string', 'title': 'Résumé de la localisation', 'x-cols': 6, 'example': 'example.json#/location/locLabel', 'description': 'Correspond à l'étiquette associée à la localisation (plutôt à destination des humains).\nElle va souvent correspondre à la concaténation suivant des règles métiers de différentes informations, dont le "name" (toponyme) et l'adresse.'}, 'name': {'type': 'string', 'title': 'Nom du lieu', 'x-cols': 6, 'example': 'example.json#/location/name', 'description': 'Indique le nom de lieu : nom commercial, lieu-dit, lac, forêt, nom de quartier (plutôt à destination des systèmes).'}, 'addressDetailed': {'$ref': '#/definitions/address'}, 'city': {'$ref': '#/definitions/city'}, 'access': {'$ref': '#/definitions/access'}, 'geometry': {'$ref': '#/definitions/geometry'}, 'externalInfo': {'type': 'array', 'items': {'$ref': '#/definitions/externalInfo'}}, 'country': {'type': 'string', 'title': 'Pays', 'x-cols': 6, 'example': 'example.json#/location/country', 'enum': ['France', 'Allemagne', 'Espagne', 'Italie', 'Suisse', 'Luxembourg', 'Belgique']}, 'freetext': {'type': 'string', 'title': 'Commentaire', 'x-cols': 6, 'example': 'example.json#/location/freetext', 'description': 'Champ libre pour compléter les informations de localisation'}}, 'example': 'example.json#/location'}, 'alert': {'type': 'object', 'title': 'Alerte initiale', 'x-display': 'expansion-panels', 'required': ['id', 'reception', 'reporting', 'caller', 'sourceContact', 'location', 'qualification', 'callTaker'], 'properties': {'id': {'type': 'string', 'title': 'Identifiant alerte', 'x-cols': 6, 'example': 'example.json#/initialAlert/id', 'description': "Identifiant technique unique de l'alerte. Il doit pouvoir être généré automatiquement par le système émetteur et ne doit pas avoir de signification / utilisation particulière par les différents systèmes pour garantir leur découplage.\nVoir la description de l'identifiant de l'affaire pour voir le format.\nLorsqu’une alerte est générée dans NexSIS et crée une affaire, elle est qualifiée d’Alerte Initiale.\na)\tSi cette dernière concerne un partenaire (caractère médical pour la Santé par exemple), elle est relayée seule dans le message. Il y’a un seul objet initialAlert.\nb)\tSinon, une autre alerte liée à la même affaire peut être déclarée ultérieurement, concernant cette fois le partenaire. Lorsqu’elle est déclarée cette Nouvelle Alerte est relayée avec l’Alerte Initiale pour partager un contexte commun. Dans le message de création d’affaire il y’a deux objets alerte : initialAlert et newAlert.\nLe rattachement des messages à une affaire doivent s'appuyer sur les caseId et non les alertId qui peuvent varier d'un système à l'autre."}, 'reception': {'type': 'string', 'title': "Date de réception de l'alerte", 'x-cols': 6, 'example': 'example.json#/initialAlert/reception', 'description': "Groupe date heure de réception de l'alerte", 'pattern': '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}', 'format': 'date-time'}, 'reporting': {'type': 'string', 'title': 'Signalement', 'x-cols': 6, 'example': 'example.json#/initialAlert/reporting', 'description': "Permet d'attirer l'attention des forces partenaires sur une affaire pour le faire sortir du lot.\nEventuellement automatisé en fonction des critères saisis et de leur paramétrage, ou renseigné par l'opérateur. \nPrend les valeurs définies dans la nomenclature CISU :\n- standard : STANDARD\n- signalé : ATTENTION\nLes systèmes peuvent proposer des fonctionnalités faisant ressortir les dossiers avec le libellé ATTENTION", 'enum': ['STANDARD', 'ATTENTION']}, 'freetext': {'type': 'string', 'title': "Informations complémentaires sur l'alerte", 'x-cols': 6, 'example': 'example.json#/initialAlert/freetext', 'description': "Texte libre permettant de donner des informations supplémentaires concernant l'alerte"}, 'caller': {'$ref': '#/definitions/caller'}, 'sourceContact': {'$ref': '#/definitions/contact'}, 'location': {'$ref': '#/definitions/location'}, 'qualification': {'$ref': '#/definitions/qualification'}, 'callTaker': {'$ref': '#/definitions/callTaker'}, 'attachment': {'type': 'array', 'items': {'$ref': '#/definitions/resource'}}}, 'example': 'example.json#/initialAlert'}, 'additionalInformation': {'type': 'object', 'title': 'Informations complémentaires', 'x-display': 'expansion-panels', 'required': [], 'properties': {'customMap': {'$ref': '#/definitions/customMap'}}, 'example': 'example.json#/additionalInformation'}, 'nomenclature': {'type': 'object', 'title': 'Nature de fait', 'x-display': 'expansion-panels', 'required': ['code', 'label'], 'properties': {'code': {'type': 'string', 'title': 'Code', 'x-cols': 6, 'example': 'example.json#/qualification/whatsHappen/code', 'description': 'A valoriser avec un code la nomenclature associée'}, 'label': {'type': 'string', 'title': 'Libellé', 'x-cols': 6, 'example': 'example.json#/qualification/whatsHappen/label', 'description': "A valoriser avec le libellé de la nomenclature associée.\nDans le cas où un système n'est pas en mesure de reconnaître un code, il peut directement afficher le libellé qui est obligatoirement fourni avec le code."}, 'freetext': {'type': 'string', 'title': 'Commentaire', 'x-cols': 6, 'example': 'example.json#/qualification/whatsHappen/freetext', 'description': "Permet de complémenter en commentaire libre l'attribut permettant de qualifier l'événement."}}, 'example': 'example.json#/qualification/whatsHappen'}, 'victims': {'type': 'object', 'title': 'Patients/Victimes', 'x-display': 'expansion-panels', 'required': [], 'properties': {'count': {'type': 'string', 'title': 'Nombre de patients-victimes', 'x-cols': 6, 'example': 'example.json#/qualification/victims/count', 'description': 'Indique le nombre de victimes selon la nomenclature du référentiel CISU', 'enum': ['0', '1', 'SEVERAL', 'MANY', 'UNKNOWN (voir Nomenclature CISU XX)']}, 'mainVictim': {'type': 'string', 'title': 'Type du patient-victime principal', 'x-cols': 6, 'example': 'example.json#/qualification/victims/mainVictim', 'description': "Identifie le type de la principale victime (celle dont l'état de santé provoque le déclenchement de l'envoi des secours). Prend les valeurs du référentiel CISU. Entre dans la détermination des partenaires impliqués par NexSIS.", 'enum': ['INFANT', 'CHILD', 'ADULT', 'PREGNANT', 'SENIOR (voir Nomenclature CISU XX)']}, 'freetext': {'type': 'string', 'title': 'Informations complémentaires sur les patients-victimes', 'x-cols': 6, 'example': 'example.json#/qualification/victims/freetext', 'description': 'Permet de complémenter en commentaire libre la(les) victime(s)'}}, 'example': 'example.json#/qualification/victims'}, 'address': {'type': 'object', 'title': "Détails de l'adresse", 'x-display': 'expansion-panels', 'required': ['complete'], 'properties': {'complete': {'type': 'string', 'title': 'Numéro, type et nom de voie', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/complete', 'description': "Numéro, type et nom de la voie. \nUtilisé pour tout type de voie : autoroute (PK, nom et sens), voie ferrée, voie navigable…\nObligatoire et seule valeur des détails de l'adresse fournie par NexSIS."}, 'number': {'type': 'string', 'title': 'Numéro dans la voie', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/number', 'description': "Numéro dans l'adresse (inclut point kilométrique sur l'autoroute, voie ferrée ou voie navigable). Inclut l'indice de répétition associé au numéro (par exemple bis, a…)."}, 'wayName': {'$ref': '#/definitions/wayName'}}, 'example': 'example.json#/location/addressDetailed'}, 'city': {'type': 'object', 'title': 'Détails de la commune', 'x-display': 'expansion-panels', 'required': [], 'properties': {'name': {'type': 'string', 'title': 'Nom de la commune', 'x-cols': 6, 'example': 'example.json#/location/city/name', 'description': 'Nom officiel de la commune actuelle'}, 'inseeCode': {'type': 'string', 'title': 'Code INSEE de la commune', 'x-cols': 6, 'example': 'example.json#/location/city/inseeCode', 'description': 'Code INSEE de la commune actuelle sur la base du Code Officiel géographique en vigueur. Obligatoire si le nom de la commune est renseigné.', 'pattern': '[0-9]{5}'}, 'detail': {'type': 'string', 'title': 'Complément de commune', 'x-cols': 6, 'example': 'example.json#/location/city/detail', 'description': "Informations complémentaires permettant de préciser le quartier, lieu-dit, ancienne commune, … ou autre information aidant à préciser l'adresse et notamment gérer les cas de communes fusionnées pour le système émetteur\nNB : dans tous les cas, la localisation GPS de la commune doit être fournie afin d'éviter une trop forte ambiguïté"}}, 'example': 'example.json#/location/city'}, 'access': {'type': 'object', 'title': "Détails d'accès", 'x-display': 'expansion-panels', 'required': [], 'properties': {'floor': {'type': 'string', 'title': 'Etage', 'x-cols': 6, 'example': 'example.json#/location/access/floor', 'description': 'Etage '}, 'roomNumber': {'type': 'string', 'title': 'Numéro de porte', 'x-cols': 6, 'example': 'example.json#/location/access/roomNumber', 'description': "Spécifie numéro d'appartement, de chambre, de bureau"}, 'interphone': {'type': 'string', 'title': 'Interphone', 'x-cols': 6, 'example': 'example.json#/location/access/interphone', 'description': "Indique les informations nécessaires à l'identification de l'interphone (numéro, nom)"}, 'accessCode': {'type': 'array', 'items': {'type': 'string', 'title': 'Digicode', 'x-cols': 6, 'example': 'example.json#/location/access/accessCode/0', 'description': "Indique le ou les digicodes dans l'ordre de progression dans le bâtiment"}}, 'elevator': {'type': 'string', 'title': 'Ascenseur/escalier', 'x-cols': 6, 'example': 'example.json#/location/access/elevator', 'description': "Indique l'ascenseur ou la cage d'escalier "}, 'buildingName': {'type': 'string', 'title': 'Bâtiment', 'x-cols': 6, 'example': 'example.json#/location/access/buildingName', 'description': 'Nom du bâtiment'}, 'entrance': {'type': 'string', 'title': 'Entrée', 'x-cols': 6, 'example': 'example.json#/location/access/entrance'}, 'entity': {'type': 'string', 'title': 'Service', 'x-cols': 6, 'example': 'example.json#/location/access/entity', 'description': "Nom du service concerné au sein de l'établissement"}}, 'example': 'example.json#/location/access'}, 'geometry': {'type': 'object', 'title': 'Géometrie associée', 'x-display': 'expansion-panels', 'required': [], 'properties': {'point': {'$ref': '#/definitions/point'}, 'sketch': {'type': 'string', 'title': 'Formes géométriques', 'x-cols': 6, 'example': 'example.json#/location/geometry/sketch'}}, 'example': 'example.json#/location/geometry'}, 'externalInfo': {'type': 'object', 'title': 'Liens aux systèmes externes', 'x-display': 'expansion-panels', 'required': ['freetext', 'type', 'uri'], 'properties': {'freetext': {'type': 'string', 'title': 'Nom de la source', 'x-cols': 6, 'example': 'example.json#/location/externalInfo/0/freetext', 'description': "Système fournissant le localisant : NexSiS ou l'ORG_ID (BAN, IGN, ...)", 'enum': ['BAN', 'IGN', 'NexSIS']}, 'type': {'type': 'string', 'title': 'Type ', 'x-cols': 6, 'example': 'example.json#/location/externalInfo/0/type', 'description': "Définition du type d'objet dans le système\nEx : SIG NexSIS / OSM ont plusieurs types de données -> savoir du quel on parle (POI, tronçon de route, …) pour faciliter le filtre | Aussi table dans une base de données"}, 'uri': {'type': 'string', 'title': 'Identifiant', 'x-cols': 6, 'example': 'example.json#/location/externalInfo/0/uri', 'description': "Identifiant unique dans le type. Exemple : UUID d'un ega"}}, 'example': 'example.json#/location/externalInfo/0'}, 'wayName': {'type': 'object', 'title': 'Type et nom de voie', 'x-display': 'expansion-panels', 'required': ['complete'], 'properties': {'complete': {'type': 'string', 'title': 'Type et nom', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/wayName/complete', 'description': 'Type et nom de la voie (venant d'un référentiel ou non)\nSi les champs type et name sont renseignés, le champ callerName doit être valorisé ainsi : "{type} {nom}".'}, 'type': {'type': 'string', 'title': 'Type', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/wayName/type'}, 'name': {'type': 'string', 'title': 'Nom', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/wayName/name'}}, 'example': 'example.json#/location/addressDetailed/wayName'}, 'point': {'type': 'object', 'title': 'Point ', 'x-display': 'expansion-panels', 'required': ['coord'], 'properties': {'coord': {'$ref': '#/definitions/coord'}, 'sysCoord': {'type': 'string', 'title': 'Système de coordonnées', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/sysCoord', 'description': "Indique le type de coordonnées utilisé. Actuellement, la seule valeur valide est «EPSG-4326», indiquant l'utilisation de WGS-84. Si ce champ n'est pas renseigné, on considère que la valeur par défaut est «EPSG-4326»."}}, 'example': 'example.json#/location/geometry/point'}, 'coord': {'type': 'object', 'title': 'Coordonnées', 'x-display': 'expansion-panels', 'required': ['lat', 'lon', 'precision'], 'properties': {'lat': {'type': 'number', 'title': 'Latitude', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/lat', 'description': 'Latitude du point clé de la localisation'}, 'lon': {'type': 'number', 'title': 'Longitude', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/lon', 'description': 'Longitude du point clé de la localisation'}, 'height': {'type': 'number', 'title': 'Altitude ', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/height', 'description': 'Altitude du point clé de la localisation, en mètre, ignoré côté NexSIS.'}, 'heading': {'type': 'number', 'title': 'Cap', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/heading', 'description': 'En degré'}, 'speed': {'type': 'number', 'title': 'Vitesse', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/speed', 'description': 'Vitesse en km/h, notamment fournie par eCall, tel, nouveau AML, …'}, 'precision': {'type': 'string', 'title': 'Précision', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/precision', 'description': "Indique via une nomenclature le niveau de précision des coordonnées fournies par le système emetteur.\nCITY=Précision à l'échelle de la ville, STREET=Précision à l'échelle de la rue, ADDRESS=Adresse précise, EXACT=Point coordonnée GPS exact, UNKNOWN=Précision de la localisation non {'caseId': 'samuA:CA126B445579GD4A67AV', 'senderCaseId': 'CA126B445579GD4A67AV', 'creation': '2022-09-27T08:23:34+02:00', 'referenceVersion': '1.2', 'whatsHappen': {}, 'qualification': {'whatsHappen': {'code': 'C07.13.02', 'label': 'Rodéo automobile', 'freetext': 'None'}, 'locationKind': {}, 'riskThreat': [{}], 'healthMotive': {}, 'victims': {'count': 'SEVERAL', 'mainVictim': 'CHILD', 'freetext': 'Jeanne Dupont, 6 ans, ne répond plus'}}, 'location': {'locID': '111fb03a-6fd9-41e0-8e81-990c45188887', 'locLabel': "Lycée Pierre de Coubertin - 12 rue de l'Amitié 77288 Melun, Musée Bossuet - Accès 2 - 77048 Saint-Albray", 'name': "Carrefour Toison d'Or, EPHAD Belle Fontaine, Quartier Melun Nord, Disneyland, …", 'addressDetailed': {'complete': '9 Bd du Montparnasse', 'number': '9, 4bis, PK10, …', 'wayName': {'complete': 'Boulevard du Montparnasse', 'type': 'Boulevard', 'name': 'du Montparnasse'}}, 'city': {'name': 'Lille', 'inseeCode': 59350, 'detail': 'Quartie Melun Nord, Lhomme, …'}, 'access': {'floor': 'RDC, 1, 2, …', 'roomNumber': 'A16, 37, 104, …', 'interphone': 'Dupont', 'accessCode': ["['1234A', '4321B']"], 'elevator': 'C3', 'buildingName': 'Batiment B, Batiment Maunoury', 'entrance': 'Zone Sud, Porte 1, …', 'entity': 'Infirmerie, service finance, service cardiologie, …'}, 'geometry': {'point': {'coord': {'lat': '48.866667', 'lon': '2.333333', 'height': 120, 'heading': 96, 'speed': 34, 'precision': 'ADDRESS'}, 'sysCoord': 'EPSG-4326'}, 'sketch': 'None'}, 'externalInfo': [{'freetext': 'NexSIS, BAN, IGN, …', 'type': "ega, egr, egm, DIO (données d'influence opérationnelle), …", 'uri': 'id987'}], 'country': 'France', 'freetext': 'Clé derrière le pot de fleur'}, 'initialAlert': {'id': 'SAMU050-20230605-AL0123', 'reception': '2022-09-27T08:21:06+02:00', 'reporting': 'STANDARD', 'freetext': 'Déclenchement téléalarme, voisine sur les liens', 'caller': {'callerContact': {'type': 'PHNADD', 'detail': '0671830530'}, 'callbackContact': {}, 'language': 'FR', 'freetext': 'Père', 'detailedName': {'completeName': 'Jean Dupont', 'lastName': 'Dupont', 'firstName': 'Jean'}}, 'sourceContact': {'type': 'PHNADD', 'detail': '0671830530'}, 'location': {}, 'qualification': {}, 'callTaker': {'organization': 'samu44:chuNantes:crra:regulationN3', 'controlRoom': 'CGA, CGO 21, CRRA 44, ...', 'calltakerURI': {}, 'calltakerId': "id1234, carte CPx (Santé), id d'affectation, …"}, 'attachment': [{'description': 'photo, carte, …', 'mimeType': 'PDF, XML, JPEG, …', 'size': '1235, 35, …', 'URI': 'https://hub.esante.gouv.fr/resourceExample', 'derefURI': 'None', 'digest': 'None'}]}, 'newAlert': [{}], 'severity': 'None', 'additionalInformation': {'customMap': {'key': 'neighborhood', 'label': 'Quartier', 'value': 'SECT.QUARTIER HISTORIQUE', 'freetext': "Précision sur le quartier d'intervention"}}, 'freetext': 'None'}
A date, il suffit de systématiquement déclarer un champ au niveau le plus élevé possible pour contourner cette issue.
Lors de la conversion .csv vers .docx, le traitement des exemples rencontre un problème.

Dans l'exemple suivant, un objet nomenclature est utilisé au Niveau de donnée 1 alors qu'il est défini explicitiement au Niveau de donnée 2
Lien pour équipe Hub https://esantegouv.sharepoint.com/:x:/r/sites/GED-Calypso/espace-projets/Espace%20Programme%20SISAMU/01%20-%20Equipe%20projet/07%20-%20Innovation%20et%20prospectif/12%20-%20Hub%20Sant%C3%A9/11%20-%20Technique%20%26%20sp%C3%A9cifications/Debug%20sensible/model.xlsx?d=w877e617700394cfa86a7acc2baf6cd76&csf=1&web=1&e=KHcYpL
Lorsqu'un objet est utilisé alors qu'il est défini à un niveau inférieur, le script ne s'achève pas.

Capture de la trace python
Variable path de la fonction 'get_examples_with_json_example' au moment de l'exécution :
$.whatsHappen.code
Variable json_example au moment de l'exécution :
{'CreateCase': {'$id': 'http://json-schema.org/draft-07/schema#', 'x-id': 'schema.json#', 'example': 'example.json#', 'type': 'object', 'title': 'CreateCase', 'required': ['caseId', 'creation', 'referenceVersion', 'qualification', 'location'], 'properties': {'caseId': {'type': 'string', 'title': 'Identifiant affaire', 'x-cols': 6, 'example': 'example.json#/caseId', 'description': "Identifiant technique de l'affaire et partagé entre tous les intervenants.\nIl doit pouvoir être généré de façon unique et décentralisée et ne présenter aucune ambiguïté. Il est généré par les systèmes du partenaire récepteur de la primo-demande de secours et contient une clé conventionnelle permettant d'identifier la source.\nValorisation :\n{cleConventionnelle}:{cleUnique}\noù cleConventionnelle est la clé utilisée par le partenaire emetteur et cleUnique l'identifiant locale d'affaire dans le système du partenaire emetteur.\ncleUnique est une chaîne de caractère (string) comprise entre 4 et 22 caractères alphanumériques."}, 'senderCaseId': {'type': 'string', 'title': "Identifiant local de l'affaire", 'x-cols': 6, 'example': 'example.json#/senderCaseId', 'description': "Valoriser avec l'identifiant de l'affaire dans le SI de l'émetteur du message\nCe champ est facultatif, il ne sera notamment pas transmis par NexSIS\nDans le cas où deux opérateurs ont besoin d'identifier une affaire, ils peuvent utiliser les derniers caractères de l'identifiant local de leur partenaire."}, 'creation': {'type': 'string', 'title': "Date Heure de création de l'affaire", 'x-cols': 6, 'example': 'example.json#/creation', 'description': "Groupe date heure de début de partage lié à la création de l'affaire (et donc de génération du caseId). Il doit être renseigné à la fin du processus de la création de la première alerte. Lors de l'ajout d'alerte à une affaire ce champ ne doit pas être modifié. L'indicateur de fuseau horaire Z ne doit pas être utilisé.", 'pattern': '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}', 'format': 'date-time'}, 'referenceVersion': {'type': 'string', 'title': 'Version des nomenclatures du référentiel CISU', 'x-cols': 6, 'example': 'example.json#/referenceVersion', 'description': "Indique le numéro de version du référentiel des nomenclatures des codes transmis. \nCela permet aux différents systèmes de s'assurer qu'ils utilisent la même version des codes de nomenclature que leurs partenaires."}, 'qualification': {'$ref': '#/definitions/qualification'}, 'location': {'$ref': '#/definitions/location'}, 'initialAlert': {'$ref': '#/definitions/alert'}, 'newAlert': {'type': 'array', 'items': {'$ref': '#/definitions/alert'}}, 'severity': {'type': 'string', 'title': "Niveau d'urgence médicale", 'x-cols': 6, 'example': 'example.json#/severity', 'description': "[Non utilisé dans une première version car la définition et l'usage restent à définir]\nPrécise l'urgence médicale :\n EXTREME : Menace extrême pour la vie\n SEVERE : Menace importante pour la vie\n MODERATE - Menace possible pour la vie\n MINOR : Peu ou pas de menace connue pour la vie\n UNKNOWN : Niveau de menace inconnu\nCe niveau de gravité est lié au Motif de Recours Medico-Secouriste associé à l'appel.", 'enum': ['EXTREME', 'SEVERE', 'MODERATE', 'MINOR', 'UNKNOWN']}, 'additionalInformation': {'$ref': '#/definitions/additionalInformation'}, 'freetext': {'type': 'string', 'title': "Description de l'affaire", 'x-cols': 6, 'example': 'example.json#/freetext', 'description': "Texte libre permettant de donner des informations supplémentaires concernant l'affaire"}}}, 'qualification': {'type': 'object', 'title': "Qualification de l'affaire", 'x-display': 'expansion-panels', 'required': ['whatsHappen'], 'properties': {'whatsHappen': {'$ref': '#/definitions/nomenclature'}, 'locationKind': {'$ref': '#/definitions/nomenclature'}, 'riskThreat': {'type': 'array', 'items': {'$ref': '#/definitions/nomenclature'}}, 'healthMotive': {'$ref': '#/definitions/nomenclature'}, 'victims': {'$ref': '#/definitions/victims'}}, 'example': 'example.json#/qualification'}, 'location': {'type': 'object', 'title': "Localisation de l'affaire", 'x-display': 'expansion-panels', 'required': ['locID', 'locLabel', 'name', 'country'], 'properties': {'locID': {'type': 'string', 'title': 'Identifiant technique de localisation', 'x-cols': 6, 'example': 'example.json#/location/locID', 'description': "ID technique et provisoire permettant d'identifier le lieu dans le cadre des échanges de cette affaire."}, 'locLabel': {'type': 'string', 'title': 'Résumé de la localisation', 'x-cols': 6, 'example': 'example.json#/location/locLabel', 'description': 'Correspond à l'étiquette associée à la localisation (plutôt à destination des humains).\nElle va souvent correspondre à la concaténation suivant des règles métiers de différentes informations, dont le "name" (toponyme) et l'adresse.'}, 'name': {'type': 'string', 'title': 'Nom du lieu', 'x-cols': 6, 'example': 'example.json#/location/name', 'description': 'Indique le nom de lieu : nom commercial, lieu-dit, lac, forêt, nom de quartier (plutôt à destination des systèmes).'}, 'addressDetailed': {'$ref': '#/definitions/address'}, 'city': {'$ref': '#/definitions/city'}, 'access': {'$ref': '#/definitions/access'}, 'geometry': {'$ref': '#/definitions/geometry'}, 'externalInfo': {'type': 'array', 'items': {'$ref': '#/definitions/externalInfo'}}, 'country': {'type': 'string', 'title': 'Pays', 'x-cols': 6, 'example': 'example.json#/location/country', 'enum': ['France', 'Allemagne', 'Espagne', 'Italie', 'Suisse', 'Luxembourg', 'Belgique']}, 'freetext': {'type': 'string', 'title': 'Commentaire', 'x-cols': 6, 'example': 'example.json#/location/freetext', 'description': 'Champ libre pour compléter les informations de localisation'}}, 'example': 'example.json#/location'}, 'alert': {'type': 'object', 'title': 'Alerte initiale', 'x-display': 'expansion-panels', 'required': ['id', 'reception', 'reporting', 'caller', 'sourceContact', 'location', 'qualification', 'callTaker'], 'properties': {'id': {'type': 'string', 'title': 'Identifiant alerte', 'x-cols': 6, 'example': 'example.json#/initialAlert/id', 'description': "Identifiant technique unique de l'alerte. Il doit pouvoir être généré automatiquement par le système émetteur et ne doit pas avoir de signification / utilisation particulière par les différents systèmes pour garantir leur découplage.\nVoir la description de l'identifiant de l'affaire pour voir le format.\nLorsqu’une alerte est générée dans NexSIS et crée une affaire, elle est qualifiée d’Alerte Initiale.\na)\tSi cette dernière concerne un partenaire (caractère médical pour la Santé par exemple), elle est relayée seule dans le message. Il y’a un seul objet initialAlert.\nb)\tSinon, une autre alerte liée à la même affaire peut être déclarée ultérieurement, concernant cette fois le partenaire. Lorsqu’elle est déclarée cette Nouvelle Alerte est relayée avec l’Alerte Initiale pour partager un contexte commun. Dans le message de création d’affaire il y’a deux objets alerte : initialAlert et newAlert.\nLe rattachement des messages à une affaire doivent s'appuyer sur les caseId et non les alertId qui peuvent varier d'un système à l'autre."}, 'reception': {'type': 'string', 'title': "Date de réception de l'alerte", 'x-cols': 6, 'example': 'example.json#/initialAlert/reception', 'description': "Groupe date heure de réception de l'alerte", 'pattern': '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}', 'format': 'date-time'}, 'reporting': {'type': 'string', 'title': 'Signalement', 'x-cols': 6, 'example': 'example.json#/initialAlert/reporting', 'description': "Permet d'attirer l'attention des forces partenaires sur une affaire pour le faire sortir du lot.\nEventuellement automatisé en fonction des critères saisis et de leur paramétrage, ou renseigné par l'opérateur. \nPrend les valeurs définies dans la nomenclature CISU :\n- standard : STANDARD\n- signalé : ATTENTION\nLes systèmes peuvent proposer des fonctionnalités faisant ressortir les dossiers avec le libellé ATTENTION", 'enum': ['STANDARD', 'ATTENTION']}, 'freetext': {'type': 'string', 'title': "Informations complémentaires sur l'alerte", 'x-cols': 6, 'example': 'example.json#/initialAlert/freetext', 'description': "Texte libre permettant de donner des informations supplémentaires concernant l'alerte"}, 'caller': {'$ref': '#/definitions/caller'}, 'sourceContact': {'$ref': '#/definitions/contact'}, 'location': {'$ref': '#/definitions/location'}, 'qualification': {'$ref': '#/definitions/qualification'}, 'callTaker': {'$ref': '#/definitions/callTaker'}, 'attachment': {'type': 'array', 'items': {'$ref': '#/definitions/resource'}}}, 'example': 'example.json#/initialAlert'}, 'additionalInformation': {'type': 'object', 'title': 'Informations complémentaires', 'x-display': 'expansion-panels', 'required': [], 'properties': {'customMap': {'$ref': '#/definitions/customMap'}}, 'example': 'example.json#/additionalInformation'}, 'nomenclature': {'type': 'object', 'title': 'Nature de fait', 'x-display': 'expansion-panels', 'required': ['code', 'label'], 'properties': {'code': {'type': 'string', 'title': 'Code', 'x-cols': 6, 'example': 'example.json#/qualification/whatsHappen/code', 'description': 'A valoriser avec un code la nomenclature associée'}, 'label': {'type': 'string', 'title': 'Libellé', 'x-cols': 6, 'example': 'example.json#/qualification/whatsHappen/label', 'description': "A valoriser avec le libellé de la nomenclature associée.\nDans le cas où un système n'est pas en mesure de reconnaître un code, il peut directement afficher le libellé qui est obligatoirement fourni avec le code."}, 'freetext': {'type': 'string', 'title': 'Commentaire', 'x-cols': 6, 'example': 'example.json#/qualification/whatsHappen/freetext', 'description': "Permet de complémenter en commentaire libre l'attribut permettant de qualifier l'événement."}}, 'example': 'example.json#/qualification/whatsHappen'}, 'victims': {'type': 'object', 'title': 'Patients/Victimes', 'x-display': 'expansion-panels', 'required': [], 'properties': {'count': {'type': 'string', 'title': 'Nombre de patients-victimes', 'x-cols': 6, 'example': 'example.json#/qualification/victims/count', 'description': 'Indique le nombre de victimes selon la nomenclature du référentiel CISU', 'enum': ['0', '1', 'SEVERAL', 'MANY', 'UNKNOWN (voir Nomenclature CISU XX)']}, 'mainVictim': {'type': 'string', 'title': 'Type du patient-victime principal', 'x-cols': 6, 'example': 'example.json#/qualification/victims/mainVictim', 'description': "Identifie le type de la principale victime (celle dont l'état de santé provoque le déclenchement de l'envoi des secours). Prend les valeurs du référentiel CISU. Entre dans la détermination des partenaires impliqués par NexSIS.", 'enum': ['INFANT', 'CHILD', 'ADULT', 'PREGNANT', 'SENIOR (voir Nomenclature CISU XX)']}, 'freetext': {'type': 'string', 'title': 'Informations complémentaires sur les patients-victimes', 'x-cols': 6, 'example': 'example.json#/qualification/victims/freetext', 'description': 'Permet de complémenter en commentaire libre la(les) victime(s)'}}, 'example': 'example.json#/qualification/victims'}, 'address': {'type': 'object', 'title': "Détails de l'adresse", 'x-display': 'expansion-panels', 'required': ['complete'], 'properties': {'complete': {'type': 'string', 'title': 'Numéro, type et nom de voie', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/complete', 'description': "Numéro, type et nom de la voie. \nUtilisé pour tout type de voie : autoroute (PK, nom et sens), voie ferrée, voie navigable…\nObligatoire et seule valeur des détails de l'adresse fournie par NexSIS."}, 'number': {'type': 'string', 'title': 'Numéro dans la voie', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/number', 'description': "Numéro dans l'adresse (inclut point kilométrique sur l'autoroute, voie ferrée ou voie navigable). Inclut l'indice de répétition associé au numéro (par exemple bis, a…)."}, 'wayName': {'$ref': '#/definitions/wayName'}}, 'example': 'example.json#/location/addressDetailed'}, 'city': {'type': 'object', 'title': 'Détails de la commune', 'x-display': 'expansion-panels', 'required': [], 'properties': {'name': {'type': 'string', 'title': 'Nom de la commune', 'x-cols': 6, 'example': 'example.json#/location/city/name', 'description': 'Nom officiel de la commune actuelle'}, 'inseeCode': {'type': 'string', 'title': 'Code INSEE de la commune', 'x-cols': 6, 'example': 'example.json#/location/city/inseeCode', 'description': 'Code INSEE de la commune actuelle sur la base du Code Officiel géographique en vigueur. Obligatoire si le nom de la commune est renseigné.', 'pattern': '[0-9]{5}'}, 'detail': {'type': 'string', 'title': 'Complément de commune', 'x-cols': 6, 'example': 'example.json#/location/city/detail', 'description': "Informations complémentaires permettant de préciser le quartier, lieu-dit, ancienne commune, … ou autre information aidant à préciser l'adresse et notamment gérer les cas de communes fusionnées pour le système émetteur\nNB : dans tous les cas, la localisation GPS de la commune doit être fournie afin d'éviter une trop forte ambiguïté"}}, 'example': 'example.json#/location/city'}, 'access': {'type': 'object', 'title': "Détails d'accès", 'x-display': 'expansion-panels', 'required': [], 'properties': {'floor': {'type': 'string', 'title': 'Etage', 'x-cols': 6, 'example': 'example.json#/location/access/floor', 'description': 'Etage '}, 'roomNumber': {'type': 'string', 'title': 'Numéro de porte', 'x-cols': 6, 'example': 'example.json#/location/access/roomNumber', 'description': "Spécifie numéro d'appartement, de chambre, de bureau"}, 'interphone': {'type': 'string', 'title': 'Interphone', 'x-cols': 6, 'example': 'example.json#/location/access/interphone', 'description': "Indique les informations nécessaires à l'identification de l'interphone (numéro, nom)"}, 'accessCode': {'type': 'array', 'items': {'type': 'string', 'title': 'Digicode', 'x-cols': 6, 'example': 'example.json#/location/access/accessCode/0', 'description': "Indique le ou les digicodes dans l'ordre de progression dans le bâtiment"}}, 'elevator': {'type': 'string', 'title': 'Ascenseur/escalier', 'x-cols': 6, 'example': 'example.json#/location/access/elevator', 'description': "Indique l'ascenseur ou la cage d'escalier "}, 'buildingName': {'type': 'string', 'title': 'Bâtiment', 'x-cols': 6, 'example': 'example.json#/location/access/buildingName', 'description': 'Nom du bâtiment'}, 'entrance': {'type': 'string', 'title': 'Entrée', 'x-cols': 6, 'example': 'example.json#/location/access/entrance'}, 'entity': {'type': 'string', 'title': 'Service', 'x-cols': 6, 'example': 'example.json#/location/access/entity', 'description': "Nom du service concerné au sein de l'établissement"}}, 'example': 'example.json#/location/access'}, 'geometry': {'type': 'object', 'title': 'Géometrie associée', 'x-display': 'expansion-panels', 'required': [], 'properties': {'point': {'$ref': '#/definitions/point'}, 'sketch': {'type': 'string', 'title': 'Formes géométriques', 'x-cols': 6, 'example': 'example.json#/location/geometry/sketch'}}, 'example': 'example.json#/location/geometry'}, 'externalInfo': {'type': 'object', 'title': 'Liens aux systèmes externes', 'x-display': 'expansion-panels', 'required': ['freetext', 'type', 'uri'], 'properties': {'freetext': {'type': 'string', 'title': 'Nom de la source', 'x-cols': 6, 'example': 'example.json#/location/externalInfo/0/freetext', 'description': "Système fournissant le localisant : NexSiS ou l'ORG_ID (BAN, IGN, ...)", 'enum': ['BAN', 'IGN', 'NexSIS']}, 'type': {'type': 'string', 'title': 'Type ', 'x-cols': 6, 'example': 'example.json#/location/externalInfo/0/type', 'description': "Définition du type d'objet dans le système\nEx : SIG NexSIS / OSM ont plusieurs types de données -> savoir du quel on parle (POI, tronçon de route, …) pour faciliter le filtre | Aussi table dans une base de données"}, 'uri': {'type': 'string', 'title': 'Identifiant', 'x-cols': 6, 'example': 'example.json#/location/externalInfo/0/uri', 'description': "Identifiant unique dans le type. Exemple : UUID d'un ega"}}, 'example': 'example.json#/location/externalInfo/0'}, 'wayName': {'type': 'object', 'title': 'Type et nom de voie', 'x-display': 'expansion-panels', 'required': ['complete'], 'properties': {'complete': {'type': 'string', 'title': 'Type et nom', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/wayName/complete', 'description': 'Type et nom de la voie (venant d'un référentiel ou non)\nSi les champs type et name sont renseignés, le champ callerName doit être valorisé ainsi : "{type} {nom}".'}, 'type': {'type': 'string', 'title': 'Type', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/wayName/type'}, 'name': {'type': 'string', 'title': 'Nom', 'x-cols': 6, 'example': 'example.json#/location/addressDetailed/wayName/name'}}, 'example': 'example.json#/location/addressDetailed/wayName'}, 'point': {'type': 'object', 'title': 'Point ', 'x-display': 'expansion-panels', 'required': ['coord'], 'properties': {'coord': {'$ref': '#/definitions/coord'}, 'sysCoord': {'type': 'string', 'title': 'Système de coordonnées', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/sysCoord', 'description': "Indique le type de coordonnées utilisé. Actuellement, la seule valeur valide est «EPSG-4326», indiquant l'utilisation de WGS-84. Si ce champ n'est pas renseigné, on considère que la valeur par défaut est «EPSG-4326»."}}, 'example': 'example.json#/location/geometry/point'}, 'coord': {'type': 'object', 'title': 'Coordonnées', 'x-display': 'expansion-panels', 'required': ['lat', 'lon', 'precision'], 'properties': {'lat': {'type': 'number', 'title': 'Latitude', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/lat', 'description': 'Latitude du point clé de la localisation'}, 'lon': {'type': 'number', 'title': 'Longitude', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/lon', 'description': 'Longitude du point clé de la localisation'}, 'height': {'type': 'number', 'title': 'Altitude ', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/height', 'description': 'Altitude du point clé de la localisation, en mètre, ignoré côté NexSIS.'}, 'heading': {'type': 'number', 'title': 'Cap', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/heading', 'description': 'En degré'}, 'speed': {'type': 'number', 'title': 'Vitesse', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/speed', 'description': 'Vitesse en km/h, notamment fournie par eCall, tel, nouveau AML, …'}, 'precision': {'type': 'string', 'title': 'Précision', 'x-cols': 6, 'example': 'example.json#/location/geometry/point/coord/precision', 'description': "Indique via une nomenclature le niveau de précision des coordonnées fournies par le système emetteur.\nCITY=Précision à l'échelle de la ville, STREET=Précision à l'échelle de la rue, ADDRESS=Adresse précise, EXACT=Point coordonnée GPS exact, UNKNOWN=Précision de la localisation non {'caseId': 'samuA:CA126B445579GD4A67AV', 'senderCaseId': 'CA126B445579GD4A67AV', 'creation': '2022-09-27T08:23:34+02:00', 'referenceVersion': '1.2', 'whatsHappen': {}, 'qualification': {'whatsHappen': {'code': 'C07.13.02', 'label': 'Rodéo automobile', 'freetext': 'None'}, 'locationKind': {}, 'riskThreat': [{}], 'healthMotive': {}, 'victims': {'count': 'SEVERAL', 'mainVictim': 'CHILD', 'freetext': 'Jeanne Dupont, 6 ans, ne répond plus'}}, 'location': {'locID': '111fb03a-6fd9-41e0-8e81-990c45188887', 'locLabel': "Lycée Pierre de Coubertin - 12 rue de l'Amitié 77288 Melun, Musée Bossuet - Accès 2 - 77048 Saint-Albray", 'name': "Carrefour Toison d'Or, EPHAD Belle Fontaine, Quartier Melun Nord, Disneyland, …", 'addressDetailed': {'complete': '9 Bd du Montparnasse', 'number': '9, 4bis, PK10, …', 'wayName': {'complete': 'Boulevard du Montparnasse', 'type': 'Boulevard', 'name': 'du Montparnasse'}}, 'city': {'name': 'Lille', 'inseeCode': 59350, 'detail': 'Quartie Melun Nord, Lhomme, …'}, 'access': {'floor': 'RDC, 1, 2, …', 'roomNumber': 'A16, 37, 104, …', 'interphone': 'Dupont', 'accessCode': ["['1234A', '4321B']"], 'elevator': 'C3', 'buildingName': 'Batiment B, Batiment Maunoury', 'entrance': 'Zone Sud, Porte 1, …', 'entity': 'Infirmerie, service finance, service cardiologie, …'}, 'geometry': {'point': {'coord': {'lat': '48.866667', 'lon': '2.333333', 'height': 120, 'heading': 96, 'speed': 34, 'precision': 'ADDRESS'}, 'sysCoord': 'EPSG-4326'}, 'sketch': 'None'}, 'externalInfo': [{'freetext': 'NexSIS, BAN, IGN, …', 'type': "ega, egr, egm, DIO (données d'influence opérationnelle), …", 'uri': 'id987'}], 'country': 'France', 'freetext': 'Clé derrière le pot de fleur'}, 'initialAlert': {'id': 'SAMU050-20230605-AL0123', 'reception': '2022-09-27T08:21:06+02:00', 'reporting': 'STANDARD', 'freetext': 'Déclenchement téléalarme, voisine sur les liens', 'caller': {'callerContact': {'type': 'PHNADD', 'detail': '0671830530'}, 'callbackContact': {}, 'language': 'FR', 'freetext': 'Père', 'detailedName': {'completeName': 'Jean Dupont', 'lastName': 'Dupont', 'firstName': 'Jean'}}, 'sourceContact': {'type': 'PHNADD', 'detail': '0671830530'}, 'location': {}, 'qualification': {}, 'callTaker': {'organization': 'samu44:chuNantes:crra:regulationN3', 'controlRoom': 'CGA, CGO 21, CRRA 44, ...', 'calltakerURI': {}, 'calltakerId': "id1234, carte CPx (Santé), id d'affectation, …"}, 'attachment': [{'description': 'photo, carte, …', 'mimeType': 'PDF, XML, JPEG, …', 'size': '1235, 35, …', 'URI': 'https://hub.esante.gouv.fr/resourceExample', 'derefURI': 'None', 'digest': 'None'}]}, 'newAlert': [{}], 'severity': 'None', 'additionalInformation': {'customMap': {'key': 'neighborhood', 'label': 'Quartier', 'value': 'SECT.QUARTIER HISTORIQUE', 'freetext': "Précision sur le quartier d'intervention"}}, 'freetext': 'None'}
A date, il suffit de systématiquement déclarer un champ au niveau le plus élevé possible pour contourner cette issue.