Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Note
titleUnder construction

This page is still under construction.

Table of Contents

Introduction

EVS is an evolution of EVSc, using gateway-integration instead of Vitalink connector-integration. It allows the manipulation of vault contents using specific actors and specific patients, manually or based on previously exported vault contents.

After initial installation, some examples are available to get familiar with the functionalities of EVS, without the need for further configuration.

This manual describes EVSg EVS v2.1.0.

Functionality

General

EVSg EVS allows a certain actor to perform, for a certain patient, a number of actions.

These actions are triggered by dropping input files in (subfolders of) the input-folder:

EVSg EVS watches these folder(s), executes the action(s) and generates output in the processed-folder:

EVSg EVS can be launched via the "vault-uploader.cmd" batch file:

The behaviour of EVSg must EVS must be determined by passing some mandatory parameters. Instead of using the "vault-uploader.cmd" batch file, it is easier to use the example batch file "start EVS.cmd":

...

This batch file contains parameter values for a standard behaviour. How the parameters change the behaviour can be found in the paragraph EVSg user manualParameterisation.

Input-folder

Which patient?

The patient is determined by the folder under "..\exe\interaction\input".

After initial installation, 1 patient named "katrien" is available:

Which actor?

The actor is determined by the folder under "..\exe\interaction\input\<patient folder>".

After initial installation, 1 actor named "gp_van_gucht" is available:

Which files?

Any type of files, with any extension, can be dropped. They are considered as "input-files". EVSg willEVS will, depending on the action folder, parse the files and extract the Kmehrmessage(s).

...

MSE and TS transactions.

Note

All MS transactions are ignored as input. 

What is a Kmehrmessage?

A Kmehrmessage is a part of the file that starts with <kmehrmessage ...> and ends with </kmehrmessage>. One file can contain 0 or more Kmehrmessages.  One Kmehrmessage can contain 0 or more MSE and TS transactions.

EVS EVSg will work with Kmehrmessages of Kmehr-standard 20120401 and Kmehr-standard 20161201 . It will automatically convert Kmehrmessages of Kmehr-standard 20120401 to Kmehr-standard 20160401.as input.

All data (among which the metadata) extra data needed for the communication with the gateway will be generated by the EVSg and/or the Vitalink platform. EVS. As input the data as depicted in the image below will be used:

How is a

...

"medication" identified?

For some actions, typically removing and updating data entries"medications", the medication that medication that should be changed needs to have an identification. Those medications are expressed as MSE transactions. These MSE transactions are identified by using an EVS reference.

Note

TS transactions can not be updated and should not contain EVS references! They can only be added or removed.


Identification by EVS reference

An EVS reference is put in 1 (and only 1) free text field in the concerned medicationMSE transaction.

The EVS reference can be freely chosen, and facilitates the definition and execution of scenarios.

In the next example, this REF is "===EVSREF:901===". EVSg EVS detects the reserved format  "===EVSREF:<any text>===" and finally uses "<any text>" as unique REF.

...

If multiple EVS REFs have been given for 1 medicationMSE transaction, EVSg EVS will not execute an the action and will raise an error.

Image Modified

Which actions?

Depending on the folder where the input-file is dropped, EVSg EVS will execute an action.

Action "add"

This action will add a data entry transaction to the vault for all transactions found in each Kmehrmessage found in all dropped files. If one of the medications MSE transactions within a kmehrmessage does not have an EVS REF yet, this an EVS REF will be generated.

In the example below, 3 Kmehrmessages transactions are dropped to be added to the vault:


Image RemovedImage Added

Action "export"

This action will export the contents of the vault, without any change to the vault itself. EVSg  EVS will do this action once for each dropped file, without parsing this file.

In the example below, a newly created file will trigger an export of the contents of the vault:

Action "generateREF"

This action will generate an EVS REF for each medication within a kmehrmessage.

If an EVS REF exists already in the medication, no new EVS REF will be generated.

MSE transaction currently in the vault.

Note

The 'old' EVS, with Vitalink connector-integration, added the references to the input file, followed by putting this in the vault.

If an EVS REF exists already in the MSE transaction, no new EVS REF will be generated.

If no EVS REF exists, the If no EVS REF exists, the new EVS REF is put in the instructionforpatient field.

Image RemovedImage Added

Action "replace"

This action will replace the contents of the vault by all the Kmehrmessages transactions found in the input file. Be aware of the fact that dropping multiple files in the replace-folder will result in a vault with as contents the Kmehrmessages transactions of the last input file! If one of the medications MSE transactions within a kmehrmessage file does not have an EVS REF yet, this will be generated.

