Skip to content

Commit

Permalink
Merge pull request #203 from ansforge/feature/parser/nomenclature-man…
Browse files Browse the repository at this point in the history
…agement

Feature/Mise à jour de la gestion des nomenclatures
  • Loading branch information
romainfd authored Nov 25, 2024
2 parents 9a993cf + 69ca8b9 commit 6bc00e6
Show file tree
Hide file tree
Showing 82 changed files with 165 additions and 135 deletions.
12 changes: 6 additions & 6 deletions csv_parser/csv_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ class Color:
HEADER_LINE = 7 # ligne avec les en-têtes (ID Excel - 1)

class FormatFlags(StrEnum):
NOMENCLATURE = 'NOMENCLATURE: '
ENUM = 'ENUM: '
REGEX = 'REGEX: '
NOMENCLATURE = 'NOMENCLATURE'
ENUM = 'ENUM'
REGEX = 'REGEX'


def get_params_from_sheet(sheet):
Expand Down Expand Up @@ -84,7 +84,7 @@ def get_params_from_sheet(sheet):

def get_nomenclature(elem):
# filename to target (.csv format)
nomenclature_name = elem['Détails de format'][len(FormatFlags.NOMENCLATURE):]
nomenclature_name = elem['Détails de format'][elem['Détails de format'].index(':')+1:].strip()
path_file = ''
nomenclature_files = os.listdir(os.path.join("..", "nomenclature_parser", "out", "latest", "csv"))
for filename in nomenclature_files:
Expand Down Expand Up @@ -498,7 +498,7 @@ def type_matching(child):
return 'string', r'^tel:([#\+\*]|37000|00+)?[0-9]{2,15}$', None
else:
if has_format_details(child, FormatFlags.REGEX):
return typeName, child['Détails de format'][len(FormatFlags.REGEX):], None
return typeName, child['Détails de format'][child['Détails de format'].index(':')+1:].strip(), None
else:
return typeName, None, None

