【问题标题】:FHIR Questionnaire - questions orderFHIR 问卷 - 问题顺序
【发布时间】:2017-06-07 12:35:54
【问题描述】:

在我的应用程序中,我想使用 FHIR 问卷资源。 在服务器端,我正在尝试生成包含不同类型问题的问卷并将其发送到用户(患者)可以填写答案并将其发回的应用程序。 但是在某些情况下,我希望用户只回答问卷的特定问题,而不是全部回答。例如,如果问卷包含两个问题:

  1. 您吸烟或喝酒吗?
  2. 测量您的心率。

我希望该用户仅在第一个问题上回答“是”时才回答第二个问题。如果他回答“否”,则跳过第二个问题。

问题是我不知道如何在问卷资源中添加这些规则,这将告诉下一个问题是哪个问题。 我遇到了一些扩展,比如ordinalValue,但我不知道如何/在哪里使用它们,以及在哪里定义用户的答案是否必须等于/小于/大于某个值。

所以我想知道我需要使用哪个扩展(以及如何)来实现我之前写的内容?这对现有的扩展是否可行,或者我必须定义一个新的?

我正在 JSON 表单中添加提到的问卷的简单表示(仅包含相关数据):

{
  "resourceType": "Questionnaire",
  ...
  "item": [
    {
      "linkId": "1",
      "text": "Do you smoke or drink alcohol?",
      "type": "boolean"
      << ??? extension ???>>
    },
    {
      "linkId": "2",
      "text": "Measure your heart rate.",
      "type": "integer"
    }]
}

【问题讨论】:

    标签: hl7-fhir


    【解决方案1】:

    您可以为此使用 Questionnaire.item.enableWhen 元素:

    {
        "linkId": "2",
        "text": "Measure your heart rate.",
        "type": "integer"
        "enableWhen": [{
                "question": "1",
                "answerBoolean": "true",
            }
        ],
    }
    

    【讨论】:

    • 感谢您的回答,我不知何故误解了此元素的用途,并认为它的使用不能解决我的问题。然而,这个元素并不能完美地解决问题,因为当用户回答某个问题时,我想知道下一个问题是哪个问题,而无需搜索所有其他问题。最好在用户当前正在回答的问题中包含有关下一个问题的信息。无论如何,您的解决方案有效,因此我将其标记为已接受的答案。
    • 问卷没有强加“下一步”的概念,因为某些数据可能会自动填充到响应中,并且某些界面可能允许用户在填写表格时向前和向后导航。对于您的用例,“下一个”问题将是当前恰好启用的问卷项目序列中的下一个问题。如果问卷的设计考虑到这一点,您只需向前扫描即可找到下一个问题。
    • 感谢您提供更多信息。我的用例的问题是,在极少数情况下,用户还必须倒退(假设从问题 5 到问题 2)。这意味着我仍然必须扫描所有问题才能找到正确的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 2016-02-14
    • 2015-05-05
    相关资源
    最近更新 更多