diff --git a/.gitignore b/.gitignore
index ca835e7fba..0430264e0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,3 +36,7 @@ Thumbs.db
.settings/*
target/*
.mvn/wrapper/maven-wrapper.jar
+
+
+
+fhir-ig-publisher/
\ No newline at end of file
diff --git a/fhir-ig-publisher b/fhir-ig-publisher
new file mode 160000
index 0000000000..3408a3718e
--- /dev/null
+++ b/fhir-ig-publisher
@@ -0,0 +1 @@
+Subproject commit 3408a3718e7af9fe66f30d8bedd24e799bee4b0b
diff --git a/ig.ini b/ig.ini
index 9ddb4d876c..1967d1099a 100644
--- a/ig.ini
+++ b/ig.ini
@@ -49,3 +49,4 @@ examples:
# http://build.fhir.org/ig/FHIR/ig-guidance
+generateNarratives = true
\ No newline at end of file
diff --git a/input/fsh/RessourcesFHIRCorps/profiles/FrDocumentReference.fsh b/input/fsh/RessourcesFHIRCorps/profiles/FrDocumentReference.fsh
new file mode 100644
index 0000000000..c3429bbf37
--- /dev/null
+++ b/input/fsh/RessourcesFHIRCorps/profiles/FrDocumentReference.fsh
@@ -0,0 +1,6 @@
+// StructureDefinition for encounterParticipant
+Profile: FrDocumentReference
+Parent: http://hl7.org/fhir/StructureDefinition/DocumentReference
+Id: fr-document-reference
+Title: "Fr Document Reference"
+Description: "DocumentReference restreint pour les documents PDF."
\ No newline at end of file
diff --git a/input/fsh/RessourcesFHIREntete/aliases.fsh b/input/fsh/RessourcesFHIREntete/aliases.fsh
index f8d7dc2e2d..3698edc327 100644
--- a/input/fsh/RessourcesFHIREntete/aliases.fsh
+++ b/input/fsh/RessourcesFHIREntete/aliases.fsh
@@ -30,4 +30,13 @@ Alias: $TRE_R45-FonctionQualifiee = https://mos.esante.gouv.fr/NOS/TRE_R45-Fonct
Alias: $TRE_R97-DroitExerciceCompl = https://mos.esante.gouv.fr/NOS/TRE_R97-DroitExerciceCompl/FHIR/TRE-R97-DroitExerciceCompl
Alias: $TRE_G05-SousSectionTableauCNOP = https://mos.esante.gouv.fr/NOS/TRE_G05-SousSectionTableauCNOP/FHIR/TRE-G05-SousSectionTableauCNOP
Alias: $TRE_R85-RolePriseCharge = https://mos.esante.gouv.fr/NOS/TRE_R85-RolePriseCharge/FHIR/TRE-R85-RolePriseCharge
-Alias: $TRE_R04-TypeSavoirFaire = https://mos.esante.gouv.fr/NOS/TRE_R04-TypeSavoirFaire/FHIR/TRE-R04-TypeSavoirFaire
\ No newline at end of file
+Alias: $TRE_R04-TypeSavoirFaire = https://mos.esante.gouv.fr/NOS/TRE_R04-TypeSavoirFaire/FHIR/TRE-R04-TypeSavoirFaire
+
+// Code Systems
+Alias: $LNC = http://loinc.org
+Alias: $SCT = http://snomed.info/sct
+Alias: $system = http://example.org/system
+Alias: $v3-ActCode = http://terminology.hl7.org/CodeSystem/v3-ActCode
+
+//Value Sets
+Alias: $consentscope = http://terminology.hl7.org/CodeSystem/consentscope
\ No newline at end of file
diff --git a/input/fsh/exemple-document.fsh b/input/fsh/exemple-document.fsh
new file mode 100644
index 0000000000..092693036c
--- /dev/null
+++ b/input/fsh/exemple-document.fsh
@@ -0,0 +1,604 @@
+Instance: clinical-document-bundle-BIO-CR-BIO
+InstanceOf: Bundle
+Description: "Document Bundle exemple FHIR du CR-BIO"
+Usage: #example
+* meta.lastUpdated = "2025-05-07T13:28:17.000+00:00"
+// Identifiant unique du document
+* identifier.system = "urn:oid:1.2.250.1.213.1.1.1.55.12345.12"
+* identifier.value = "2024.01"
+// Document FHIR
+* type = #document
+// Date de création du bundle
+* timestamp = "2025-05-07T13:28:17.000+00:00"
+
+
+* entry[0].fullUrl = "https://exemple.com/Composition/clinical-document-composition-BIO-CR-BIO"
+* entry[=].resource = clinical-document-composition-BIO-CR-BIO
+* entry[+].fullUrl = "https://exemple.com/Patient/patientExemple"
+* entry[=].resource = patientExemple
+* entry[+].fullUrl = "https://exemple.com/PractitionerRole/practitioner-role-exemple1"
+* entry[=].resource = practitioner-role-exemple1
+* entry[+].fullUrl = "https://exemple.com/Practitioner/practitioner-exemple1"
+* entry[=].resource = practitioner-exemple1
+* entry[+].fullUrl = "https://exemple.com/PractitionerRole/practitioner-role-exemple2"
+* entry[=].resource = practitioner-role-exemple2
+* entry[+].fullUrl = "https://exemple.com/Practitioner/practitioner-exemple2"
+* entry[=].resource = practitioner-exemple2
+* entry[+].fullUrl = "https://exemple.com/PractitionerRole/practitioner-role-exemple3"
+* entry[=].resource = practitioner-role-exemple3
+* entry[+].fullUrl = "https://exemple.com/Practitioner/practitioner-exemple3"
+* entry[=].resource = practitioner-exemple3
+* entry[+].fullUrl = "https://exemple.com/PractitionerRole/practitioner-role-exemple4"
+* entry[=].resource = practitioner-role-exemple4
+* entry[+].fullUrl = "https://exemple.com/Practitioner/practitioner-exemple4"
+* entry[=].resource = practitioner-exemple4
+* entry[+].fullUrl = "https://exemple.com/PractitionerRole/practitioner-role-exemple5"
+* entry[=].resource = practitioner-role-exemple5
+* entry[+].fullUrl = "https://exemple.com/Practitioner/practitioner-exemple5"
+* entry[=].resource = practitioner-exemple5
+* entry[+].fullUrl = "https://exemple.com/Encounter/encounterExemple"
+* entry[=].resource = encounterExemple
+* entry[+].fullUrl = "https://exemple.com/ServiceRequest/orderExemple"
+* entry[=].resource = orderExemple
+* entry[+].fullUrl = "https://exemple.com/Organization/custodianOrganization"
+* entry[=].resource = custodianOrganization
+* entry[+].fullUrl = "https://exemple.com/Location/locationExemple"
+* entry[=].resource = locationExemple
+* entry[+].fullUrl = "https://exemple.com/DocumentReference/documentReferenceExample"
+* entry[=].resource = documentReferenceExample
+
+Instance: clinical-document-composition-BIO-CR-BIO
+InstanceOf: FrCompositionDocument
+Description: "Exemple de Composition pour un CR de Biologie"Usage: #inline
+* meta.lastUpdated = "2024-05-07T13:28:17.000+00:00"
+* meta.profile = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/BIO-CR-BIO/2024.01"
+* language = #fr
+* text.div = "
+
Compte rendu d'examens biologiques
+
Practitioner: Dr. Marcel CAMPARINI
+
status: final
+
patient: DOMINIQUE MARIE-LOUISE PAT-TROIS
+
author: DR Marcel CAMPARINI / Laboratoire des charmes
+
Personne à prévenir en cas d'urgence: Sophie NESSI
+
Personne de confiance: Sophie NESSI
+
Organisation chargée de la conservation du document: Laboratoire des charmes
+
Responsable du document: Dr. Marcel CAMPARINI
+
Biologiste ayant validé des résultats présents sur le compte rendu: Dr. Jean DE SANTS / Dr. Thierry DIAZ
+
+
encounter: ambulatoire (hors établissement), 2025-05-03 - 2024-05-07
+
confidentiality: N
"
+
+// Version du document
+* extension[R5-Composition-version].valueString = "1"
+
+// Informant
+* extension[informant].extension[type].valueCodeableConcept.coding[0].system = "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
+* extension[informant].extension[type].valueCodeableConcept.coding[0].code = #INF
+* extension[informant].extension[party].valueReference = Reference(patientExemple)
+
+/* // information-recipient-extension (non utilisé dans la BIO)
+* extension[information-recipient].extension[type].valueCodeableConcept.coding[0].system = "urn:oid:2.16.840.1.113883.5.90"
+* extension[information-recipient].extension[type].valueCodeableConcept.coding[0].code = #PRCP
+* extension[information-recipient].extension[type].valueCodeableConcept.coding[0].display = "primary information recipient"
+* extension[information-recipient].extension[party].valueReference = Reference(practitioner-role-exemple1) "DR Marcel CAMPARINI" */
+
+// Participant
+* extension[participant].extension[type].url = "type"
+* extension[participant].extension[type].valueCodeableConcept.coding[0].system = "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
+* extension[participant].extension[type].valueCodeableConcept.coding[0].code = #REF
+* extension[ParticipantExtension].extension[type].valueCodeableConcept.coding[0].display = "Référent / Prescripteur"
+* extension[participant].extension[time].valuePeriod.start = "2025-06-12T10:00:00+01:00"
+* extension[participant].extension[time].valuePeriod.end = "2025-06-12T14:00:00+01:00"
+* extension[participant].extension[party].valueReference = Reference(practitioner-role-exemple4)
+
+// order
+* extension[order].url = "http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/OrderExtension"
+* extension[order].valueReference = Reference(orderExemple)
+
+// identifier (setId)
+* identifier.value = "1.2.250.1.213.1.1.1.55.2024.5"
+
+// statut du document
+* status = #final
+
+* text.status = #additional
+
+// Type de document
+* type.coding[0].system = $LNC
+* type.coding[0].code = #11502-2
+* type.coding[0].display = "Compte rendu du laboratoire [Recherche] Patient ; Document"
+
+// Patient
+* subject = Reference(patientExemple)
+
+// Association du document à une prise en charge
+* encounter = Reference(encounterExemple)
+
+// Date de création
+* date = "2025-06-12T14:00:00+01:00"
+
+// Auteur du document
+* author = Reference(practitioner-role-exemple1) "DR Marcel CAMPARINI"
+* author.extension[time].valueDateTime = "2024-01-04T13:45:00+01:00"
+
+// Titre du document CDA
+* title = "Compte rendu d'examens biologiques"
+
+// Niveau de confidentialité
+* confidentiality = #N
+
+// Responsable du document
+* attester[legal_attester].mode = #legal
+* attester[legal_attester].time = "2024-01-04T15:00:00+01:00"
+* attester[legal_attester].party = Reference(practitioner-role-exemple1)
+
+// Professionnel attestant la validité du contenu du document
+* attester[professional_attester][0].mode = #professional
+* attester[professional_attester][0].time = "2024-01-04T14:30:00+01:00"
+* attester[professional_attester][0].party = Reference(practitioner-role-exemple2)
+
+* attester[professional_attester][1].mode = #professional
+* attester[professional_attester][1].time = "2024-01-04T14:30:00+01:00"
+* attester[professional_attester][1].party = Reference(practitioner-role-exemple3)
+
+// Structure chargée de la conservation du document
+* custodian = Reference(custodianOrganization) "Laboratoire des charmes"
+
+// Document de référence
+* relatesTo[+].code = #appends
+* relatesTo[=].targetIdentifier.type.coding[0].system = "http://terminology.hl7.org/CodeSystem/v2-0203"
+* relatesTo[=].targetIdentifier.type.coding[0].code = #ACSN
+* relatesTo[=].targetIdentifier.type.coding[0].display = "Accession ID"
+* relatesTo[=].targetIdentifier.system = "urn:oid:1.2.250.1.213.1.1.9"
+* relatesTo[=].targetIdentifier.value = "202411111123"
+
+// Actes documentés
+* event[0].code.coding.code = #18723-7
+* event[0].code.coding.system = $LNC
+* event[0].code.coding.display = "Hématologie"
+
+* event[1].code.coding.code = #18725-2
+* event[1].code.coding.system = $LNC
+* event[1].code.coding.display = "Microbiologie"
+
+* event[principalEvent].period.start = "2024-06-12T08:00:00+01:00"
+* event[principalEvent].period.end = "2024-06-12T09:00:00+01:00"
+* event[principalEvent].code.coding.code = #18719-5
+* event[principalEvent].code.coding.system = $LNC
+* event[principalEvent].code.coding.display = "Biochimie"
+* event[principalEvent].extension[performer].url = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-performer-event"
+* event[principalEvent].extension[performer].valueReference = Reference(practitioner-role-exemple1)
+
+// Section obligatoire
+* section[+].entry[+] = Reference(Binary)
+* section[=].title = "PDF"
+/* * section[0].title = "Section vide"
+* section[=].code = $LNC#29299-5
+* section[=].text.status = #additional
+* section[=].text.div = "
+\n\n
+
\n\n
+ \n\n
+ \n\n
+ | Details | \n\n
+ | \n\n
+
\n\n
+ \n\n
+ \n\n
+ \n\n
+ | Aucune donnée disponible (Section vide) | \n\n
+ | \n\n
+
\n\n
+ \n\n
+
\n\n
+
"
+* section[=].emptyReason = http://terminology.hl7.org/CodeSystem/list-empty-reason#notasked "Not Asked"
+
+ */
+//***************Instances*********************//
+Instance: patientExemple
+InstanceOf: FrPatientINSDocument
+Title: "Patient"
+Usage: #inline
+Description: "Patient"
+* meta.profile = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-patient-ins-document"
+
+// Identifiant INS
+* identifier[INS-NIR].use = #official
+* identifier[INS-NIR].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[INS-NIR].type.coding[0].code = #INS-NIR
+* identifier[INS-NIR].system = "urn:oid:1.2.250.1.213.1.4.8"
+* identifier[INS-NIR].value = "123456789012244"
+
+// Données sociodémographiques
+* gender = #female
+* birthDate = "1979-03-28"
+* deceasedBoolean = false
+
+// Nom officiel (de naissance)
+* name[officialName].use = #official
+* name[officialName].family = "PAT-TROIS"
+* name[officialName].given = "DOMINIQUE MARIE-LOUISE"
+* name[officialName].extension[birth-list-given-name].url = "https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-patient-birth-list-given-name"
+* name[officialName].extension[birth-list-given-name].valueString = "DOMINIQUE MARIE-LOUISE"
+
+// Nom usuel
+* name[usualName].use = #usual
+* name[usualName].family = "PAT-TROIS"
+* name[usualName].given = "DOMINIQUE MARIE-LOUISE"
+
+// Téléphones
+* telecom[0].system = #phone
+* telecom[0].value = "01 23 24 67 89"
+* telecom[0].use = #home
+
+* telecom[1].system = #phone
+* telecom[1].value = "01 99 88 77 66"
+* telecom[1].use = #work
+* telecom[1].rank = 1
+
+* telecom[2].system = #phone
+* telecom[2].value = "06 80 55 34 33"
+* telecom[2].use = #mobile
+* telecom[2].rank = 2
+
+// Extension: Lieu de naissance
+* extension[birthPlace].url = "http://hl7.org/fhir/StructureDefinition/patient-birthPlace"
+* extension[birthPlace].valueAddress.city = "Ambléon"
+* extension[birthPlace].valueAddress.extension[fr-core-address-insee-code].url = "https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-address-insee-code"
+* extension[birthPlace].valueAddress.extension[fr-core-address-insee-code].valueCoding.system = "https://mos.esante.gouv.fr/NOS/TRE_R13-Commune/FHIR/TRE-R13-Commune"
+* extension[birthPlace].valueAddress.extension[fr-core-address-insee-code].valueCoding.code = #01006
+
+// Extension: Fiabilité de l'identité
+* extension[identityReliability].url = "https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-identity-reliability"
+* extension[identityReliability].extension[identityStatus].url = "identityStatus"
+* extension[identityReliability].extension[identityStatus].valueCoding.system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0445"
+* extension[identityReliability].extension[identityStatus].valueCoding.code = #VALI
+
+// Contact 1
+* contact[0].name.text = "Sophie NESSI"
+* contact[0].relationship[RelationType].coding[0].system = "https://mos.esante.gouv.fr/NOS/JDV_J11-RelationPatient-CISIS/FHIR/JDV-J11-RelationPatient-CISIS"
+* contact[0].relationship[RelationType].coding[0].code = #SIS
+* contact[0].relationship[RelationType].coding[0].display = "Soeur"
+* contact[0].relationship[Role].coding[0].system = "https://interop.esante.gouv.fr/ig/document/core/ValueSet/fr-doc-vs-patient-contact-role"
+* contact[0].relationship[Role].coding[0].code = #ECON
+* contact[0].relationship[Role].coding[0].display = "Personne à prévenir en cas d'urgence"
+
+* contact[0].name[0].family = "NESSI"
+* contact[0].address.text = "12 rue des Lilas, 75012 Paris"
+
+// Contact 2
+* contact[1].name.text = "Sophie NESSI"
+* contact[1].relationship[RelationType].coding[0].system = "https://mos.esante.gouv.fr/NOS/JDV_J11-RelationPatient-CISIS/FHIR/JDV-J11-RelationPatient-CISIS"
+* contact[1].relationship[RelationType].coding[0].code = #SIS
+* contact[1].relationship[RelationType].coding[0].display = "Soeur"
+* contact[1].relationship[Role].coding[0].system = "https://interop.esante.gouv.fr/ig/document/core/ValueSet/fr-doc-vs-patient-contact-role"
+* contact[1].relationship[Role].coding[0].code = #NOK
+* contact[1].relationship[Role].coding[0].display = "Personne de confiance"
+
+* contact[1].name[0].family = "NESSI"
+* contact[1].address.text = "12 rue des Lilas, 75012 Paris"
+
+Instance: custodianOrganization
+InstanceOf: FrOrganizationDocument
+Description: "exemple custodian "Usage: #inline
+* identifier[idNatSt].system = "urn:oid:1.2.250.1.71.4.2.2"
+* identifier[idNatSt].value = "1120459876"
+* identifier[idNatSt].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[idNatSt].type.coding[0].code = #IDNST
+* name = "Laboratoire des charmes"
+// Téléphones
+* telecom[0].system = #phone
+* telecom[0].value = "01 74 58 96 07"
+* telecom[0].use = #work
+
+Instance: practitioner-role-exemple1
+InstanceOf: FrPractitionerRoleDocument
+Description: "exemple practitioner role "Usage: #inline
+* meta.lastUpdated = "2013-05-05T16:13:03Z"
+//* identifier[idSituationExercice].system = "https://rpps.esante.gouv.fr"
+//* identifier[idSituationExercice].value = "801234534765"
+* practitioner = Reference(practitioner-exemple1)
+* code[0].coding[0].system = "http://terminology.hl7.org/CodeSystem/practitioner-role"
+* code[0].coding[0].code = #doctor
+* organization = Reference(organizationExemple)
+
+Instance: practitioner-role-exemple2
+InstanceOf: FrPractitionerRoleDocument
+Description: "exemple practitioner role "Usage: #inline
+* meta.lastUpdated = "2013-05-05T16:13:03Z"
+//* identifier.system = "http://www.acme.org/practitioners"
+//* identifier.value = "1.2.250.1.71.4.2.1"
+* practitioner = Reference(practitioner-exemple2)
+* code[0].coding[0].system = "http://terminology.hl7.org/CodeSystem/practitioner-role"
+* code[0].coding[0].code = #doctor
+* organization = Reference(organizationExemple)
+
+Instance: practitioner-role-exemple3
+InstanceOf: FrPractitionerRoleDocument
+Description: "exemple practitioner role "Usage: #inline
+* meta.lastUpdated = "2013-05-05T16:13:03Z"
+//* identifier.system = "http://www.acme.org/practitioners"
+//* identifier.value = "1.2.250.1.71.4.2.1"
+* practitioner = Reference(practitioner-exemple3)
+* code[0].coding[0].system = "http://terminology.hl7.org/CodeSystem/practitioner-role"
+* code[0].coding[0].code = #doctor
+* organization = Reference(organizationExemple)
+
+Instance: practitioner-role-exemple4
+InstanceOf: FrPractitionerRoleDocument
+Description: "exemple practitioner role "Usage: #inline
+* meta.lastUpdated = "2013-05-05T16:13:03Z"
+//* identifier.system = "http://www.acme.org/practitioners"
+//* identifier.value = "1.2.250.1.71.4.2.1"
+* practitioner = Reference(practitioner-exemple4)
+* code[0].coding[0].system = "http://terminology.hl7.org/CodeSystem/practitioner-role"
+* code[0].coding[0].code = #doctor
+* organization = Reference(organizationExemple)
+
+Instance: practitioner-role-exemple5
+InstanceOf: FrPractitionerRoleDocument
+Description: "exemple practitioner role "Usage: #inline
+* meta.lastUpdated = "2013-05-05T16:13:03Z"
+//* identifier.system = "http://www.acme.org/practitioners"
+//* identifier.value = "1.2.250.1.71.4.2.1"
+* practitioner = Reference(practitioner-exemple5)
+* code[0].coding[0].system = "http://terminology.hl7.org/CodeSystem/practitioner-role"
+* code[0].coding[0].code = #nurse
+* code[0].coding[0].display = "Nurse"
+* organization = Reference(organizationExemple)
+
+Instance: practitioner-exemple1
+InstanceOf: FrPractitionerDocument
+Usage: #inline
+Title: "Exemple 1: practitioner"
+* identifier[rpps].system = "https://rpps.esante.gouv.fr"
+* identifier[rpps].value = "801234534765"
+* identifier[rpps].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[rpps].type.coding[0].code = #RPPS
+* identifier[rpps].type.coding[0].display = "Numéro du professionnel de santé"
+* address.text = "8 Rue Frédéric Bastia, 92100 BOULOGNE-BILLANCOURT"
+* name[0].family = "CAMPARINI"
+* name[0].given[0] = "Marcel"
+* name[0].prefix[0] = "Dr"
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].code = #SM03
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].system = "https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale"
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].display = "Biologie médicale (SM)"
+
+* qualification[savoirFaire][professionMedecin].issuer = Reference(organizationExemple)
+
+// Téléphones
+* telecom.system = #phone
+* telecom.value = "01 74 58 96 07"
+* telecom.use = #work
+* telecom.rank = 1
+
+
+Instance: practitioner-exemple2
+InstanceOf: FrPractitionerDocument
+Usage: #inline
+Title: "Exemple 2: practitioner"
+* identifier[rpps].system = "https://rpps.esante.gouv.fr"
+* identifier[rpps].value = "801234567898"
+* identifier[rpps].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[rpps].type.coding[0].code = #RPPS
+* identifier[rpps].type.coding[0].display = "Numéro du professionnel de santé"
+* address.text = "8 Rue Frédéric Bastia, 92100 BOULOGNE-BILLANCOURT"
+* name[0].family = "DE SANTS"
+* name[0].given[0] = "Jean"
+* name[0].prefix[0] = "Dr"
+
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].code = #SM03
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].system = "https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale"
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].display = "Biologie médicale (SM)"
+* qualification[savoirFaire][professionMedecin].issuer = Reference(organizationExemple)
+
+// Téléphones
+* telecom.system = #phone
+* telecom.value = "01 74 58 96 07"
+* telecom.use = #work
+* telecom.rank = 1
+
+Instance: practitioner-exemple3
+InstanceOf: FrPractitionerDocument
+Usage: #inline
+Title: "Exemple 3: practitioner"
+* identifier[rpps].system = "https://rpps.esante.gouv.fr"
+* identifier[rpps].value = "801234567898"
+* identifier[rpps].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[rpps].type.coding[0].code = #RPPS
+* identifier[rpps].type.coding[0].display = "Numéro du professionnel de santé"
+* address.text = "8 Rue Frédéric Bastia, 92100 BOULOGNE-BILLANCOURT"
+* name[0].family = "DIAZ"
+* name[0].given[0] = "Thierry"
+* name[0].prefix[0] = "Dr"
+
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].code = #SM03
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].system = "https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale"
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].display = "Biologie médicale (SM)"
+* qualification[savoirFaire][professionMedecin].issuer = Reference(organizationExemple)
+
+// Téléphones
+* telecom.system = #phone
+* telecom.value = "01 74 58 96 07"
+* telecom.use = #work
+* telecom.rank = 1
+
+Instance: practitioner-exemple4
+InstanceOf: FrPractitionerDocument
+Usage: #inline
+Title: "Exemple 4: practitioner"
+* identifier[rpps].system = "https://rpps.esante.gouv.fr"
+* identifier[rpps].value = "801234534765"
+* identifier[rpps].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[rpps].type.coding[0].code = #RPPS
+* identifier[rpps].type.coding[0].display = "Numéro du professionnel de santé"
+* name[0].family = "BLUE"
+* name[0].given[0] = "Eva"
+* name[0].prefix[0] = "Dr"
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].code = #SM19
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].system = "https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale"
+* qualification[savoirFaire][professionMedecin].code.coding[savoirFaire].display = "Gynécologie médicale (SM)"
+
+* qualification[savoirFaire][professionMedecin].issuer = Reference(organizationExemple2)
+
+// Téléphones
+* telecom.system = #phone
+* telecom.value = "01 47 15 00 00"
+* telecom.use = #work
+* telecom.rank = 1
+
+
+Instance: practitioner-exemple5
+InstanceOf: FrPractitionerDocument
+Usage: #inline
+Title: "Exemple 5: practitioner"
+* identifier[rpps].system = "https://rpps.esante.gouv.fr"
+* identifier[rpps].value = "801234534765"
+* identifier[rpps].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[rpps].type.coding[0].code = #RPPS
+* identifier[rpps].type.coding[0].display = "Numéro du professionnel de santé"
+* address.text = "12 Rue du renard, 92100 BOULOGNE-BILLANCOURT"
+* name[0].family = "BLEEDER"
+* name[0].given[0] = "Roberta"
+* name[0].prefix[0] = "Dr"
+* qualification[savoirFaire][professionInfirmier].code.coding[savoirFaire].code = #60
+* qualification[savoirFaire][professionInfirmier].code.coding[savoirFaire].system = "https://mos.esante.gouv.fr/NOS/TRE_G15-ProfessionSante/FHIR/TRE-G15-ProfessionSante"
+* qualification[savoirFaire][professionInfirmier].code.coding[savoirFaire].display = "Infirmier"
+
+* qualification[savoirFaire][professionInfirmier].issuer = Reference(organizationExemple3)
+
+// Téléphones
+* telecom.system = #phone
+* telecom.value = "01 49 15 45 78"
+* telecom.use = #work
+* telecom.rank = 1
+
+Instance: encounterExemple
+InstanceOf: FrEncounterDocument
+Description: "exemple encounter"
+Usage: #inline
+* meta.lastUpdated = "2024-05-07T11:28:17.000+00:00"
+* identifier.system = "urn:uuid:1.2.250.1.71.4.2.1"
+* identifier.value = "801234534765"
+* identifier.type.coding.code = #VN
+* identifier.type.coding.system = "https://hl7.fr/ig/fhir/core/ValueSet/fr-core-vs-encounter-identifier-type"
+* identifier.type.coding.display = "Visit Number"
+* status = #finished
+* class = $v3-ActCode#AMB "ambulatoire (hors établissement)"
+* type.coding.code = #U
+* type.coding.system = "https://hl7.fr/ig/fhir/core/ValueSet/fr-core-vs-encounter-type"
+* type.coding.display = "Emergency|Caractère d’urgence aigue du problème quel que soit le service d’entrée"
+* type.text = "ambulatoire (hors établissement)"
+* subject = Reference(patientExemple) "DOMINIQUE MARIE-LOUISE"
+* period.start = "2024-05-03T13:28:17.000+00:00"
+* period.end = "2024-05-07T11:28:17.000+00:00"
+* participant.individual = Reference(practitioner-role-exemple1)
+* participant[responsibleParty].type.coding.code = #DIS
+* participant[responsibleParty].type.coding.system = "https://mos.esante.gouv.fr/NOS/TRE_A13-HL7ParticipationType/FHIR/TRE-A13-HL7ParticipationType"
+* participant[responsibleParty].individual = Reference(practitioner-role-exemple1)
+* location[0].location = Reference(locationExemple)
+* location[0].status = #completed
+* location[0].period.start = "2024-05-03T13:28:17.000+00:00"
+* location[0].period.end = "2024-05-07T11:28:17.000+00:00"
+
+Instance: locationExemple
+InstanceOf: FrLocationDocument
+Description: "exemple location "
+Usage: #inline
+* identifier.system = "urn:oid:1.2.250.1.71.4.2.2"
+* identifier.value = "1120459876"
+* identifier.type.coding.system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-location-identifier-type"
+* identifier.type.coding.code = #IDNST
+* identifier.type.coding.display = "Identification nationale de structure définie par l’ASIP-SANTE dans le CI_SIS"
+* name = "Laboratoire des charmes"
+* type.coding[secteurActivite].code = #SA25
+* type.coding[secteurActivite].system = "https://mos.esante.gouv.fr/NOS/JDV_J02-XdsHealthcareFacilityTypeCode-CISIS/FHIR/JDV-J02-XdsHealthcareFacilityTypeCode-CISIS"
+* type.coding[secteurActivite].display = "Laboratoire de biologie médicale"
+* type.coding[categorieEtablissement].code = #611
+* type.coding[categorieEtablissement].system = "https://mos.esante.gouv.fr/NOS/TRE_R66-CategorieEtablissement/FHIR/TRE-R66-CategorieEtablissement"
+* type.coding[categorieEtablissement].display = "Laboratoire de Biologie Médicale"
+* address.text = "8 Rue Frédéric Bastia, 92100 BOULOGNE-BILLANCOURT"
+* managingOrganization = Reference(custodianOrganization)
+
+Instance: orderExemple
+InstanceOf: ServiceRequest
+Description: "exemple service "
+Usage: #inline
+* meta.lastUpdated = "2024-05-07T11:28:17.000+00:00"
+* identifier.system = "urn:oid:1.2.250.1.213.1.1.9"
+* identifier.value = "2024123456789"
+* status = #active "Active"
+* intent = #order
+* subject = Reference(patientExemple) "DOMINIQUE MARIE-LOUISE"
+* code.text = "Discharge to home"
+
+/* Instance: consentExemple
+InstanceOf: Consent
+Description: "exemple consent "
+Usage: #inline
+* meta.lastUpdated = "2024-05-07T11:28:17.000+00:00"
+* status = #active "Active"
+* patient = Reference(patientExemple) "DOMINIQUE MARIE-LOUISE"
+* scope = $consentscope#patient-privacy
+* category = $LNC#59284-0
+//* sourceAttachment.title = "The terms of the consent in lawyer speak."
+* policyRule = $v3-ActCode#OPTIN */
+
+Instance: organizationExemple
+InstanceOf: FrOrganizationDocument
+Description: "exemple organization "
+Usage: #inline
+* identifier.system = "urn:ietf:rfc:3986"
+* identifier.value = "urn:uuid:2.16.840.1.113883.19.5"
+* name = "Laboratoire des charmes"
+
+
+Instance: organizationExemple2
+InstanceOf: FrOrganizationDocument
+Description: "exemple organization "
+Usage: #inline
+* identifier[idNatSt].system = "urn:oid:1.2.250.1.71.4.2.2"
+* identifier[idNatSt].value = "1120459876"
+* identifier[idNatSt].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[idNatSt].type.coding[0].code = #IDNST
+* name = "Cabinet du DR BLUE"
+// Téléphones
+* telecom[0].system = #phone
+* telecom[0].value = "01 45 37 86 53"
+* telecom[0].use = #work
+
+Instance: organizationExemple3
+InstanceOf: FrOrganizationDocument
+Description: "exemple organization "
+Usage: #inline
+* identifier[idNatSt].system = "urn:oid:1.2.250.1.71.4.2.2"
+* identifier[idNatSt].value = "1120459876"
+* identifier[idNatSt].type.coding[0].system = "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203"
+* identifier[idNatSt].type.coding[0].code = #IDNST
+* name = "Cabinet d'infirmières de BB"
+// Téléphones
+* telecom[0].system = #phone
+* telecom[0].value = "01 38 47 54 39"
+* telecom[0].use = #work
+
+/* Instance: ExampleBinary
+InstanceOf: Binary
+Usage: #inline
+* contentType = #application/pdf
+* data = """
+JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlIC9DYXRhbG9nCi9QYWdlcyAyIDAgUgovTGFuZyAoZW4tVVMpCi9TdHJ1Y3RQYXJlbnRzIDw8L1BhZ2VzIDIgMCBSPj4KPj4KZW5kb2JqCjIgMCBvYmoKPDwvVHlwZSAvUGFnZXMKL0tpZHNbMyAwIFJdCi9Db3VudCAxCj4+CmVuZG9iagozIDAgb2JqCjw8L1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovUmVzb3VyY2VzIDw8Pj4KL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KL0NvbnRlbnRzIDQgMCBSCj4+CmVuZG9iago0IDAgb2JqCjw8L0xlbmd0aCAzNDA+PgpzdHJlYW0KSGVsbG8sIFRoaXMgaXMgYSB0ZXN0IFBERi4KZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAxMDAgMDAwMDAgbiAKMDAwMDAwMDIyMCAwMDAwMCBuIAowMDAwMDAwMzQwIDAwMDAwIG4gCjAwMDAwMDA1MDAgMDAwMDAgbiAKdHJhaWxlcgo8PC9TaXplIDUKL1Jvb3QgMSAwIFIKL0luZm8gNSAwIFIKPj4Kc3RhcnR4cmVmCjY2NQolJUVPRgo=
+"""
+ */
+Instance: documentReferenceExample
+InstanceOf: DocumentReference
+Usage: #inline
+* status = #current
+* type = $LNC#55107-7 "Clinical note"
+* content[0].attachment.contentType = #application/pdf
+* content[0].attachment.url = "Binary/ExampleBinary"
+//* content[0].attachment.url = "ressources/media/exempleBIO.pdf"
+* content[0].attachment.title = "Résultat PDF"
+* content[0].attachment.creation = "2025-05-01T10:00:00+01:00"
+
+
diff --git a/sushi-config.yaml b/sushi-config.yaml
index 9f01759d5e..da2659f806 100644
--- a/sushi-config.yaml
+++ b/sushi-config.yaml
@@ -175,6 +175,7 @@ groups:
- StructureDefinition/fr-encounter-document
- StructureDefinition/fr-location-document
- StructureDefinition/fr-related-person-document
+ - StructureDefinition/fr-document-reference
Data Type FHIR:
name: Data Type Profiles
@@ -210,4 +211,9 @@ groups:
- mappingPersonneStructureAuteurFHIR
- mappingSystemeFHIR
- mappingAdministrativeGender
-
\ No newline at end of file
+
+ Exemple de document FHIR:
+ name: Exemple de BIO-CR-BIO
+ description: Exemples pour montrer un document clinique.
+ resources:
+ - clinical-document-bundle-BIO-CR-BIO
\ No newline at end of file