Embedding questionnaire scoring data into the FHIR Questionnaire/Response?
Asked Answered
P

1

5

We have a system where citizens download Questionnaire from a server, fill it in and submit a QuestionnaireResponse back into the server, storing it there. In our case, these are simple questions about how you're feeling and symptoms. A health worker can then access the QuestionnaireResponse. The health workers don't want the answers, but a score which has been calculated based on the answers.

Some vendors (non-FHIR) allow creating a form and a scoring system at the same time. If we wanted to support this within FHIR, I'm assuming we would have to embed the scoring information inside the Questionnaire (or potentially a separate resource, but that would give some redundance perhaps).

Is this best solved with extensions to the Questionnaire-resource, another resource or some other mechanism? And what'd be the best way (architectureally) to implement the actual scoring. Would it best be a separate application which subscribes to the QuestionnaireResponses, downloads the Questionnaire, extracts the scoring system, evaluates and then writes the score back into the QuestionnareResponse?

Are there other standards we should be looking to for help on this?

And for those especially interested, here's a really simplified Questionnaire resource. Typically it'd have more questions of course. Right now we've put the score into the 'code', which doesn't seem like a good idea.

{
   "resourceType":"Questionnaire",
   "id":"1140",
   "meta":{
      "versionId":"11",
      "lastUpdated":"2016-06-14T13:01:47.000+00:00"
   },
   "text":{
      "status":"generated",
      "div":"<div><!-- Snipped for Brevity --></div>"
   },
   "status":"published",
   "date":"2016",
   "group":{
      "linkId":"group1",
      "title":"HelsaMi Hjertesvikt",
      "concept":[
         {
            "system":"unknown",
            "code":"unknown",
            "display":"Hjertesvikt"
         }
      ],
      "group":[
         {
            "linkId":"group2",
            "question":[
               {
                  "linkId":"Feeling",
                  "text":"How do you feel today?",
                  "type":"choice",
                  "option":[
                     {
                        "system":"unknown",
                        "code":"3",
                        "display":"Good"
                     },
                     {
                        "system":"unknown",
                        "code":"2",
                        "display":"Medium"
                     },
                     {
                        "system":"unknown",
                        "code":"1",
                        "display":"Bad"
                     }
                  ]
               }
            ]
         }
      ]
   }
}

Would an extension for example look like this (embedded in to each option):

"extension": [{
"url": "http://example.com/scoring",
"valueInteger": 10
}
]
Precisian answered 15/6, 2016 at 9:33 Comment(0)
L
8

The score would simply be another answer to a "special" question. The question would have an extension that defines how the score is calculated. The question would likely be "read only" and could be hidden. You could even have multiple such questions, for example one per section to provide a sub-calculation and then one for the overall questionnare to total it up. As well, look at the coded ordinal extension for the Coding data type as it may be helpful for capturing scores for individual question answers.

Luckin answered 15/6, 2016 at 16:59 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.