API to virtual patient systems

Inga Hege edited this page Feb 16, 2017 · 31 revisions

Communication between a VP system and the clinical reasoning tool are required for:

  1. the initialization and update during the VP session

  2. the display of overall results (optional)

  3. display of session results (optional)

  4. search functionality (optional)

An exemplary implementation between a VP system (CASUS) and the tool has been implemented as follows:

1) Initialization and update during the VP session

The following query parameter are posted from the VP system to the tool, which is opened in an iframe:

  • locale = en/de (locale of navigation elements, default: browser locale)
  • system_id = 1..x (a unique identifier of the VP system)
  • script_locale = en/de (locale of script elements, depends on language of VP, default: browser locale)
  • vp_id (unique identifier of the opened VP, required)
  • stage = 1..x (where e.g. on which card in the VP is the learner)
  • userid_ext (a unique anonymized identifier of the learner)
  • uid (a unique identifier of the current session, optional, required if multiple sessions for one learner and one VP are allowed)
  • ts (timestamp to avoid any caching issues)
  • expfbmode = 0 | 1 | 2 (optional, display of expert feedback, 0 = default, always available, 1 = only available in the end, 2 = never available)
  • peerfbmode = 0 | 1 | 2 (optional, display of peer feedback, 0 = default, always available, 1 = only available in the end, 2 = never available)

HTML5 messaging is used for the communication concerning the final diagnosis submission process (optional): On each stage the tool can send an HTML5 message to a VP system:

  • p (0|1): proceeding with the scenario allowed (1) or prohibited (0) (e.g. "p0")
  • s (0|1): scaffolding shall be displayed (1) or not (0) e.g. "p0s1" means that the VP system should not allow the learner to move on to the next stage of the scenario and a scaffolding dialog shall be displayed (e.g. that the learner needs to submit a final diagnosis before he can move on).

An example is available at http://crt.casus.net (Democourse)

2) Display of session results at the end of a VP session (optional)

The following query parameter are posted from the VP system to the tool, which is opened in an iframe:

  • locale = en/de (locale of navigation elements, depends on browser locale)
  • system_id = 1..x (a unique identifier of the VP system)
  • userid_ext (a unique anonymized identifier of the learner)
  • crcase_id (a unique identifier of the VP/case id)
  • chart_size= LG | SM (size of the charts to display)

3) Display of the overall session results (optional)

  • locale = en/de (locale of navigation elements, depends on browser locale)
  • system_id = 1..x (a unique identifier of the VP system)
  • userid_ext (a unique anonymized identifier of the learner)
  • chart_size= LG | SM (size of the charts to display)

4) Search functionality (optional)

searches in all elements of the expert maps and the maps of the learner (if a userid_ext is included)

  • search (Searchterm)
  • secret (sharedSeceret between VP system and tool)
  • userid_ext (a unique anonymized identifier of the learner)
  • locale = en / de (language of search)

The tool returns a basic xml with the search results:

<response><error> Description of an error, if applicable</error><id value="vp_id">vp_id</id></response>

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.