Skip to content

Sectra Plugin

The Sectra plugin (proper name is SectraPlugin) is a bridge between the context management features (currently only CurrentUseCase) and the context manager in Manatee. It is an IRunnablePlugin which means that it must be started and supplied with a configuration before it does anything.

The logic it runs when start(...) is invoked is something like:

cs
while(not_stopped) {
  if(sectra.connect() && manetee.connect()) {
    keep_synchronized(sectra, manatee);
    wait(sectra.done || manatee.done);
  }
  wait(a bit);
}

Configuration

When start(...) is invoked a configuration object with the following properties can be given as argument.

js
{
  applicationIdentifier: '', (required) The identifier of the ContextParticipant Sectra configuration to use (default is "eu.sirenia.plugins.sectra")
  applicationName: '', // (optional) The name of the application (default is "Sirenia Sectra Plugin")
  defaultViewIdentifier: '', // (optional) Arg for Sectra context (default is "IDS7InfoOrMatrixWindow")
  defaultAccessionNumberGroupId: '', // (optional) Arg for Sectra context (default is "WISE Server std-pacs-12:7800")
  defaultAccessionNumber: '', // (optional) Arg for Sectra context (default is null)
  defaultExaminationNumber: '', // (optional) Arg for Sectra context (default is null)
  defaultPatientIdentifierIssuer: '', // (optional) Arg for Sectra context (default is null)
  pollingIntervalInSeconds: 5, // (optional) How often do we check if we can connect to Sectra (default is 5)
  completeSectraStateSubject: '', // (optional) The subject of the context item which we should r/w the complete Sectra state as json (default is null, which means we won't synchronise the complete state)
  patientIdentifierSubject: '', // (optional) The subject for the patient identifier (default is null, no synch is done)
  viewIdentifierSubject: '', // (optional) The subject for the view identifier (default is null, no synch is done)
  examinationNumberSubject: '', // (optional) The subject for the examination number (default is null, no synch is done)
  accessionNumberSubject: '', // (optional) The subject for the accession number (default is null, no synch is done)
  accessionNumberGroupIdSubject: '', // (optional) The subject for the accession group id number (default is null, no synch is done)
  forceRefresh: false, // (optional) Should we force-refresh Sectra on context changes (default is false)
  maxSecondsToWaitForSectraTxCompletion: 10, // (optional) How long do we wait for Sectra to complete an inbound tx (default is 10)
  delayForInitialTxInSeconds: 2, // (optional) How long to wait after Sectra connect to run initial sync (default is 10)
  windowMatch: '' // (optional) Regex to match title of Sectra window to better determine when to start the inconsistency checker
  maxWindowWaitInSeconds: 30 // (optional) How many seconds to max wait for a matching window before starting the inconsistency checker
}

Examples

Start the plugin

js
Plugin.start(
  "SectraPlugin", 
  "v0.5.10",
  {
    applicationIdentifier: "eu.sirenia.plugins.sectra",
    completeSectraStateSubject: "sectraState"
  }
);

Stop the plugin

js
Plugin.stop(
  "SectraPlugin", 
  "v0.5.10"
);

Query the status of the plugin

js
Debug.ger(Plugin.status("SectraPlugin", "v0.5.10");
Releases
v0.5.10
Initial (public) release.