| import os |
|
|
| def insert_texts_to_templates(texts_string, start_number=355): |
| """ |
| Insère des textes séparés par '/' dans les fichiers template |
| |
| Args: |
| texts_string: String contenant les textes séparés par '/' |
| start_number: Numéro de départ pour les fichiers template |
| """ |
| |
| |
| texts = [text.strip() for text in texts_string.split('*') if text.strip()] |
| |
| print(f"Nombre de textes trouvés: {len(texts)}") |
| |
| |
| if not os.path.exists("data_txt"): |
| print("❌ Le dossier 'data_txt' n'existe pas!") |
| return |
| |
| |
| for i, text in enumerate(texts): |
| file_number = start_number + i |
| filename = f"template{file_number}.txt" |
| filepath = os.path.join("data_txt", filename) |
| |
| |
| if not os.path.exists(filepath): |
| print(f"⚠️ Le fichier {filename} n'existe pas, création...") |
| |
| with open(filepath, 'w', encoding='utf-8') as f: |
| pass |
| |
| |
| with open(filepath, 'w', encoding='utf-8') as f: |
| f.write(text) |
| |
| print(f"✅ Texte inséré dans {filename}: '{text[:50]}{'...' if len(text) > 50 else ''}'") |
| |
| print(f"\n🎉 {len(texts)} textes insérés avec succès!") |
| print(f"De template{start_number}.txt à template{start_number + len(texts) - 1}.txt") |
|
|
| |
| if __name__ == "__main__": |
| |
| mes_textes = """ |
| Bilan cardiologique |
| Indication : exploration d’une dyspnée d’effort et palpitations. |
| |
| Échocardiographie transthoracique : ventricule gauche de dimensions normales (51 mm de diamètre télédiastolique), fonction systolique préservée (FEVG 60%). Hypertrophie légère du septum interventriculaire (13 mm). Oreillette gauche dilatée (volume 42 ml/m²). |
| |
| Valves : valve mitrale souple, sans prolapsus, insuffisance mitrale minime. Valve aortique tricuspide, calcifications modérées, pas de sténose. |
| |
| Pression artérielle pulmonaire estimée : 32 mmHg. |
| |
| Doppler cardiaque : flux transmitral restrictif, compatible avec une dysfonction diastolique grade I. |
| |
| ECG 12 dérivations : rythme sinusal, fréquence 78/min, repolarisation normale, absence de trouble de conduction. |
| |
| Test d’effort : bonne tolérance, absence de signes ischémiques, tension artérielle maximale 175/92 mmHg. |
| |
| Conclusion : cardiopathie hypertensive débutante avec atteinte diastolique. Suivi cardiologique et optimisation du traitement antihypertenseur recommandés. |
| |
| * |
| Exploration fonctionnelle respiratoire |
| Indication : patient tabagique chronique (25 PA) présentant une toux persistante. |
| |
| Spirométrie : VEMS = 2,1 L (65% de la valeur théorique), CVF = 3,5 L (82%), rapport VEMS/CVF = 59%. |
| |
| Pléthysmographie : CPT = 6,2 L (110%), VR = 2,8 L (135%), traduisant une distension thoracique. |
| |
| Diffusion du CO (DLCO) : abaissée à 62%. |
| |
| Gaz du sang artériel : PaO₂ = 72 mmHg, PaCO₂ = 39 mmHg, pH = 7,41. |
| |
| Scanner thoracique : zones d’emphysème centrolobulaire prédominant aux lobes supérieurs, pas de nodule suspect. |
| |
| Conclusion : BPCO stade GOLD II. Sevrage tabagique impératif et mise en route d’un traitement bronchodilatateur de longue durée d’action. |
| |
| * |
| Endoscopie digestive haute |
| Indication : douleurs épigastriques récidivantes et reflux acide. |
| |
| Œsophage : muqueuse inflammatoire, classification de Los Angeles B. Absence de sténose ou de métaplasie de type Barrett. |
| |
| Estomac : antrite érythémateuse diffuse, plis gastriques réguliers. Présence d’un ulcère bulbaire de 6 mm, fond fibrineux. |
| |
| Duodénum : muqueuse normale, pas d’atrophie villositaire. |
| |
| Test rapide à l’uréase : positif, suggérant une infection à Helicobacter pylori. |
| |
| Biopsies gastriques : en attente d’analyse histologique. |
| |
| Conclusion : reflux gastro-œsophagien avec ulcère duodénal associé à Helicobacter pylori. Traitement par IPP et trithérapie antibiotique recommandé. |
| |
| * |
| IRM du genou droit |
| Indication : gonalgies chroniques avec suspicion de pathologie méniscale. |
| |
| Os : absence de fracture, discrète ostéophytose fémoro-tibiale interne. |
| |
| Ménisques : fissure longitudinale du corne postérieure du ménisque interne. |
| |
| Cartilage : amincissement focal du cartilage fémoro-tibial interne. |
| |
| Ligaments : LCA et LCP intacts. Discrète laxité du ligament collatéral interne. |
| |
| Épanchement articulaire : modéré, synovite réactionnelle. |
| |
| Conclusion : méniscopathie interne avec début d’arthrose fémoro-tibiale interne. Indication de viscosupplémentation et kinésithérapie. |
| |
| * |
| Bilan thyroïdien |
| Indication : patient présentant un goitre diffus et tachycardie. |
| |
| TSH ultrasensible : <0,01 mUI/L (abaissée). |
| |
| T4 libre : 34 pmol/L (augmentée). |
| |
| T3 libre : 9 pmol/L (augmentée). |
| |
| Anticorps anti-récepteurs de la TSH : positifs. |
| |
| Échographie thyroïdienne : glande augmentée de volume (50 ml), vascularisation diffuse au Doppler. Nodules absents. |
| |
| Conclusion : hyperthyroïdie de type Basedow. Indication d’un traitement par antithyroïdiens de synthèse et avis spécialisé en endocrinologie. |
| |
| * |
| Myélogramme |
| Indication : anémie macrocytaire avec suspicion de syndrome myélodysplasique. |
| |
| Moelle osseuse : riche, hypercellulaire. |
| |
| Lignée érythroïde : anomalies de maturation avec formes mégaloblastiques. |
| |
| Lignée granulocytaire : dysgranulopoïèse, neutrophiles hypogranulés. |
| |
| Lignée mégacaryocytaire : micromégacaryocytes nombreux. |
| |
| Blastes : 4%. |
| |
| Caryotype : anomalie 5q-. |
| |
| Conclusion : syndrome myélodysplasique avec délétion 5q. Discussion d’un traitement par lénalidomide. |
| |
| * |
| IRM cérébrale |
| Indication : suspicion de sclérose en plaques. |
| |
| Substance blanche : multiples hypersignaux en T2 et FLAIR, prédominant en péri-ventriculaire et sous-tentoriel. |
| |
| Prise de contraste : deux lésions rehaussées par le gadolinium, témoignant d’une activité inflammatoire en cours. |
| |
| Corps calleux : amincissement diffus. |
| |
| Nerfs optiques : normalité de signal. |
| |
| Conclusion : lésions démyélinisantes disséminées dans le temps et l’espace, compatible avec sclérose en plaques. Avis neurologique pour mise en route d’un traitement immunomodulateur. |
| |
| * |
| Dermatologie – biopsie cutanée |
| Indication : plaques érythémato-squameuses chroniques au niveau des coudes et genoux. |
| |
| Histologie : hyperkératose parakératosique, acanthose régulière, infiltration lymphocytaire du derme superficiel. |
| |
| Immunofluorescence directe : négative. |
| |
| Bilan sanguin : CRP légèrement augmentée (8 mg/L). |
| |
| Conclusion : psoriasis en plaques. Discussion d’un traitement par photothérapie UVB ou biothérapie anti-TNF en cas de résistance. |
| |
| * |
| Examen ophtalmologique complet |
| Indication : baisse progressive de l’acuité visuelle bilatérale. |
| |
| Acuité visuelle : 6/10 OD, 7/10 OG. |
| |
| Pression intraoculaire : 17 mmHg bilatérale. |
| |
| Fond d’œil : dépôts drusénoïdes maculaires, début d’atrophie de l’épithélium pigmentaire. |
| |
| OCT maculaire : épaississement rétinien central, zones d’hyporéflectivité compatibles avec une DMLA débutante. |
| |
| Conclusion : dégénérescence maculaire liée à l’âge (DMLA sèche débutante). Suivi régulier avec supplémentation en vitamines antioxydantes. |
| |
| * |
| |
| Nasofibroscopie |
| Indication : obstruction nasale chronique et épistaxis récidivants. |
| |
| Fosses nasales : muqueuse hypertrophiée, cornet inférieur gauche volumineux. |
| |
| Septum nasal : déviation droite. |
| |
| Rhinopharynx : végétations adénoïdes persistantes. |
| |
| Sinus maxillaires : sécrétion purulente visible à l’orifice du méat moyen. |
| |
| Biopsie : en attente pour éliminer un processus tumoral. |
| |
| Conclusion : polypose naso-sinusienne avec sinusite chronique. Indication d’une chirurgie endoscopique naso-sinusienne. |
| """ |
| print("=== Script d'insertion de textes ===") |
| print(f"Textes à insérer: {mes_textes}") |
| print(f"Démarrage à partir de: template408.txt\n") |
| |
| insert_texts_to_templates(mes_textes, start_number=409) |
| |
| print("\n=== Pour utiliser avec vos propres textes ===") |
| print("Modifiez la variable 'mes_textes' avec vos textes séparés par '/'") |
| print("Ou appelez: insert_texts_to_templates('texte1 / texte2 / texte3', 355)") |