Skip to content

Correction des identifiants et des target.code des modèles de mapping - #23

Merged
Haoura merged 12 commits into
mainfrom
fix-target-codes-and-display
Aug 31, 2026
Merged

Correction des identifiants et des target.code des modèles de mapping#23
Haoura merged 12 commits into
mainfrom
fix-target-codes-and-display

Conversation

@Haoura

@Haoura Haoura commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Description des changements

Correction de l'ensemble des erreurs de validation ConceptMap signalées par le rapport QA (codes source/cible invalides), ainsi que des bugs de modélisation associés dans les modèles logiques métier.

Correction des target.code racine

  • Remplacement des noms logiques par les id du snapshot (Organizer, Observation, Section, etc.) dans les fichiers de mapping Corps et Entête, conformément aux exigences de validation QA.
  • Ajout de target.display sur les lignes racine corrigées et les entrées ambiguës, pour conserver un nom métier lisible dans les tableaux de mapping publiés.

Renommage des identifiants des modèles logiques métier

Renommage des identifiants de 112 modèles logiques métier (kebab-case → PascalCase, ex. fr-lm-condition → FRLMCondition) pour correspondre à l'id réel généré dans le snapshot, avec mise à jour de toutes les références à ces identifiants (90 fichiers de mapping, sushi-config.yaml, référence de type dans FRLMParticipant).

Codes source/cible invalides dans les ConceptMap

  • Suppression des suffixes de slice inventé sur des champs [x] non slicés (attester[x]:healthProfessional, dataEnterer[x]:patient, legalAuthenticator[x]:..., informantPersonne[x]:..., specimenSource[x]:..., deceased[x]:..., multipleBirth[x]:...), remplacés par le code brut désambiguïsé par target.comment quand plusieurs cas partagent la même cible.
  • Correction de chemins cibles à 2-3 niveaux traversant un profil référencé sans lien direct (Observation.inFulfillmentOf, AllergyIntolerance.onset[x].start/end, DiagnosticReport.extension:historiqueMedical.value[x], Procedure.bodySite.TargetSiteCode/ApproachSiteCode, Supply.entryRelationship:frTraitement.X, derivedFrom[FRLMObservation], etc.)
  • Correction de typos et de champs source inexistants (FRLMImmunisation.identifiant, FRLMFunctionalStatus.author, FRMLObservation, FRLMPatient.contact.name.family/.given)
  • Restauration des vraies slices CDA nommées existant réellement dans les snapshots (Section.entry:frDocumentAttache, :frActe.procedure, etc.), à la place de suffixes inventés ou de chemins génériques
  • Correction des URLs group.target erronées

Correction de profils CDA mal identifiés

  • Correction de la confusion entre profils CDA Organizer (niveau entrée) et Section (niveau section) sur 3 fichiers (FamilyMedicalHistory, Results, VitalSigns), avec intégration des vrais profils fr-cda-section-.
  • Intégration d’un nouveau profil CDA "Section" (fr-cda-section-directives-anticipees,) à créer côté IG CDA.

Bugs de modélisation dans les modèles logiques métier

  • FRLMObservation.Value[x] → value[x] (nommage FHIR invalide) et binding retiré sur referenceRange.age (type Range non-bindable)
  • FRLMObservationMedia.subject[x] → subject (suffixe [x] incorrect sur une simple Reference
  • FRLMProcedure.procedureDate[x] restructuré en vrai choix dateTime or Period
  • FRLMExposureInformation.fsh : ajout du parent entry manquant

Configuration

Ajout des mappings FRImagingProcedure et FRImagingSeries manquants dans sushi-config.yaml.

Pages de mapping

Mise à jour des requêtes SQL de mappingCDA-FHIR-corps.md/mappingCDA-FHIR-entete.md pour un affichage plus lisible (nom métier sur les lignes racine, code (nom métier) sur les entrées).

Documentation

Intégration du tableau des cas d'usage auteur dans l'élément author[x] de FRLMHeaderDocument, suppression de la page -intro.md orpheline.

Fichiers modifiés — répartition par dossier
  • input/fsh/MappingLM_CDA_FHIR_Corps/composantsElementaires/
  • input/fsh/MappingLM_CDA_FHIR_Corps/sections/
  • input/fsh/MappingLM_CDA_FHIR_Entete/
  • input/fsh/ModeleLogiqueMetier/composantsElementaires/
  • input/fsh/ModeleLogiqueMetier/Entete/
  • input/fsh/ModeleLogiqueMetier/sections/
  • input/pagecontent/

Type de changement

  • Nouveau contenu (profil, extension, page, exemple)
  • Correction (erreur dans un profil, une page, une dépendance)
  • Refactoring (pas de changement fonctionnel)
  • Release

Checklist

  • sushi-config.yaml : releaseLabel est bien ci-build pour une version en développement
  • change-log.md mis à jour
  • La branche est à jour avec main

Preview

https://ansforge.github.io/interop-IG-metier-document-core/fix-target-codes-and-display/ig

Haoura added 9 commits August 18, 2026 14:28
…orpsDocument

Le menu pointait vers des noms de fichiers en kebab-case (fr-lm-header-document,
fr-lm-corps-document) qui n'ont jamais correspondu aux Id FSH réels
(FRLMHeaderDocument, FRLMCorpsDocument). Ces liens cassés apparaissaient dans
le nav de chaque page générée, gonflant le compteur de Build Errors du QA
(des milliers d'occurrences pour 2 liens cassés à la base).
…cument.md

Même souci que dans le menu sushi-config.yaml : les liens pointaient vers les
noms kebab-case (fr-lm-header-document, fr-lm-corps-document) au lieu des
vrais Id FSH (FRLMHeaderDocument, FRLMCorpsDocument).
@Haoura
Haoura merged commit 034ce3d into main Aug 31, 2026
1 check passed
github-actions Bot pushed a commit that referenced this pull request Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants