Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creation de JDV à partir des terminologies du NOS sans les concepts ayant une date de fin null #300

Open
M-Priour opened this issue Jan 18, 2025 · 10 comments
Assignees

Comments

@M-Priour
Copy link
Collaborator

L'objectif est de pourvoir créer un JDV à partir des terminologies du nos :

  • Propriété "dateFin" non null

Test avec l'opération exists

Contenu du JDV

`POST https://smt.esante.gouv.fr/fhir/ValueSet/$expand HTTP/1.0
Accept: application/fhir+json; fhirVersion=4.0
Content-Type: application/fhir+json; fhirVersion=4.0;charset=UTF-8
User-Agent: fhir/publisher

{
"resourceType": "Parameters",
"id": "exp-params",
"parameter": [
{
"name": "system-version",
"valueUri": "http://snomed.info/sct|http://snomed.info/sct/11000315107"
},
{
"name": "_limit",
"valueInteger": 10000
},
{
"name": "_incomplete",
"valueBoolean": true
},
{
"name": "count",
"valueInteger": 1000
},
{
"name": "offset",
"valueInteger": 0
},
{
"name": "excludeNested",
"valueBoolean": false
},
{
"name": "incomplete-ok",
"valueBoolean": true
},
{
"name": "cache-id",
"valueId": "4d45a25e-9e71-4698-ad00-9fbff2e45106"
},
{
"name": "valueSet",
"resource": {
"resourceType": "ValueSet",
"id": "JDV-J124-Commune",
"meta": {
"versionId": "3",
"lastUpdated": "2024-06-28T16:09:45.842+00:00",
"profile": [
"http://hl7.org/fhir/StructureDefinition/shareablevalueset"
]
},
"text": {
"status": "generated",
"div": ""
},
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod",
"valuePeriod": {
"start": "2020-08-28T12:00:00+01:00"
}
}
],
"url": "https://mos.esante.gouv.fr/NOS/JDV_J124-Commune/FHIR/JDV-J124-Commune",
"identifier": [
{
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:1.2.250.1.213.3.4.9"
}
],
"version": "20240628120000",
"name": "JDV_J124_Commune",
"status": "active",
"experimental": false,
"date": "2024-06-28T12:00:00+01:00",
"publisher": "Agence du Numérique en Santé (ANS) - 2-10 Rue d'Oradour-sur-Glane, 75015 Paris",
"description": "Toute la nomenclature des codes actuels communes auquel on ajoute le code applicatif "Non renseigné"",
"compose": {
"include": [
{
"system": "https://mos.esante.gouv.fr/NOS/TRE_R249-Sexe/FHIR/TRE-R249-Sexe",
"filter": [
{
"property": "dateFin",
"op": "exists",
"value": "false"
}
]
}
]
}
}
}
]
}`

Reponse

"diagnostics": "Filter operator EXISTS is not supported for property dateFin on code system https://mos.esante.gouv.fr/NOS/TRE_R249-Sexe/FHIR/TRE-R249-Sexe Available filter operators are: in,=" } ]

Problème

Je n'ai pas trouvé de solution pour pouvoir cela avec les operateurs "=" ou "in".
Avec ces operateurs et le type "dateTime" de la propriété "dateFin", je n'ai pas trouvé de soluution
Je me pose la question si on ne doit pas rajouter une propriété de type boolean pour pouvoir faire cela (actif).

@M-Priour M-Priour changed the title Creation de JDV à partir des terminologies du NOS sans les concepts ayant une date de fin Creation de JDV à partir des terminologies du NOS sans les concepts ayant une date de fin null Jan 18, 2025
@3abdel3ali
Copy link

Je me permets d'abord une petite critique de modélisation que j'avais déjà faite dans le document pdf sur les TRE au sujet de l'utilisation de ces propriétés de type date dans les NOS

  1. Première suggestion : la propriété appelée: dateValid, il faut revoir sa définition car il est écrit: date de validité d'un code concept, la validité renvoi à une notion de période dans le temps et donc à deux dates: une date de début de validité et une date de fin de validité or ici on a qu'une seule date renseignée.
  2. Suggestion plus importante: Dans les specs fhir, ils ont bcp mieux modélisé ce type de besoins métiers, je recommande de suivre leur façon de modéliser et de remplacer les propriétés dates actuelles par celles existantes dans les specs fhir par défaut: http://hl7.org/fhir/R4/codesystem.html#status