In the next example, after processing the next 3 input files, the vault contains 2 data entriestransactions.

Image RemovedImage Added

Action "updateschemeREF"

This action will update the complete contents of the vault, based on the input file compared with the current contents of the vault.

Image RemovedImage Added

The next actions will take place:

  • a medication an MSE transaction with EVS REF not yet existing in the vault will be added to the vault, together with all TS transactions which are linked with this MSE transaction
  • an MSE transaction with a medication with EVS REF already existing in the vault will cause an update but only if medication differs from the vault-medicationif any difference between the input-transaction and vault-transaction is found
  • all MSE transactions all medications without corresponding EVS REF in the input file will be removed from the vault


If the input-file contains medications MSE transactions with EVS REFs that are not unique, the action will not be executed and an error will be thrown.

Tip

Processed-folder

titleEmpty

The 'old' EVS, with Vitalink connector-integration, offered an action 'empty'. EVS doesn't offer this action anymore. Now, emptying the vault can be done by dropping an empty file for the actions "updateschemeREF" or "replace".

Processed-folder

After execution After execution of an action a variable number of output files are generated in the processed folder.

...

NameOutput suffixExtensionDescriptionRemarks

Validation file

VALIDATION-OK

VALIDATION-<###>-FAILED

.valThe report of the validation.

The filename contains the number of warnings and errors when the validation fails.

 

Global scheme PDF

globalscheme.pdfA visualisation of the global scheme in PDF format.-

Daily scheme PDF

dailyscheme-<date>.pdfA visualisation of the daily scheme in PDF format.

This is the scheme of the medication that should be taken today.
(waarschuwing) For the moment, only "today" is generated. Future EVS releases will add free choice of the date.

Export file

-.expAn export of the contents of the vault.-

Input file

-.inpThe original input file.The filename does not include the number of data entries in the vault.

...

The content of the error file will identify the problem.
NameOutput suffixExtensionDescriptionRemarks

Error file

-

.errThe report containing the error.error.

The content of the error file will identify the problem.

Logs-folder

Root

This folder contains:

  • the eHealth technical connector logs for EVS: ehealth_uploader*.log
  • the eHealth technical connector logs for EVS-exporter: ehealth_exporter*.log
  • the proprietary EVS log for EVS: evs_uploader.log
  • the proprietary EVS log for EVS-exporter: evs_exporter.log
  • a folder 'communication'

Image Added

Communicaton-folder

This folder contains all the requests and responses done by EVS when communicating with the gateway.

Image Added

Configuration

This paragraph explains how to configure EVSgEVS.

How to add a patient?

Extra patients can be added by creating files in the next folder:

...

Since EVS follows all the rules for eHealth and Vitalink, it is up to the user to make sure the proper eHealth dependencies (informed consent, therapeutic relation, ...) are set in function of the wanted behaviour.

Note
titleRestart EVS

EVSg EVS (and EVS-exporter) should be restarted when newly added patients will be used.

 

How to add an actor?

Extra actors can be added by creating files in the next folder:

Image Removed

files in the next folder:

Image Added

Note

The 'old' EVS, with Vitalink connector-integration, used another syntax in this files. EVS is not compatible with this old format!


After initial installation, some actor config files are already present. All can be used as example (copy-paste) to add extra actors. The name of the file, without the extension, needs to be used to identify by which actor the action needs to be performed.

...

After copy paste of the appropriate example file, insert the correct info for the new actor:

Image Modified

The needed info in the above template is the certificate name, the password of the certificate, the SSIN, the NIHII number and the actor's name. The location of the certificate can be freely chosen, but it is good practice to put it in the same folder as the example by installation:

...

Since EVS follows all the rules for eHealth and Vitalink, it is up to the user to make sure the proper eHealth dependencies (therapeutic relation, ...) are set in function of the wanted behaviour.

Note
titleRestart EVS

EVSg EVS (and EVS-exporter) should be restarted when newly added actors will be used.

Parameterisation

The next parameters can be passed when launching EVSgEVS:

Name

Values

Meaning
rootdir"..\exe\interaction"Relative or absolute path to the folder that needs to be watched by EVS. This folder should contain the requested actions.
writeAsIstrue|false

false: All patient data from the source Kmehrmessage will be replaced by the correspondign data of the used input patient. Since the Kmehr data model is used for this transformation, it is possible that other Kmehr structure elements are slightly changed too.

true: The Kmehrmessage will be sent to the vault untouched. Use this when really no manipulation on the source Kmehrmessage is desired.

