Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ig.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
# see comments below for instructions

ig = fsh-generated/resources/ImplementationGuide-ans.fhir.fr.document-core.json
template = ans.fr.template#current
#template = ans.fr.template#current
template = https://github.com/ansforge/IG-template/tree/cda
#template = https://github.com/ansforge/IG-template/tree/for-comment-template #Usage to be discussed
#template = #local-template

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ Usage: #example
* code.extension.valueCode = #unknown

// Patient
* patient.reference = "Patient/exemple-patient"
* patient.display = "Exemple Patient"
* patient = Reference(exemple-patient)

// Date de début d'identification de l'allergie ou de l'intolérance
* onsetPeriod.start = "2021-12-04"
Expand All @@ -36,3 +35,86 @@ Usage: #example
* reaction[+].manifestation[+].text = "Manifestation clinique inconnue"
* reaction[=].manifestation[=].extension.url = "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
* reaction[=].manifestation[=].extension.valueCode = #unknown

Instance: exemple-patient
InstanceOf: FRPatientINSDocument
Usage: #example
Title: "Example Patient - AllergyIntolerance avec Data Absent Reason"
* meta.profile = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-patient-ins-document"
* id = "ba499de3-aeae-43c3-82cb-0ba2718cfa41"
// 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"

* address.use = #home
* address.type = #physical
* address.line[0] = "28"
* address.line[+] = "Avenue de Breteuil"
* address.line[+] = "Escalier A"
* address.city = "Paris"
* address.postalCode = "75007"

// 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

* telecom[2].system = #email
* telecom[2].value = "279035121518989@patient.mssante.fr"
* telecom[2].use = #home

// 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-CommuneOM/FHIR/TRE-R13-CommuneOM"
* 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/TRE_R216-HL7RoleCode/FHIR/TRE-R216-HL7RoleCode"
* contact[0].relationship[RelationType].coding[0].code = #SIS
* contact[0].relationship[RelationType].coding[0].display = "Soeur"

* contact[0].relationship[Role].coding[0].system = "http://terminology.hl7.org/CodeSystem/v3-RoleClass"
* 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"
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ Usage: #example
* status = #unknown

// Patient
* subject.reference = "Patient/exemple-patient"
* subject.display = "Exemple Patient"
* subject = Reference(exemple-1-patient)

// Code de l'acte (liaison extensible)
// L'acte réalisé est inconnu → extension data-absent-reason avec code "unknown"
Expand All @@ -36,3 +35,86 @@ Usage: #example
// La date est temporairement indisponible → extension data-absent-reason avec code "temp-unknown"
* performedDateTime.extension.url = "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
* performedDateTime.extension.valueCode = #temp-unknown

Instance: exemple-1-patient
InstanceOf: FRPatientINSDocument
Usage: #example
Title: "Example Patient - Procedure avec Data Absent Reason"
* meta.profile = "https://interop.esante.gouv.fr/ig/document/core/StructureDefinition/fr-patient-ins-document"
* id = "ba499de3-aeae-43c3-82cb-0ba2718cfa55"
// 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"

* address.use = #home
* address.type = #physical
* address.line[0] = "28"
* address.line[+] = "Avenue de Breteuil"
* address.line[+] = "Escalier A"
* address.city = "Paris"
* address.postalCode = "75007"

// 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

* telecom[2].system = #email
* telecom[2].value = "279035121518989@patient.mssante.fr"
* telecom[2].use = #home

// 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-CommuneOM/FHIR/TRE-R13-CommuneOM"
* 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].code = #SIS
* contact[0].relationship[RelationType].coding[0].display = "Soeur"
* contact[0].relationship[RelationType].coding[0].system = "https://mos.esante.gouv.fr/NOS/TRE_R216-HL7RoleCode/FHIR/TRE-R216-HL7RoleCode"
* contact[0].relationship[Role].coding[0].code = #ECON
* contact[0].relationship[Role].coding[0].display = "Personne à prévenir en cas d'urgence"
* contact[0].relationship[Role].coding[0].system = "http://terminology.hl7.org/CodeSystem/v3-RoleClass"

* contact[0].name[0].family = "NESSI"
* contact[0].address.text = "12 rue des Lilas, 75012 Paris"

Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ de l'arrêt ou du refus de traitement ou d'acte médicaux.»"

* scope MS
* scope ^short = "Consent de type directive anticipée"
* scope = $consentscope#adr "Advance Directive"
* scope = $consentscope#adr "Advanced Care Directive"

* provision MS
* provision.code ^short = "Type de la directive anticipée"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ Si pas de problème ou pas d'information : https://smt.esante.gouv.fr/fhir/Value
* subject only Reference(FRPatientINSDocument or FRPatientDocument)

* onset[x] 1..1 MS
* onsetDateTime MS
* onsetDateTime ^short = "Date de début du problème"

* abatement[x] MS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Description: "FRObservationPreventionDocument permet d'indiquer si l'élément a