et d'utiliser la propriété "status" qui va avec, c'est la bonne modélisation. Cette modélisation nous permettra de plus facilement construire les ValueSet comme celui que tu essayes de créer @M-Priour. J'ai fait un exemple en pprod pour illustrer

https://smt-pprod.esante.gouv.fr/fhir/CodeSystem/CodeSystem-Test-Abdelali-3/ ici certains codes concepts ont étés retirés d'autres pas

https://smt-pprod.esante.gouv.fr/fhir/ValueSet/ValueSet-Test-Abdelali-3/$expand ce valueset n'inclut que les codes concepts actifs (non retirés)

dispo pour en discuter de vive voix

@dcohenAns
Copy link
Collaborator

Merci pour ton retour @3abdel3ali et merci +++ pour l'exemple

dateDebutValid : Il s'agit bien d'une date de début de validité de la nomenclature sachant que la date de fin de validité n'est renseignée qu'une fois qu'elle est connue.

Pour la transformation des dates de validité il y a eu des malentendus entre l'équipe NOS et SMT : sachant que l'on ne modifiait plus les scripts NOS (sauf err bloquante) , c'était au script du SMT de renseigner les status en fonction des 3 dates fournies dans les NOS .
si la date de fin est vide ==> statut = valide
si la date de fin est renseignée ==> statut = retired

Remarques :
Je serais ravie d'avoir dans les NOS des vrais status ( Etat, date, motif) : ce serait un plus pour tout le monde.
Traduction Google des etats FHIR ( http://hl7.org/fhir/R4/codesystem.html#status)

  • Actif - le concept est destiné à une utilisation normale
  • expérimental - prévu pour l’essai, mais peut être supprimé à l’avenir
  • obsolète - prévu pour être retiré de l’utilisation
  • retiré - toujours présent pour des raisons historiques, mais ne peut plus être utilisé

A dispo

@3abdel3ali
Copy link

@dcohenAns merci Danielle pour ton retour, pas de soucis pour introduire cela via le Job Talend, c'est tout à fait faisable.

n'hésite pas si tu veux qu'on en discute plus en détail

@dcohenAns
Copy link
Collaborator

Top. Oui car j'ai un doute entre retired et obsolete : si on garde les anciens codes c'est pour que les applications ne "plantent" pas ==> il s'agit de valeurs qui doivent pouvoir être utilisées mais qui ne doivent plus être proposées dans un processus de création d'un objet métier. Merci

@3abdel3ali
Copy link

voici les définitions dans le texte

  • active - the concept is for normal use
    
  • deprecated - planned to be removed from use
    
  • retired - still present for historical reasons, but no longer allowed to be used
    

pour remettre dans un contexte concret: nous publions des specs fhir ou autres avec un code concept "active" à un instant T. Ce code concept peut-être amené à ne plus être utilisé à un instant T+1 pour x raisons, si on a connaissance de cela, on le met à "deprecated", le message que l'on veut faire passer à l'éco système est: "nos specs vont changer et vont définir un nouveau code concept, préparez vous au basculement". Quand on décide que les specs fhir que nous publions ne doivent plus utilisées le code concept qui est à "deprecated" alors nous mettons le code en question à "retired " dans la terminologie et nous le remplaçons avec un code à "active" dans les specs.

l'impact est très important car le validateur d'HL7 va générer une erreur lors de la validation si on utilise dans nos specs un code qui est à "retired " dans la terminologie cible.

@dcohenAns
Copy link
Collaborator

merci @3abdel3ali . Et on pourrait ajouter l'état "deprecated" ? Ce serait exactement ce cas de figure.

@M-Priour
Copy link
Collaborator Author

Merci @dcohenAns @3abdel3ali
En phase pour faire l'implémentation

@dcohenAns
Copy link
Collaborator

dcohenAns commented Jan 25, 2025 via email

@dcohenAns
Copy link
Collaborator

Bonjour @3abdel3ali ,
Sauf erreur de ma part, suite à la publication de Janvier, les statuts des concepts ne sont pas visibles ni dans Ontoserver ni dans l'IG
Merci et à dispo pour toute action compémentaire.

@3abdel3ali
Copy link

@dcohenAns nous sommes toujours en cycle de dev, Ahmed n'a recommencé à travailler que cette semaine suite aux problèmes budget. Dès que c'est prêt, vous en serez informés et la répercutions se fera automatiquement

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants