Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »


Example

Docson Documentation for aRMT Protocols https://radar-base.github.io/RADAR-aRMT-protocols/


Note: calculated times are based on local time, 00:00 is midnight on the phone.


protocol.json File Documentation

The protocol schedule is used to control the delivery of 1) the schedule of questionnaires or aRMT components and 2) the notifications schedule. There is also interactive schema documentation.

elementpurpose
version
increment this if either the version of the protocol changes or if the questionnaires change
schemaVersionthe version of the AVRO schema being used to post to the backend and Kafka
healthIssuesthe class of health area the protocol applies to
"repository": "https://raw.githubusercontent.com/RADAR-base/RADAR-REDCap-aRMT-Definitions/master/questionnaires/"the github repository holding the versions of the questionnaires
"startText": language variants for the start text
estimatedCompletionTimesuggested completion time shown for the aRMT
"protocol": {
        "repeatProtocol": {
          "unit": "day",
          "amount": 14
        },
        "repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            540
          ]
        },
        "reminders": {
          "unit": "day",
          "amount": 4,
          "repeat": 1
        }
      }
    }
The protocol block is the most important part of the configuration, it controls the regimen. The block consists of 3 main components the "repeatQuestionnaire", "repeatProtcol", "reminders", and an optional clinicalProtocols component

e.g.

"repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            480
          ]
        }


e.g. set of offests at these minuites past midnight of the set day:

 "repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            480,
            540,
            600,
            660,
            720,
            780,
            840,
            900,
            960,
            1020,
            1080,
            1140,
            1200
          ]
        },


       

This is important as it controls the schedule of the particular questionnaire, the number of minutes from midnight from which to

i) schedule the questionnaire on the app and

ii) schedule the notifications 

sets of offsets can provided for a repeating regimen for example with ESM is delivered at several timepoints 

480,
540,
600,
660,
720,
780,
840,
900,
960,
1020,
1080,
1140,
1200 

It is set from the Enrolment Date on the Management Portal,

the given units are configurable.

repeatQuestionnaire:

unit: the unit of time e.g. minuite

unitsFromZero: set of offsets to repeat the questionnaire

e.g. repeat the repeatQuestionnaire regimen every 1 day

"repeatProtocol": {
"unit": "day",
"amount": 1
}


e.g. repeat the repeatQuestionnaire regimen every 14 day

"repeatProtocol": {
"unit": "day",
"amount": 14
}



The frequency at which to repeat the "repeatQuestionnaire" regimen

repeatProtocol: 

unit: unit of time e.g. day

amount: how often to repeat the whole repeatQuestionnaire block

"reminders": {
          "unit": "day",
          "amount": 4,
          "repeat": 1
        }

The numbers of reminder notifications to issue for that questionnaire

unit: of time the amount is measured in e.g day

amount: ??? the number of unit time over which "repeat" number of reminders are delivered ???

repeat: ??? the number of times to repeat the reminder ???



"clinicalProtocol": {
                    "requiresInClinicCompletion": true,
                    "repeatAfterClinicVisit": {
                        "unit": "min",
                        "unitsFromZero": [
                            10080
                        ]
                    }
                }

This is a special case implemented for the Multiple Sclerosis walking and balance tests which require to be repeated 1 week after the initial test in the clinic. in clinic test is selected by clicking on the  icon in the app 

requiresInClinicCompletion: flag set by the clinician in the app

repeatAfterClinicVisit:

unit: e.g. min

unitsFromZero: the offset time after the in-clinic test








Work in Progress FeaturesNotes

completionWindow (WIP)


Note: the current window to complete the questionnaire is hardcoded in the app but is planned to be configurable in the protocol soon

https://github.com/RADAR-base/RADAR-Questionnaire/issues/146


Example protocol.json File