* code ^short = "Type de l'observation"
* code MS
* code = https://smt.esante.gouv.fr/fhir/CodeSystem/terminologie-cisis#GEN-295 "En rapport avec la prévention"
* code = https://smt.esante.gouv.fr/fhir/CodeSystem/terminologie-cisis#GEN-295 "En rapport avec la prevention"
* value[x] only boolean
* valueBoolean 1..1 MS
* value[x] ^short = """
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,19 @@ Description: "FRServiceRequestDocument profil permet de porter des demandes d'ex
* bodySite ^short = "Cible"
* bodySite from http://hl7.org/fhir/ValueSet/body-site (extensible)

* extension contains FRMethodExtension named method 0..*
* extension contains FRMethodExtension named method 0..* and
FRActorExtension named author 0..1 and
http://hl7.org/fhir/5.0/StructureDefinition/extension-ServiceRequest.reason named reason 0..*

* extension[method] MS
* extension[method] ^short = "Méthode"

* requester MS
* requester ^short = "Prescripteur"

* extension contains FRActorExtension named author 0..1
* extension[author] ^short = "Auteur de la demande"
* extension[author].extension[type].valueCode = #AUT
* extension[author].extension[actor].valueReference only Reference(FRPractitionerRoleDocument or Device or FRDeviceAuteurDocument or FROrganizationDocument or FRRelatedPersonDocument or FRPatientINSDocument or FRPatientDocument)

* requester MS
* requester ^short = "Prescripteur"

* note MS
* note ^short = "Justification de la demande d’examen / Finalité de l'examen"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ Id: fr-service-request-imaging-document
Title: "ServiceRequest - FR Service Request Imaging Document"
Description: "FRServiceRequestImagingDocument profil spécifique permet de porter des demandes d'examens d'imagerie."

* extension contains http://hl7.org/fhir/5.0/StructureDefinition/extension-ServiceRequest.reason named reason 0..*

* extension[reason] contains
finaliteExamen 1..1 MS and
justificationDemande 0..1 MS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ Description: "Ce profil est utilisé pour représenter un document médical."
// information-recipient-extension
* extension[information-recipient].extension[type] 1..1
* extension[information-recipient].extension[type] ^short = "Type de participation : destinataire"
* extension[information-recipient].extension[type].valueCodeableConcept from FRValueSetParticipationType
* extension[information-recipient].extension[type].valueCodeableConcept from FrValueSetParticipationTypeInformationRecipient
* extension[information-recipient].extension[party] ^short = "Destinataire"
* extension[information-recipient].extension[party].valueReference only Reference(FRPractitionerRoleDocument)

// participant-extension
* extension[participant].extension[type] 1..1
* extension[participant].extension[type] ^short = "Type de participation"
* extension[participant].extension[type].valueCodeableConcept from $JDV_J144-ParticipationType-CISIS (required)
* extension[participant].extension[type].valueCodeableConcept from FrValueSetParticipationTypeParticipant (required)
* extension[participant].extension[function] 0..1
* extension[participant].extension[function] ^short = "Précision sur le rôle fonctionnel"
* extension[participant].extension[function].valueCodeableConcept from $JDV_J47-FunctionCode-CISIS (required)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@ Description: "Ce profil représente le patient concerné par le document."
* name only fr-human-name-document
* address 0..1
// relationship
* relationship[RelationType] from $JDV_J11_RelationPatient_CISIS (required)
* relationship[RelationType] from $JDV_J11_RelationPatient_CISIS (required)
* relationship[RelationType].coding.system = "https://mos.esante.gouv.fr/NOS/TRE_R216-HL7RoleCode/FHIR/TRE-R216-HL7RoleCode"

* relationship[Role] from $jdv-role-informateur-cisis (required)
* relationship[Role].coding.system = "http://terminology.hl7.org/CodeSystem/v3-RoleClass"

* extension contains
$sexForClinicalUse named sex-for-clinical-use 0..*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ValueSet: FRValueSetParticipationType
ValueSet: FrValueSetParticipationTypeInformationRecipient
Id: fr-doc-vs-participation-type
Title: "FR ValueSet Participation Type"
Title: "FR ValueSet Participation Type Information Recipient"
Description: "Type de participation : destinataire"
* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ValueSet: FrValueSetParticipationTypeParticipant
Id: fr-doc-vs-participation-type-participant
Title: "FR ValueSet Participation Type Participant"
Description: "Type de participation : participant"
* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset"

// Ajout de codes spécifiques
* include http://terminology.hl7.org/CodeSystem/v3-ParticipationType#INF
* include http://terminology.hl7.org/CodeSystem/v3-ParticipationType#REF
* include http://terminology.hl7.org/CodeSystem/v3-ParticipationType#CON
* include http://terminology.hl7.org/CodeSystem/v3-ParticipationType#PRF
* include http://terminology.hl7.org/CodeSystem/v3-ParticipationType#RESP
* include http://terminology.hl7.org/CodeSystem/v3-ParticipationType#REFB
* include http://terminology.hl7.org/CodeSystem/v3-ParticipationType#VRF

* ^experimental = false
6 changes: 3 additions & 3 deletions input/pagecontent/ressourcesFHIR-struc-gen.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,13 @@ Pour être conforme aux exigences françaises de l'entête, un document FHIR DOI
Les ressources référencées dans l'entête du document DOIVENT également respecter les profils français spécifiques :

* **[FRPatientINSDocument](StructureDefinition-fr-patient-ins-document.html)** ou **[FRPatientDocument](StructureDefinition-fr-patient-document.html)** : profil du patient/usager
* **[FRPractitionerRoleDocument](StructureDefinition-fr-practitionerrole-document.html)** : profil de la situation d'exercice d'un professionnel de santé
* **[FRPractitionerRoleDocument](StructureDefinition-fr-practitionerRole-document.html)** : profil de la situation d'exercice d'un professionnel de santé
* **[FRPractitionerDocument](StructureDefinition-fr-practitioner-document.html)** : profil du professionnel de santé
* **[FROrganizationDocument](StructureDefinition-fr-organization-document.html)** : profil de l'organisation/structure
* **[FRDeviceAuteurDocument](StructureDefinition-fr-device-auteur-document.html)** : profil du dispositif auteur (si applicable)
* **[FREncounterCareDocument](StructureDefinition-fr-encounter-care-document.html)** : profil de la prise en charge
* **[FRLocationDocument](StructureDefinition-fr-location-document.html)** : profil du lieu d'exercice
* **[FRRelatedPersonDocument](StructureDefinition-fr-relatedperson-document.html)** : profil d'une personne en relation avec le patient (si applicable)
* **[FRRelatedPersonDocument](StructureDefinition-fr-related-person-document.html)** : profil d'une personne en relation avec le patient (si applicable)

Ces profils portent les exigences complémentaires et spécifiques au contexte français, notamment :

Expand Down Expand Up @@ -278,7 +278,7 @@ En pratique, de nombreux ValueSets ou terminologies ne prévoient pas de code d'

> **Exemples d'instances : Allergies et Procédures** :
>
> - L'instance [example-allergy-intolerance-data-absent-reason](AllergyIntolerance-example-allergy-intolerance-data-absent-reason.html) illustre l'usage de l'extension `data-absent-reason` sur les éléments obligatoires du profil [FRAllergyIntoleranceDocument](StructureDefinition-fr-allergie-intolerance-document.html) lorsque la valeur est inconnue ou temporairement indisponible.
> - L'instance [example-allergy-intolerance-data-absent-reason](AllergyIntolerance-example-allergy-intolerance-data-absent-reason.html) illustre l'usage de l'extension `data-absent-reason` sur les éléments obligatoires du profil [FRAllergyIntoleranceDocument](StructureDefinition-fr-allergy-intolerance-document.html) lorsque la valeur est inconnue ou temporairement indisponible.
> - L'instance [example-procedure-data-absent-reason](Procedure-example-procedure-data-absent-reason.html) illustre les deux cas de figure sur le profil [FRProcedureDocument](StructureDefinition-fr-procedure-document.html) :
> - **`extension data-absent-reason`** pour les données codées à partir d'un codeSystem/valueSet non obligatoire (`example`, `preferred` ou `extensible`) : éléments `code`, `performedDateTime`
> - **`code d'exception natif`** du ValueSet `event-status`(`unknown`) pour les données codées à partir d'un codeSystem/valueSet obligatoire (`required`) : élément `status`
Expand Down
8 changes: 4 additions & 4 deletions sushi-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ parameters: #Parameters list - https://build.fhir.org/ig/FHIR/fhir-tools-ig/Code

dependencies:
hl7.fhir.fr.core: 2.1.0
hl7.fhir.uv.xver-r5.r4: latest
hl7.fhir.uv.xver-r5.r4: 0.1.0
ans.fhir.fr.annuaire: 1.1.0
hl7.fhir.uv.fhir-clinical-document: latest
ihe.pharm.mpd: 1.0.0-comment-2
Expand Down Expand Up @@ -81,7 +81,7 @@ menu:
Téléchargements et usage: downloads.html

groups:
Ressources FHIR entête:
ressources-fhir-entete:
name: Profils FHIR entête
resources:
- StructureDefinition/fr-bundle-document
Expand All @@ -96,7 +96,7 @@ groups:
- StructureDefinition/fr-location-document
- StructureDefinition/fr-related-person-document

Ressources FHIR corps:
ressources-fhir-corps:
name: Profils FHIR corps
resources:
- StructureDefinition/fr-advance-directive-document
Expand Down Expand Up @@ -146,7 +146,7 @@ groups:
- StructureDefinition/fr-observation-multiresistant-microorganism-document
- StructureDefinition/fr-service-request-imaging-document

Data Type FHIR:
data-type-fhir:
name: Data Type Profiles
resources:
- StructureDefinition/fr-human-name-document
Expand Down
Loading