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

help for finding valueSet.url #80

Open
Rosnyni opened this issue Mar 28, 2024 · 9 comments
Open

help for finding valueSet.url #80

Rosnyni opened this issue Mar 28, 2024 · 9 comments

Comments

@Rosnyni
Copy link

Rosnyni commented Mar 28, 2024

As formBuilder user, not necessarily familiar with ValueSet en CodeSystem management, the current field answer value set requires me to find the url on my own, which is not very user friendly.

We are thinking of adding some feature on the formbuilder to help Questionnaire conceptors to fill this field.

We have currently 3 ideas in mind.

Autocomplete for Answer value set field

This option consists only in providing an autocomplete feature in this field based on the ValueSets available in the FHIR serveur defined in the preferredTerminologyServer extension.

The autocomplete can be based on the url only, or on other attributes of the questionnaire (name, title, id... like for the units field with UCUM).

ValueSet search engine

It consists in :

  • adding a button in the answer value set field to call a pop up with a ValueSet search engine
  • the pop up is similar to the one used for importing questionnaire from a fhirserver. We thought that it should allow the creation of query based on the following search parameter :
    • _content:contains
    • publication-status
    • context-type-value (we are also thinking about ading this field in the Form level attributes page)
  • each result is described by : title, description, useContext
  • selecting a ValueSet in the results automaticaly close the popup and fill the answer value set field with the corresponding url

ValueSet (and CodeSystem) management tool (light)

It consists in having a new interface that allows ValueSet edition "for dummies".
We do not have a clear idea on how to manage this, because we don't want the user to face the complexity of valueSet composition from codesystem.

One option would be to associate resources (valueSet, codeSystem and questionnaire) based on their useContext. The FormBuilder would only allow, for a questionnaire with useContext A :

  • the addition of concept in the codeSystem with useContext A
  • the creation/edition of valueSet with useContext A. Such valueset would :
    • be extensional
    • contain only concepts belonging to the codeSystem with useContext A
  • the association of a choice item with valueSet with useContext A

The user interface would mask most of the complexity to the user by only asking for a title, a list of terms, and maybe a description and a status.
The tool would automatically create the codeSystem
The tool would automatically add any term filled by the user as a concept (flat list)

However it is clearly not an option that allow the creation of well managed terminological resources...

Are you interested in working on such development? (We will do but having more brain on this topic could lead to better feature and less maintenance).

Sincerely

@plynchnlm
Copy link
Member

We're discussing this internally, but thanks for the suggestions. My current thought is that the second option (a dialog like the import of Questionnaires from a FHIR server) is probably the best option because it lets you select parameters.

Also, someone requested the ability to create "contained" ValueSets. Doing that would look more like your third option.

I had not really considered "useContext" before. Are those important to you?

@Rosnyni
Copy link
Author

Rosnyni commented Mar 29, 2024

I have seen some comment about the use of contained resources on the chat fhir. I did not think a lot about it, maybe because a significant portion of our terminological resources are shared between multiple Questionnaires and we have no particular issue managing valueSet independantly.

But maybe I am missing something.

Use Context sounds like a good candidate in the perspective to ease filtering and searching of our resources.
As we will have to manage a lot of questionnaire, it is probably something we will work on event if we don't use it for some terminology feature in the formbuilder.

@plynchnlm
Copy link
Member

We think that that feature that would be immediately useful would be the dialog for searching for ValueSets. If you would like to implement that we would welcome a PR; otherwise we will add it to our list. For building and editing ValueSets, David Hay created a tool (currently broken) at http://clinfhir.com/valuesetCreator.html. I checked with him and he is interested in fixing it, particularly if there would be some real users. Of course, it is hard to assess whether it would meet your needs given that it is broken, but does the idea of using a tool external to the NLM Form Builder for managing ValueSet creating and editing sound okay?

@Rosnyni
Copy link
Author

Rosnyni commented Apr 5, 2024

For the dialog for searching for ValueSets, I have to check internally, I'll have a better view on what we can do in ten days.

For building and editing ValueSets, as you say, it is hard to assess :-).
In fact we have two needs:

  1. having something simple enough for people that are not familiar with FHIR to use in the formbuilder
  2. having a richier tool, probably external to the formbuilder, for users more familiar with FHIR and terminological resources.

So, it sounds ok, thanks !

@Rosnyni
Copy link
Author

Rosnyni commented Apr 26, 2024

A brief update on this topic:

We have worked on this topic and we drafted a simple valueSet searching interface that popup for the "answer value set" field :

image

image

The text search rely on a simple _content:contains searchparameter : e.g. _content:contains=maternit. I think we will change this...

The two booleans rely on the usecontext attribute.

  1. The valueSets and quesitonnaires of interest in our usecase have one useContext
    • the code is fixed
    • the value can be area specific (e.g. maternité), or "transversal"
  2. The first boolean filter the search by context-type-value=transversal
  3. The second boolean filter the search by context-type-value=<current questionnaire useContext.value>

We thought to add the possibility to allows search in the current questionnaire contained resources, but it appears that the formbuilder truncates contained resources.

@plynchnlm
Copy link
Member

It looks nice, though we would have to give some thought about what to do, in the general case, for checkboxes like those.

I am not aware of the formbuilder truncating contained resources. Can you give an example?

@Rosnyni
Copy link
Author

Rosnyni commented Apr 29, 2024

I have uploaded a simple questionnaire with a simple contained resource in my server (on your the contained section is truncated):

{
    "resourceType": "Bundle",
    "type": "transaction",
    "entry": [
        {
            "resource": {
                "resourceType": "Questionnaire",
                "contained": [
                    {
                        "resourceType": "Practitioner",
                        "id": "p1",
                        "name": [
                            {
                                "family": "Person",
                                "given": [
                                    "Patricia"
                                ]
                            }
                        ]
                    }
                ],
                "id": "container-example-2-quest",
                "url": "https://aphp.fr/ig/fhir/eds/Questionnaire/container-example-2-quest",
                "name": "ContainerQuestExampleDeux",
                "title": "container-example-2-quest",
                "status": "draft",
                "date": "2023-11-01T12:11:21.000Z",
                "item": [
                    {
                        "linkId": "F_MATER_001661",
                        "text": "Grossesse suivie au diagnostic prénatal",
                        "type": "boolean"
                    }
                ]
            },
            "request": {
                "method": "PUT",
                "url": "Questionnaire/container-example-2-quest"
            }
        }
    ]
}

And when I load it with the formbuilder, the contained section does not appear in the json preview :

  • image
  • image
  • image

After some test, it works if the questionnaire import is performed from the item interface, not if it is done from the questionnaire interface or the connection interface :-/

  • image
  • image

@plynchnlm
Copy link
Member

That was definitely not intended. I was not able to get to work from any of the three places you mentioned, but then I was uploading from a file. Maybe it only works if you upload from a FHIR server? Anyway, I have added an internal tracker item for this.

@akanduru
Copy link
Collaborator

The bug about missing contained field is fixed in form builder version 9.6.3.

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