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

Requêter sur deux sources de données en même temps (par ex PractitionnerRoles et Organization) #245

Open
julienGrd opened this issue Sep 26, 2024 · 2 comments
Assignees
Labels
question Further information is requested

Comments

@julienGrd
Copy link

Lors de la vague 1 on nous avait dit qu’il n’était pas possible de faire une requête qui filtrait sur le nom de la personne et sur son lieu d’exercice.
Ex. : Isabelle ROBERT, orthophoniste à FABREGUES (34690)

Cela demande à la fois de requêter sur PractitionnerRoles et sur l’Organization

On nous avait conseillé de requêter sur un des 2 puis de filtrer localement après réception des résultats.
Cette méthode donne des performances catastrophiques : on peut récupérer plus de 2000 retours alors qu’on n’en conserve qu’un seul après filtrage, le tout durant plus de 12 secondes.

Existe t’il maintenant une solution pour requêter en filtrant à la fois sur les PractitionerRole (Nom, prénom...) et sur l’Organization (code postal, ville, département...) ?

Merci !

@zilliw zilliw self-assigned this Sep 27, 2024
@zilliw
Copy link
Collaborator

zilliw commented Sep 28, 2024

Bonjour,

Tout d'abord merci pour votre retour concernant notre API.

Afin de vous apporter des réponses pertinentes, pourriez-vous nous donner les requêtes réalisées ?

Merci pour votre retour,

Cordialement,

@zilliw zilliw added the question Further information is requested label Sep 28, 2024
@julienGrd
Copy link
Author

Bonjour, justement la question est comment réaliser ce type de requêtes (requête qui prend des filtres sur plusieurs resources diférentes)
Mais je peux vous indiquer ce que nous faisons actuellement.
si je reprend l'exemple donné ci dessus : Ex. : Isabelle ROBERT, à FABREGUES (34690), avec notre code C#

var lSearchParam = new SearchParams();
 .Add($"name:exact", "ROBERT")
 .Add($"given:exact", "ISABELLE");

lSearchParam = lSearchParam
    .Include("PractitionerRole:organization", IncludeModifier.None)
    .Include("PractitionerRole:practitioner", IncludeModifier.None);

_listPraticien = await lClient.SearchAsync<PractitionerRole>(lSearchParam);

//derrière nous filtrons les resultats localement pour exclure ceux qui n'ont pas d'organization dont la ville est a fabrègues
 if (pFiltres.Ville != null)
 {
     _listPraticien = _listPraticien.Where(p => p.Adr_CodePostal.Equals(pFiltres.Ville.CP, System.StringComparison.InvariantCultureIgnoreCase)).ToList();
 }

Il nous faudrait un moyen d'envoyer le paramètre "code postal" en même temps que les autres, par exemple

var lSearchParam = new SearchParams();
 .Add($"name:exact", "ROBERT")
 .Add($"given:exact", "ISABELLE")
 .Add($"address-postalcod:exact", "34690");

Est-ce quelque chose qui est possible ? si non est-ce prévu à l'avenir ?

merci !

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

No branches or pull requests

2 participants