exportAfterUploadtrue|false

true: Each action, excepted "export" itself, should be followed by an export.

false: No export is needed after execution of the triggered action.

validateExportAfterUploadtrue|false

true: Each action should be followed by validation of the vault content.

false: No validation is needed.

generateGlobalMedicationSchemetrue|false

true: Each action should be followed by the generation of a global scheme visualisation PDF.

false: No global scheme visualisation is needed.

generateDailyMedicationSchemetrue|false

true: Each action should be followed by the generation of a daily scheme visualisation PDF.

false: No daily scheme visualisation is needed.

(waarschuwing) This EVS functionality is still under development!

dailyMedicationSchemeDatedate("yyyy-MM-dd")

If no date has been given, it will generate a daily medication scheme of the current date.

If a date has been given, it will generate a daily medication scheme of the given date.

startTransactionIdnumberThis number will be the number for the first transaction within the kmehrmessage of a putTransactionSetRequest in the context of a medicationscheme.

Example of a parameterisation:

Appendix A: Folder structure

...

EVS 2.

...

x.

...

y

This paragraph gives a brief overview of the folder structure after initial installation. It can be used as reference while using and configuring the EVS.

Path

Reserved

path

Reserved

name

Explanation
EVSgEVS      (fout)(fout)The root folder. The name and location can be freely chosen. Keep in mind that paths used in scenarios, patient and actor files are possibly impacted by changes to this!

 

\config     (tik)(tik)

Everything that defines the behaviour of EVSgEVS, configured as needed by the user.

  \actors    (tik)(tik)All the actors that can be used by EVSgEVS.
  \log4j    (tik)(tik)Settings of the log4j library. Please refer to https://logging.apache.org/log4j/2.x/manual/configuration.html for more explanation.
  \patients    (tik)(tik)All the patients that can be used by EVSgEVS.
 \exe     (tik)(tik) 
  \certificates    (fout)(fout)The certificates used in the actor configuration files.
  \exports    (fout)

(fout)

The folder were the EVS-exporter will put exported vault contents, see EVSg user manual AppendixB:EVSexporter
  \interaction    (fout)(fout) 
   \input   (tik)(tik) 
    \katrien  (tik)(fout) 
     \gp_van_gucht (tik)(fout) 
      \add(tik)(tik) 
      \export(tik)(tik) 
      

\generateREF

(tik)(tik) 






\replace(tik)(tik)






\updateschemeREF(tik)(tik)
    \patient_template  (tik)(tik) 
   \processed   (tik)(tik) 

\logs




(fout)(fout)Can be configured through the log4j settings.


\communication



(tik)(tik)
 

\scenarios

     (fout)(fout) 
  \basic_example    (fout)(fout) 
 \system     (tik)(tik) 
  \dependency-jars    (tik)(tik) 

Appendix B: EVS-exporter

Besides the interaction provided by dropping files in the input folder, EVSg EVS offers as extended functionality the continuous monitoring of the vault contents. This functionality is provided by EVS-exporter.

Launching

EVS-exporter can be launched via the "vault-exporter.cmd" batch file:

...

After initial installation, launching the EVS-exporter means that the vault contents of the patient "katrien" will be monitored.

Output

When EVS-exporter detects for the given patients a change in the vault contents, an export is executed. The export is also executed after intial initial launch.

The exported files are put in the next folder, with for each monitored patient a subfolder. The subfolder is automatically created when the monitoring for this patient is initially started.

...

The files contain the same as the files generated by EVSg EVS in the processed-folder, but the filenames differ.

...

NameSource

Version


"Version" from the medicationscheme MS transaction.

In case of an empty medicationscheme, the "version" is derived from the getLatestUpdate method.

Patient

Name of the patient as defined in the EVSg EVS configuration.

Date

Date of the latest update derived from the medicationsscheme MS transaction.

Time

Time of the latest update derived from the medicationsscheme MS transaction.

Author"Author" of the latest update, derived from the medicationsscheme MS transaction->UpdatedBy as returned by the gateway.
Nr of MSE transactionsThe amount of MSE transactions in the vault.
Unique codeCode making the filename unique in case an export exists already.
Output suffixHard coded, depending on file type. For the validation file, the number of warnings and errors and possible failure are shown.
Output extensionHard coded, depending on file type.

When the export fails, an error file will be generated, which is the same behaviour as for the folder-triggered export action of EVSgEVS.

Parameterisation

The next parameters can be passed when launching EVS-exporter:

...