{
  "version": "0.2.0",
  "schemaVersion": "0.0.2",
  "name": "RADAR MDD KCL s1",
  "healthIssues": [
    "depression"
  ],
  "protocols": [
    {
      "name": "THINC-IT",
      "showIntroduction": "false",
      "questionnaire": {
        "repository": "https://raw.githubusercontent.com/RADAR-base/RADAR-REDCap-aRMT-Definitions/master/questionnaires/",
        "name": "thinc_it",
        "avsc": "notification"
      },
      "startText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "endText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "warn": {
        "en": "Requires a quiet space.",
        "it": "Richiede uno spazio tranquillo.",
        "nl": "Vereist een rustige ruimte.",
        "da": "Kræver et stille rum.",
        "de": "Benötigt einen ruhigen Platz.",
        "es": "Requiere un espacio tranquilo."
      },
      "estimatedCompletionTime": 1,
      "protocol": {
        "repeatProtocol": {
          "unit": "day",
          "amount": 42
        },
        "repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            600
          ]
        },
        "reminders": {
          "unit": "day",
          "amount": 0,
          "repeat": 0
        }
      }
    },
    {
      "name": "PHQ8",
      "showIntroduction": "false",
      "questionnaire": {
        "repository": "https://raw.githubusercontent.com/RADAR-CNS/RADAR-REDCap-aRMT-Definitions/master/questionnaires/",
        "name": "phq8",
        "avsc": "questionnaire"
      },
      "startText": {
        "en": "This questionnaire is known as the PHQ8. Clinicians use it to assess current depression in patients. Please note that none of your answers will be collected today. Thank you for taking part in this focus group.",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "endText": {
        "en": "Thank you for taking the time today.",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "warn": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "estimatedCompletionTime": 3,
      "protocol": {
        "repeatProtocol": {
          "unit": "day",
          "amount": 14
        },
        "repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            510
          ]
        },
        "reminders": {
          "unit": "day",
          "amount": 4,
          "repeat": 1
        }
      }
    }, {
      "name": "RSES",
      "showIntroduction": "false",
      "questionnaire": {
        "repository": "https://raw.githubusercontent.com/RADAR-CNS/RADAR-REDCap-aRMT-Definitions/master/questionnaires/",
        "name": "rses",
        "avsc": "questionnaire"
      },
      "startText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "endText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "warn": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "estimatedCompletionTime": 3,
      "protocol": {
        "repeatProtocol": {
          "unit": "day",
          "amount": 14
        },
        "repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            540
          ]
        },
        "reminders": {
          "unit": "day",
          "amount": 4,
          "repeat": 1
        }
      }
    }, {
      "name": "ESM",
      "showIntroduction": "false",
      "questionnaire": {
        "repository": "https://raw.githubusercontent.com/RADAR-CNS/RADAR-REDCap-aRMT-Definitions/master/questionnaires/",
        "name": "esm",
        "avsc": "questionnaire"
      },
      "startText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "endText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "warn": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "estimatedCompletionTime": 3,
      "protocol": {
        "repeatProtocol": {
          "unit": "day",
          "amount": 42
        },
        "repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            1890,
            1985,
            2073,
            2160,
            2253,
            2385,
            2440,
            2543,
            2612,
            3337,
            3456,
            3560,
            3602,
            3695,
            3780,
            3870,
            3968,
            4075,
            4784,
            4863,
            4950,
            5040,
            5130,
            5220,
            5310,
            5400,
            5490,
            6210,
            6300,
            6390,
            6480,
            6570,
            6660,
            6750,
            6840,
            6930,
            7650,
            7745,
            7862,
            7923,
            8055,
            8113,
            8199,
            8287,
            8376,
            9143,
            9183,
            9297,
            9374,
            9450,
            9544,
            9646,
            9732,
            9823
          ]
        },
        "reminders": {
          "unit": "day",
          "amount": 0,
          "repeat": 0
        }
      }
    },
    {
      "name": "DEMO",
      "showIntroduction": "true",
      "questionnaire": {
        "repository": "https://raw.githubusercontent.com/RADAR-CNS/RADAR-REDCap-aRMT-Definitions/master/questionnaires/",
        "name": "esm-demo",
        "avsc": "questionnaire"
      },
      "startText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "endText": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "warn": {
        "en": "",
        "it": "",
        "nl": "",
        "da": "",
        "de": "",
        "es": ""
      },
      "estimatedCompletionTime": 3,
      "protocol": {
        "repeatProtocol": {
          "unit": "day",
          "amount": 42
        },
        "repeatQuestionnaire": {
          "unit": "min",
          "unitsFromZero": [
            480
          ]
        },
        "reminders": {
          "unit": "day",
          "amount": 0,
          "repeat": 0
        }
      }
    }
  ]
}




Questionnaire Display Prioritisation

On clicking on a aRMT notification, the ordering of the questions presented, by default, are based on the order of smallest Time Window of completion first. 

This TimeWindow will eventually be configurable so order can be more easily controlled.












  • No labels