Expand Down Expand Up @@ -532,7 +532,7 @@ def add_field_child_property(parent, child, definitions):
if format is not None:
childDetails['format'] = format
if has_format_details(child, FormatFlags.ENUM):
childDetails['enum'] = child['Détails de format'][len(FormatFlags.ENUM):].split(', ')
childDetails['enum'] = child['Détails de format'][child['Détails de format'].index(':')+1:].strip().split(', ')
# key word nomenclature trigger search over nomenclature folder for matching file
if has_format_details(child, FormatFlags.NOMENCLATURE):
childDetails['enum'] = get_nomenclature(child)
Expand Down
Binary file modified csv_parser/out/EMSI/EMSI.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/EMSI/EMSI.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/GEO-POS/GEO-POS.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/GEO-REQ/GEO-REQ.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/GEO-RES/GEO-RES.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RC-DE/RC-DE.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RC-EDA/RC-EDA.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RC-REF/RC-REF.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf
Binary file not shown.
4 changes: 3 additions & 1 deletion csv_parser/out/RS-BPV/RS-BPV.example.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
"O20"
],
"mainDiagnosis": "MD30.Z",
"associatedDiagnosis": "8B22.1",
"associatedDiagnosis": [
"8B22.1"
],
"parameter": [
{
"type": "Fréquence cardiaque, Pression artérielle, Saturation en oxygène, Fréquence respiratoire, Température, Hemoglucotest, Glasgow",
Expand Down
10 changes: 5 additions & 5 deletions csv_parser/out/RS-BPV/RS-BPV.input.csv
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
Donnée (Niveau 1),Donnée (Niveau 2),Donnée (Niveau 3),Donnée (Niveau 4),Donnée (Niveau 5),Donnée (Niveau 6),Description,Exemples,Balise,Cardinalité,Objet,Format (ou type),Détails de format
Identifiant partagé du dossier de régulation médicale (DRM),,,,,,"Identifiant partagé du dossier, généré une seule fois par le système du partenaire qui recoit la primo-demande de secours (créateur du dossier).
Identifiant partagé du dossier ,,,,,,"Identifiant partagé du dossier, généré une seule fois par le système du partenaire qui recoit la primo-demande de secours (créateur du dossier).
Il est valorisé comme suit lors de sa création :
{pays}.{domaine}.{organisation}.{senderCaseId}

Il doit pouvoir être généré de façon décentralisée et ne présenter aucune ambiguïté.
Il doit être unique dans l'ensemble des systèmes : le numéro de dossier fourni par celui qui génère l'identifiant partagé doit donc être un numéro unique dans son système.",fr.health.samu440.DRFR15DDXAAJJJ00000,caseId,1..1,,string,"REGEX: ^fr(\.[\w-]+){3,4}$"
Identifiant du bilan,,,,,,Identifiant du bilan du logiciel SMUR,38978624DM,reportId,1..1,,string,
Professionnel de santé qui réalise le bilan,,,,,,Objet qui permet de décrire le professionnel de santé qui rédige le bilan. ,,redactor,1..1,X,redactor,
,Label,,,,,A valoriser avec le prénom et le nom du rédacteur ou un numéro RPPS. ,Julien Montclar,label,0..1,,string,
,Label,,,,,"A valoriser avec le prénom et le nom du rédacteur, un numéro RPPS, un matricule, etc. ",Julien Montclar,label,0..1,,string,
,Rôle,,,,,"A valoriser avec le rôle du rédacteur du bilan (ex. médecin, infirmier, ambulancier). ",MEDECIN,role,1..1,,string,NOMENCLATURE: ENUM-ROLE
Date et heure de l'envoi du bilan,,,,,,s'exprime au format ISO 8601 YYY-MM-DDThh:mm:ss,2022-09-27T08:23:34+02:00,creation,1..1,,datetime,
Patient,,,,,,,,patient,1..1,X,patient,
Expand All @@ -25,15 +25,15 @@ A valoriser par {ID du SAMU qui engage le SMUR}.{ID du DRM}.P{numéro d’ordre
,Taille,,,,,A valoriser avec le poids en kilogrammes,31,height,0..1,,integer,
,Poids,,,,,A valoriser avec la taille en centimètres du patient,109,weight,0..1,,integer,
Evaluation / Diagnostic médical,,,,,,,,evaluation,0..1,X,evaluation,
,Actes réalisés par le SMUR,,,,,"Précise aussi bien les actes réalisés par le SMUR sur le lieu de l'intervention à son arrivée que ceux réalisés avant son intervention.
,Actes réalisés par la ressource,,,,,"Précise aussi bien les actes réalisés par le SMUR sur le lieu de l'intervention à son arrivée que ceux réalisés avant son intervention.
A valoriser avec un code de la nomenclature ACTES_SMUR.",O20,procedure,0..n,,string,
,Diagnostic principal SMUR,,,,,"Thésaurus SFMU-FEDORU.
A valoriser par un code de la nomenclature Diagnostic SMUR.",MD30.Z,mainDiagnosis,0..1,,string,
,Diagnostic associé SMUR,,,,,"Thésaurus SFMU-FEDORU.
A valoriser par un code de la nomenclature Diagnostic SMUR.",8B22.1,associatedDiagnosis,0..1,,string,
A valoriser par un code de la nomenclature Diagnostic SMUR.",8B22.1,associatedDiagnosis,0..n,,string,
,Paramètres vitaux,,,,,,,parameter,0..n,X,vital,
,,Type de constante,,,,Permet d'indiquer le type de constante associé à la valeur envoyée,"Fréquence cardiaque, Pression artérielle, Saturation en oxygène, Fréquence respiratoire, Température, Hemoglucotest, Glasgow",type,1..1,,string,"ENUM: FREQUENCE_CARDIAQUE, PRESSION_ARTERIELLE, SATURATION_OXYGENE, FREQUENCE_RESPIRATOIRE, TEMPERATURE, HEMOGLOCOTEST, GLASGOW"
,,Valeur de la dernière constante prise,,,,Indique la valeur de la dernière constante prise,,value,1..1,,string,
,Antécédents,,,,,Précise les antécédents du patient,,medicalHistory,0..1,,string,
,Traitement,,,,,Précise le traitement du patient,,treatment,0..1,,string,
,Informations complémentaires,,,,,"Permettrait de concaténer dans une zone de commentaire d'autres champs (ex. anamnèse : allergies,, traitements, symptomes, antécédents)",,freetext,0..n,,string,
,Informations complémentaires,,,,,"Permettrait de concaténer dans une zone de commentaire d'autres champs (ex. anamnèse : allergies, traitements, symptomes, antécédents)",,freetext,0..n,,string,
Binary file modified csv_parser/out/RS-BPV/RS-BPV.schema.docx
Binary file not shown.
2 changes: 1 addition & 1 deletion csv_parser/out/RS-BPV/RS-BPV.uml_diagram
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ strict digraph {
<TR>
<TD ><B>evaluation</B></TD>
</TR>
<TR><TD BORDER="0"><I>objet evaluation</I></TD></TR><TR><TD BORDER="0" >procedure <I>string</I> : [0..*] </TD></TR><TR><TD BORDER="0" >mainDiagnosis <I>string</I> : [0..1] </TD></TR><TR><TD BORDER="0" >associatedDiagnosis <I>string</I> : [0..1] </TD></TR><TR><TD BORDER="0" >medicalHistory <I>string</I> : [0..1] </TD></TR><TR><TD BORDER="0" >treatment <I>string</I> : [0..1] </TD></TR><TR><TD BORDER="0" >freetext <I>string</I> : [0..*] </TD></TR>
<TR><TD BORDER="0"><I>objet evaluation</I></TD></TR><TR><TD BORDER="0" >procedure <I>string</I> : [0..*] </TD></TR><TR><TD BORDER="0" >mainDiagnosis <I>string</I> : [0..1] </TD></TR><TR><TD BORDER="0" >associatedDiagnosis <I>string</I> : [0..*] </TD></TR><TR><TD BORDER="0" >medicalHistory <I>string</I> : [0..1] </TD></TR><TR><TD BORDER="0" >treatment <I>string</I> : [0..1] </TD></TR><TR><TD BORDER="0" >freetext <I>string</I> : [0..*] </TD></TR>
</TABLE>>]
evaluation -> interventionReport [headlabel=1 taillabel="0..1"]
interventionReport [label=<<TABLE>
Expand Down
Binary file modified csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-DR/RS-DR.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-EDA/RS-EDA.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-ER/RS-ER.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-ERROR/RS-ERROR.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-INFO/RS-INFO.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-INFO/RS-INFO.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-RI/RS-RI.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-RPIS/RS-RPIS.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-RR/RS-RR.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-SR/RS-SR.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/RS-URL/RS-URL.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/TECHNICAL/TECHNICAL.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf
Binary file not shown.
Binary file modified csv_parser/out/customContent/customContent.schema.docx
Binary file not shown.
Binary file modified csv_parser/out/customContent/customContent.uml_diagram.pdf
Binary file not shown.
30 changes: 17 additions & 13 deletions csv_parser/out/hubsante.asyncapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6267,6 +6267,7 @@ components:
\ \xE9metteur}\n\nOU - uniquement si un ID unique de la demande n'est\
\ pas disponible : \n{OrgId \xE9metteur}.request.{senderCaseId}.{num\xE9\
ro d\u2019ordre chronologique}"
pattern: ^([\w-]+\.){3,4}request(\.[\w-]+){1,2}$
examples:
- 'fr.health.samu770.request.1249875
Expand Down Expand Up @@ -7677,7 +7678,7 @@ components:
properties:
caseId:
type: string
title: "Identifiant partag\xE9 du dossier de r\xE9gulation m\xE9dicale (DRM)"
title: "Identifiant partag\xE9 du dossier "
x-health-only: false
x-cols: 6
example: example.json#/caseId
Expand Down Expand Up @@ -7734,8 +7735,8 @@ components:
x-health-only: false
x-cols: 6
example: example.json#/redactor/label
description: "A valoriser avec le pr\xE9nom et le nom du r\xE9dacteur ou\
\ un num\xE9ro RPPS. "
description: "A valoriser avec le pr\xE9nom et le nom du r\xE9dacteur, un\
\ num\xE9ro RPPS, un matricule, etc. "
examples:
- Julien Montclar
role:
Expand Down Expand Up @@ -7772,7 +7773,7 @@ components:
x-health-only: false
items:
type: string
title: "Actes r\xE9alis\xE9s par le SMUR"
title: "Actes r\xE9alis\xE9s par la ressource"
x-health-only: false
x-cols: 6
example: example.json#/evaluation/procedure/0
Expand All @@ -7793,15 +7794,18 @@ components:
examples:
- MD30.Z
associatedDiagnosis:
type: string
title: "Diagnostic associ\xE9 SMUR"
type: array
x-health-only: false
x-cols: 6
example: example.json#/evaluation/associatedDiagnosis
description: "Th\xE9saurus SFMU-FEDORU.\nA valoriser par un code de la nomenclature\
\ Diagnostic SMUR."
examples:
- 8B22.1
items:
type: string
title: "Diagnostic associ\xE9 SMUR"
x-health-only: false
x-cols: 6
example: example.json#/evaluation/associatedDiagnosis/0
description: "Th\xE9saurus SFMU-FEDORU.\nA valoriser par un code de la\
\ nomenclature Diagnostic SMUR."
examples:
- 8B22.1
parameter:
type: array
items:
Expand Down Expand Up @@ -7834,7 +7838,7 @@ components:
x-cols: 6
example: example.json#/evaluation/freetext/0
description: "Permettrait de concat\xE9ner dans une zone de commentaire\
\ d'autres champs (ex. anamn\xE8se : allergies,, traitements, symptomes,\
\ d'autres champs (ex. anamn\xE8se : allergies, traitements, symptomes,\
\ ant\xE9c\xE9dents)"
examples:
- None
Expand Down
2 changes: 1 addition & 1 deletion generator/input/GEO-RES.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ components:
- FIXE
- VEHICULE
- HELICOPTERE
- 'SHIP '
- SHIP
examples:
- VEHICULE
capacity:
Expand Down
29 changes: 16 additions & 13 deletions generator/input/RS-BPV.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ components:
properties:
caseId:
type: string
title: "Identifiant partag\xE9 du dossier de r\xE9gulation m\xE9dicale (DRM)"
title: "Identifiant partag\xE9 du dossier "
x-health-only: false
x-cols: 6
example: example.json#/caseId
Expand Down Expand Up @@ -80,8 +80,8 @@ components:
x-health-only: false
x-cols: 6
example: example.json#/redactor/label
description: "A valoriser avec le pr\xE9nom et le nom du r\xE9dacteur ou\
\ un num\xE9ro RPPS. "
description: "A valoriser avec le pr\xE9nom et le nom du r\xE9dacteur, un\
\ num\xE9ro RPPS, un matricule, etc. "
examples:
- Julien Montclar
role:
Expand Down Expand Up @@ -224,7 +224,7 @@ components:
x-health-only: false
items:
type: string
title: "Actes r\xE9alis\xE9s par le SMUR"
title: "Actes r\xE9alis\xE9s par la ressource"
x-health-only: false
x-cols: 6
example: example.json#/evaluation/procedure/0
Expand All @@ -245,15 +245,18 @@ components:
examples:
- MD30.Z
associatedDiagnosis:
type: string
title: "Diagnostic associ\xE9 SMUR"
type: array
x-health-only: false
x-cols: 6
example: example.json#/evaluation/associatedDiagnosis
description: "Th\xE9saurus SFMU-FEDORU.\nA valoriser par un code de la nomenclature\
\ Diagnostic SMUR."
examples:
- 8B22.1
items:
type: string
title: "Diagnostic associ\xE9 SMUR"
x-health-only: false
x-cols: 6
example: example.json#/evaluation/associatedDiagnosis/0
description: "Th\xE9saurus SFMU-FEDORU.\nA valoriser par un code de la\
\ nomenclature Diagnostic SMUR."
examples:
- 8B22.1
parameter:
type: array
items:
Expand Down Expand Up @@ -286,7 +289,7 @@ components:
x-cols: 6
example: example.json#/evaluation/freetext/0
description: "Permettrait de concat\xE9ner dans une zone de commentaire\
\ d'autres champs (ex. anamn\xE8se : allergies,, traitements, symptomes,\
\ d'autres champs (ex. anamn\xE8se : allergies, traitements, symptomes,\
\ ant\xE9c\xE9dents)"
examples:
- None
Expand Down
1 change: 1 addition & 0 deletions generator/input/RS-DR.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ components:
\ \xE9metteur}\n\nOU - uniquement si un ID unique de la demande n'est\
\ pas disponible : \n{OrgId \xE9metteur}.request.{senderCaseId}.{num\xE9\
ro d\u2019ordre chronologique}"
pattern: ^([\w-]+\.){3,4}request(\.[\w-]+){1,2}$
examples:
- 'fr.health.samu770.request.1249875
Expand Down
Loading

0 comments on commit 6bc00e6

Please sign in to comment.