You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: input/pagecontent/dev_nouvel_ig.md
+23-29Lines changed: 23 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,8 @@
1
-
### Mise en place du repo GitHub
1
+
### Création d'un nouveau projet
2
2
3
-
Prérequis : suivre la [documentation](https://ansforge.github.io/Documentation) pour créer un compte GitHub et l'associer à l'organisation ANS.
3
+
Dans le cas de la création d'un nouveau projet , il faut créer un répertoire GitHub ([cf documentation](./github.html)) en utilisant le template ansforge/IG-modele et paramétrer l'IG.
4
4
5
-
Ce nouveau projet doit utiliser le GitHub template ansforge/IG-modele et doit respecter la convention de nommage indiquée dans la [documentation de création des
6
-
répetoires GitHub](https://ansforge.github.io/Documentation/pages/docs/creationprojet.html) tout en étant préfixé par "IG-..." (Exemple : IG-fhir-partage-de-documents-de-sante).
7
-
En cas de doute, l'équipe interopérabilité de l'ANS se tient disponible pour avis.
8
-
9
-
Une fois l'IG créé, il est nécessaire de le personnaliser pour le projet dédié.
10
-
11
-
### Paramétrage de l'IG
5
+
#### Paramétrage de l'IG
12
6
13
7
Lors de la création d'un IG, il y a une première phase de paramétrage à effectuer. Il faut remplir:
14
8
@@ -23,14 +17,14 @@ Lors de la création d'un IG, il y a une première phase de paramétrage à effe
23
17
24
18
Il faudra également mettre à jour le fichier readme.md à la racine du repository.
25
19
26
-
### Paramétrage du menu de navigation de l'IG
20
+
#####Paramétrage du menu de navigation de l'IG
27
21
28
22
Une des plus importantes parties de l'IG est la documentation narrative, celle-ci est écrite en [kramdown](https://kramdown.gettalong.org/).
29
23
Ces pages sont à ajouter dans input/pagecontent avec l'extension .md. A noter que ces pages doivent être directement contenues dans le dossier pagecontent et ne peuvent pas avoir d'arborescence de dossiers.
30
24
31
25
Une fois une page créée et rédigée, pour l'ajouter au menu, il faut éditer le fichier sushi-config.yaml. Celui-ci contient deux parties : la partie pages et la partie menu
32
26
33
-
#### La partie pages
27
+
######La partie pages
34
28
35
29
La partie pages est optionnelle, mais elle permet de donner un titre aux pages (par défaut, c'est le nom du fichier qui est utilisé). A noter, il faut utiliser l'extension .md ici.
36
30
@@ -46,7 +40,7 @@ pages:
46
40
title: Ajout d'un lot de documents
47
41
```
48
42
49
-
#### La partie menu
43
+
###### La partie menu
50
44
51
45
La partie menu permet de définir le menu de navigation dans le header. A noter, il faut utiliser l'extension .html.
52
46
@@ -62,23 +56,23 @@ menu:
62
56
Spécifications fonctionnelles:
63
57
```
64
58
65
-
### Développement de l'IG
66
-
67
-
Le développement de l'IG se fait essentiellement dans le dossier [input](https://build.fhir.org/ig/FHIR/ig-guidance/using-templates.html#igroot-input).
Le développement de l'IG se fait essentiellement dans le dossier [input](https://build.fhir.org/ig/FHIR/ig-guidance/using-templates.html#igroot-input). Celui-ci contient les pages kramdown ainsi que les artéfacts FHIR (profils, exemples, terminologies, ...)
* Documentation vers FSH : https://build.fhir.org/ig/HL7/fhir-shorthand/reference.html
126
120
* Documentation sur l'IG Publisher : https://confluence.hl7.org/pages/viewpage.action?pageId=35718627#IGPublisherDocumentation-QuickStart
127
121
128
-
### MAC / Linux
122
+
#### MAC / Linux
129
123
130
-
#### Prérequis : NodeJS, Java, Ruby et Jekyll
124
+
##### Prérequis : NodeJS, Java, Ruby et Jekyll
131
125
132
-
##### NodeJS
126
+
###### NodeJS
133
127
134
128
Pour installer [NodeJS](https://nodejs.org/), vous pouvez suivre la documentation d'installation officielle.
135
129
@@ -141,7 +135,7 @@ sudo apt install nodejs
141
135
142
136
Il est aussi possible de l'installer via [`nvm` (Node Version Manager)](https://github.com/nvm-sh/nvm), qui vous permettra de changer de version de NodeJS en fonction des requis de vos projets.
143
137
144
-
##### Java
138
+
###### Java
145
139
146
140
Pour installer Java, vous pouvez vous tourner vers le [JDK officiel sur la page d'Oracle](https://www.oracle.com/fr/java/technologies/downloads/). Vous y trouverez un `.deb` ou un `.rpm` à installer facilement sur votre distribution.
147
141
Vous pouvez aussi utiliser [`openjdk`](https://openjdk.org/) pour une implémentation open-source de la plateforme Java.
@@ -150,7 +144,7 @@ Vous pouvez aussi utiliser [`openjdk`](https://openjdk.org/) pour une implément
150
144
sudo apt install openjdk-17-jre
151
145
```
152
146
153
-
##### Ruby et Jekyll
147
+
###### Ruby et Jekyll
154
148
155
149
Pour installer Ruby sur une distribution Linux basée sur Debian, vous pouvez le faire via votre package-manager :
156
150
@@ -174,7 +168,7 @@ Vous trouverez davantage d'informations sur le [confluence d'hl7](https://conflu
174
168
175
169
Des difficultés pour installer ruby et jekyll peuvent survenir sur mac M1, M2 : lancer le [terminal avec rosetta](https://apple.stackexchange.com/questions/428768/on-apple-m1-with-rosetta-how-to-open-entire-terminal-iterm-in-x86-64-architec) et suivre [cette procédure](https://github.com/jekyll/jekyll/issues/8576#issuecomment-798080994) permet de régler les problèmes.
176
170
177
-
#### Installer SUSHI
171
+
##### Installer SUSHI
178
172
179
173
Sushi permet de convertir la [grammaire FSH](https://build.fhir.org/ig/HL7/fhir-shorthand/) pour générer des profils, extensions (StructureDefinition) et des exemples / instances FHIR. La prise en main est relativement facile lorsque l'on connaît bien FHIR.
180
174
Sushi est développé en JavaScript sous forme de module npm.
@@ -185,7 +179,7 @@ npm install -g fsh-sushi
185
179
186
180
Pour information, [GoFSH](https://github.com/FHIR/GoFSH) permet de faire la transformation inverse : transformer une StructureDefinition au format FSH.
187
181
188
-
#### Générer l'IG
182
+
##### Générer l'IG
189
183
190
184
```bash
191
185
bash _updatePublisher.sh # Mise à jour du publisher java
Copy file name to clipboardExpand all lines: input/pagecontent/index.md
-30Lines changed: 0 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,33 +44,3 @@ Un lien est également disponible sous chaque guide d'implémentation pour accé
44
44
<imgwidth="100%"alt="image"src="new_issue.png">
45
45
46
46
L'issue doit contenir un titre, et une description la plus détaillée possible avec idéalement une proposition de changement pour faciliter et améliorer la qualité des modifications apportées.
47
-
48
-
### Les outils utilisés dans ce guide
49
-
50
-
#### FSH
51
-
52
-
FSH est la grammaire de définition des ressources FHIR (instance, StructureDefinition, SearchParameter, CapabilityStatement, ImplementationGuide, ...)
53
-
54
-
#### SUSHI
55
-
56
-
Sushi est le logiciel permettant de générer les ressources au format json ou xml à partir de la grammaire FSH.
57
-
Il est disponible en ligne sur [le site FSHSchool](https://fshschool.org/) ou en [invite de commande](https://www.npmjs.com/package/fsh-sushi)
58
-
59
-
Par défaut, sushi ne génère que les differential. Pour générer les snapshots, il faut utiliser l'option `sushi -s .`
60
-
61
-
#### GOFSH
62
-
63
-
GoFSH permet de faire la transformation inverse StructureDefinition --> FSH. Il permet de faciliter la prise en main et la conversion d'anciens projets json dans la syntaxe FSH.
64
-
De la même manière qu'FSH, GoFSH est également disponible en ligne sur [le site FSHSchool](https://fshschool.org/) ou en [invite de commande](https://www.npmjs.com/package/gofsh)
65
-
66
-
Par défaut, GoFSH ne traite que les fichiers json. Il va falloir rajouter l'option `goFSH -t json-and-xml .` pour traiter les deux.
67
-
68
-
A noter, la fonction fshing-trip lancée avec la commande `gofsh --fshing-trip` permet de lancer goFSH puis sushi et de générer une comparaison entre le json initial et le json généré avec sushi visualisable sous la forme d'une page html.
69
-
70
-
#### IG Publisher
71
-
72
-
L'IG publisher est l'outil permettant de générer les pages web de l'implementation guide (usage de jekyll, java, ...).
73
-
Il prend en entrée une arborescence de dossiers / fichiers bien définis, contenant : des pages en markdown, des fichiers fsh, des ressources FHIR au format json ou xml, des images...
74
-
75
-
Vous pouvez vous référer à [la documentation officielle de l'IG publisher](https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation).
0 commit comments