Connectathon

Validation of XDM archives

Submitted by abe on Fri, 03/17/2023 - 12:06
Priority
High - Major feature, it achieves a lot of work
Status
Draft
Customer
ANS
Business owner
Marie Bruillard
Description

The IHE XDM (Cross-Enterprise Document Media interchange) Profile defines how data are exchanged on a media (USB stick, DVD, email). In particular, it specifies the content of the ZIP archive being exchange on those media.

ANS requires the XDM profile to be used when documents (for examples CDA) are exchanged over MS Santé (Messagerie Sécurisée en santé).

As of March 2022, the following conformance checker tools are used and involved in the verification of the XDM requirements:

  • Message Content Analyser (MCA) detects the various parts of the ZIP archive and allows to validate those parts independently the ones from the other
  • Schematron Validator is called to verify the conformance of the CDA files included in the XDM archive
  • XD* Client is called to verify the conformance of the XDS metadata
  • Gazelle X Validator is used to verify the consistency of the XDS metadata with the CDA file it describes.

Although this verification requires several clicks, it is integrated in EVSClient and achieves a lot of work.

However, there are several issues that needs to be considered:

  • The XDM archive might contain more than one CDA document; in that case the XDS metadata describes the submission set and each CDA file;
  • The X Validation is only specified/performed between the XDS medatada and a single CDA document
  • The output of the Message Content Analyser module reports failures to find optional content
  • For each CDA, the user has to select manually which validation profile (aka Schematron) to use whereas it could be selected based on the templateIds contained in the document;
  • There is no automation of the validation process; as a consequence, many clicks are required to obtain a comprehensive report about the conformance of the whole archives.

ANS expresses the need to review the workflow in EVSClient to perform the XDM archive validation in one-click.

This high level need implies the following:

  • As a SUT Operator, I want to see the results of the message content analyser, the analyses logs shall not be displayed since they content misleading level of details.
  • As a test designer, I want to link a given schematron with one or several CDA template Ids that shall be present in the file, to allow an automatic selection of the schematron to be applied.
  • As a SUT Operator, I want EVSClient to detect automatically the validator to use when validating a CDA document
  • As a test designer, when developing a X Validation profile for an XDS Submission set, I would like to tell the tool to iterate some of the rules with a different file each time
  • As a test designer, when developing a X validation profile for an XDS submission set, I would like to tell the tool to automatically select the file on which the rule applies based on the document the metadata describes.

For those last two points, it relates to the structure of the XDS submission set within the XDM archive. The XDS metadata are gathered in a file that has:

  • one section that describes the whole submission set;
  • one section per file within the submission set; this section contains a location attribute that gives the name of the file the metadata relates to

The number of files, as well as their names, are not known in advance when developing the X validation rules. Thus, the test designer need a way to tell the tool that rules A applies on element Metadata[f] of the metadata and on File f; and the X Validator will automatically iterate and choose the relevant file and element for each execution. 

What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Offering an integrated validation workflow to the user for him to save time and clicks.

 

Expected benefit

Offering a better experience and a test report to the user, including:

  • One X Validation report per CDA
  • One conformance validation report per CDA
  • A report about the conformance of the structure of the ZIP archive

Manage and control the accesses to the test bed features

Submitted by abe on Tue, 01/24/2023 - 17:50
Priority
Essential - Must have, it is essential for the use cases
Status
Draft
Customer
All
Business owner
Anne-Gaëlle BERGE
Description

Gazelle test bed offers numerous features and most of them are targeted to well-defined categories of users. Thus, there is a need for the tool administrator to decide which users can access which features. As a consequence, the users who interact with the test bed shall be uniquely identified and be granted with the relevant permissions based on the features they are allowed to access.

In the EU countries, management of identities is ruled by the GDPR. Other local privacy regulations might apply and Gazelle shall comply to them.

 

Who is the targeted audience?
Targetted goal(s)

Manage and control who has access to the test bed, how, and which features are available to each individual user.

Comply with local regulation in terms of privacy.

Expected benefit

Fine-tune the access to the Gazelle features.

Log who is performing actions with the test bed.

Offer advanced features to our users.

Test session participants execute a peer-to-peer test

Submitted by abe on Thu, 12/08/2022 - 12:12
Priority
Essential - Must have, it is essential for the use cases
Status
Draft
Customer
Innovation
Business owner
Anne-Gaëlle BERGE
Description

This is a user need defines in the context of the new Gazelle product. 

As a participant (SUT operator) to an interoperability testing event, I want to execute a peer-to-peer test with one or more other systems under test and report the result of the execution to the event management team, for review and grading. To prove the correct execution of the test case, I might be asked to provide evidences of the following types:

  • Screenshots;
  • Messages exchanged between the systems;
  • Log files.
What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

As a SUT Operator, I want to be able to test my SUT against other SUTs, by following a defined test case, and demonstrate to a monitor that the execution went as expected.

When I am asked to report evidences of the correct execution of the test case, in particular to report the messages exchanged between the SUTs, the tool shall help me in identifying which messages are relevant for the current test case. Ideally, to save time and execute as many tests as possibile during the event, I execute the test and search for the messages in a single place.

Expected benefit

The user experience is improved

The number of tools to gain experience with is reduced

Globally, the time to execute and report about a test execution is shorten and the evidences are relevant.

Opportunities

Reduce the number of "screens" to be developed and make use of existing Gazelle components to automate part of the process.

A SUT operator validates an ITI-71 transaction to make sure that his messages comply with the specifications.

Submitted by vhn on Tue, 11/29/2022 - 10:48
Priority
High - Major feature, it achieves a lot of work
Status
Draft
Customer
Canada Health Infoway
Business owner
Vincent HOFMAN
Description

The workflow involves 2 main actors (we don't check the IDP part) :

  • The Authorization Client : A client that retrieves access tokens.
  • The Authorization Server : A server that issues access tokens to requesting clients.

In order to check the compliance a complete ITI-71 transaction, I need to validate :

  1. The Get Authorization Code request (Http GET message).
  2. The Get Authorization Code response (with the code).
  3. The Get Access Token Request (Http POST message, code included).
  4. The Get Access Token response (with also a Token validation).

The steps of this workflow SHALL be tested either for a Basic Token or an Extended Token.

 

What is/are the targeted context(s)?
Targetted goal(s)

The main objective is to offer to SUT operators a way to verify the correctness of the HTTP requests and responses issued by their systems under test, against the ITI-71 requirements. In case of failure of the SUT to demonstrate that it complies with the specifications, the SUT operator shall understand what and where the errors are.

When the HTTP message contains a body (Steps 2 to 4), the SUT operator shall be able to assess as well the conformance of its content against specifications.

Expected benefit

Short term benefit (< 1 year):

Canadian second Projectathon's participants will be able to test IUA ITI-71 messages before and during the event. It will also permit to increase consequently the validation time for monitors.

Middle and long term benefit (>= 1 year):

Since Canada Health Infoway choose to use the unmodified IHE specifications for IUA, this Validation Profile will be used in all the other IHE platforms.

Opportunities

This User Need is almost the same as SUT Operator verifies the conformance of the RAD-107 request and response messages.

A common validation service should be developped.

 

Documentation

Complete and up to date IUA specifications : https://profiles.ihe.net/ITI/IUA/index.html

SUT Operator verifies the conformance of the RAD-107 request and response messages

Submitted by abe on Fri, 11/18/2022 - 16:08
Priority
High - Major feature, it achieves a lot of work
Status
Under development
Customer
ANS
Business owner
Marie Bruillard
Description

ANS has defined a new business use case that allows the sharing of imaging among practioners that are not on the same network. The DRIM-M project relies on the fact that a DICOM KOS is published in the patien health record and contains pointers to the images that are stored in the PACS of the facility where the exam took place. When the practitioner wants to access images that are referenced in an imaging report, he first retrieves the DICOM KOS and then use the RAD-107 transaction to retrieve the images in the PACS.

Two actors are involved in this process:

  • the DRIMBox source is the system (or component of a system) that acts as a gateway to the PACS. It behaves as the Imaging Document Source actor of the IHE WIA profile
  • the DRIMBox consommatrice is the system (or component of a system) that initiates the RAD-107 transactions to retrieves the images. It behaves as the Imaging Document Consumer actor of the IHE WIA profile.

In the context of the Segur program, ANS wants to verify the ability of

  • the DRIMBox consommatrice to send out an HTTP request to the DRIMBox source that complies with the DRIM-M requirements;
  • the DRIMBox source to build an HTTP response that complies the the DRIM-M requirements.

 

The SUT operator shall be able to verify the conformance of the message by either:

  • Uploading the message content in the EVSClient
  • Selected the message to validate in the Gazelle Proxy
What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

The main objective is to offer to SUT operators a way to verify the correctness of the HTTP requests and responses issued by their systems under test, against the RAD-107 requirements. In case of failure of the SUT to demonstrate that it complies with the specifications, the SUT operator shall understand what and where the errors are.

When the HTTP message contains a body (RAD-107 response), the SUT operator shall be able to assess as well the conformance of its content against specifications.

Expected benefit

Short-term: offering an automated way to verify the conformance of the messages issued in the context of the RAD-107 transaction (DICOMWeb / WADO-RS). It will benefit as well to the IHE Connectathon participants who have currently no mean of non-manual verification.

Medium-term: offering an HTTP validator (HTTP headers for requests and responses) that can be customised based on the requirements to be tested (DICOMWeb QIDO-RS, FHIR, IUA in particular).

Long-term: coupling this HTTP validator with the Message Content Analyzer to be able to provide to the SUT operators a complete analysis of the HTTP messages his SUT produces.

Opportunities

Enlarge the conformance testing capabilities of the test bed by offering a new feature: validation of HTTP messages, including validation of the HTTP headers.

Introduce this new conformance checking tool to the IHE Connectathon participants. It will increase the level of testing for an important set of HTTP-based profiles and thus improve the level of confidence in the systems under test which implement such specifications. Forseen profiles to be tested first: WIA, WIC, AIR, and IUA.

Leverage this new conformance checking tool for testing the IUA profile in the context of the PAN Canadian project.

Documentation
  • RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1
  • RFC9110: HTTP Semantics
  • WIA: IHE Profile Web-based Access to Images 
  • CI-SIS (ANS): Acces aux Documents de Santé en Imagerie (currently in public comment status, link to the final version to be added later on)

 

The user shall have access to an overview of the test runs for a given testing session whatever the current status of the related test cases

Submitted by abe on Wed, 10/26/2022 - 15:20
Priority
High - Major feature, it achieves a lot of work
Status
Draft
Customer
DG Santé
Business owner
Malo Toudic
Description

In Gazelle Test Management, the tests are executed from the Test execution page. This page also logs all the runs executed by the systems. The test runs are linked to the test case they relate to.

The test execution page shows only the test cases with a status set to "ready". As a consequence, if a test case is deprecated at some points, the SUT operator cannot access the test runs that were executed when the test case was "ready". 

In the same way, the "All test runs" page displays only the test runs that relates to the "ready" test cases.

As a consequence, we experience a loss of information and that is not accessible neither from the SUT operator's or Testing Session Manager's point of view.

  • As a SUT Operator, I want to see all the test runs that have been executed by a system under test owned by my organisation, during a given testing session, at any time.
  • As a TSM, I want to see all the test runs that have been executed during a given testing session, at any time.
  • As a user, for each test run, I want to see the following details:
    • Test run identifier
    • Test case keyword (and a link access its details)
    • Whether the test case is currently deprecated
    • Last update date/time
    • Test run status
    • The role assigned to my SUT in this particular test run
    • The other partners
    • The status of the test run
    • If a monitor is assigned, his first and last names
  • As a user, I want to be able to access the test run page for any test run (whatever the status of the test case is)
  • As a user, I want to be able to access the description of the test case.
  • As a user, I want to be able to filter on
    • System (name/keyword)
    • Test case keyword
    • Monitor
    • Type of test
    • Domain
    • Tested profile
    • Tested actor
    • Tested profile option
    • Involved transactions
    • Test run status
  • As a testing session manager or admin user, I want to be able to filter by Organisation (name/keyword)
  • As a user, I want the test runs to be grouped by tested SUT capabilities
  • As a user, for each SUT capabilities, I want to see the evaluation.
  • As a user, I want to be able to sort on test case and test status within each SUT capability.
What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Allow the users to see all the test runs from a test session, regardless of the current status of the executed test cases.

Expected benefit

User will have access to a page that summarizes the outcome of their test campaign

Opportunities

We might also want to experience new widget/features on that page like displaying statistics.

SUT operator verifies the conformance of a DICOM JSON Model based message

Submitted by abe on Mon, 03/07/2022 - 10:55
Priority
High - Major feature, it achieves a lot of work
Status
Under development
Customer
Innovation
Business owner
Anne-Gaëlle BERGE
Description

The WIA, WIC, and AIR profiles define transactions that leverage the DICOM JSON Model either for the request or response HTTP payload. A SUT operator implementing on of those transactions in his product wants to verify the conformance of the messages the latter produces.

As of March 2022, the IHE transactions to consider are:

  • RAD-108 (Store Instances over the Web / STOW-RS); 
  • RAD-129 (QIDO-RS Query / QIDO-RS);
  • RAD-107 (WADO-RS Retrieve / WADO-RS).

Several levels of verifications are expected:

  • Is the message syntax valid regarding the JSON standard?
  • Is the message valid regarding the DICOM JSON Model?
  • Is the message valid regarding the specific requirement of the transaction I am implementing?

For each level, the SUT operator expects to understand whether the message is valid or not. If not, he wants to be able to fix the issues. That is to say that he needs to know:

  • Which verification level is failing;
  • Where the error is located in the message;
  • Which requirement is not met that causes the validator to report an error.

The SUT operator wants the conformance checker tool to be made available in the cloud (no need to install a software locally). Ideally, the SUT operator shall be able to perform the validation:

  • From Gazelle Proxy if the message was captured in the context of an interoperability test;
  • From EVS Client user interface, by uploading the JSON file;
  • From EVS Client API, in the context of integration testing.

As an output, the SUT operator shall be able to download a report and to see its content directly into EVS Client.

What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Offer a conformance checker for the JSON standard and, in particular, for the DICOM JSON model and the additional requirements from the IHE profiles that leverage it.

 

Expected benefit

Improve the verification of the DICOMWeb based transaction by offering an automated tool to verify the conformance of the messages.

Opportunities

The Smart city ecosystem also makes use of the JSON standard and need a way to verify the conformance of the messages being exchanged.

SUT operators and the monitors exchange information about a test run

Submitted by abe on Thu, 03/03/2022 - 17:14
Priority
Medium - Feature to be considered
Status
Under development
Customer
Renovation
Business owner
Anne-Gaëlle BERGE
Description

During online events, we want the participants to a test run to be able to chat with each other. They might also need to share their screen or to exchange logs or screenshots that do not need to be logged in Gazelle Test Management.

Participants to the online events expect this capability to be offered also for face-to-face test events.

The chat room is convenient to share short information that are relevant to the execution of the test but not for large logs or images.

As a SUT participant, I want to have a dedicated place where I can chat with my test partners, share my screen, share images, and start calls if needed.

As a monitor, I want to be able to chat with the participants to the test run I am grading. When online, I might also need to view their screen or ask them images. I might also need to start a short call with them.

During past events, we created one test channel per test run. Gazelle Test Management shall be able to manage those channels for the users.

What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Automate the creation of a channel in the communication tool.

Expected benefit

Save time to the participants and improve the channel management.

Access test tools

Submitted by abe on Fri, 02/18/2022 - 17:03
Priority
Essential - Must have, it is essential for the use cases
Status
Under development
Customer
Renovation
Business owner
Anne-Gaëlle BERGE
Description

When navigating and working in Gazelle Test Management, the users need to access other test tools in order to execute the test cases.

As a tool administrator, I want to provide the links to the tools of interest for the users to access them from whatever page in Gazelle Test Management. This list shall be organised according to the project's context. 

As a SUT operator or a monitor, I want to see the links to the test tool I need to use when I execute/grade tests. The links shall be available on all the pages so that it is very quick to find the pointers.

What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Gather all the information of interest to the user on a single view.

Reduce the number of places where the user should look for information.

Inform better the user about the tes tools at his disposal.

Expected benefit

Gazelle Test Managemet can be used as the home page of the Gazelle test bed and the user will find all the documentation and pointers he needs in a single place.

Test plan page for SUT operators

Submitted by abe on Mon, 12/20/2021 - 12:48
Priority
Essential - Must have, it is essential for the use cases
Status
Under development
Customer
Renovation
Business owner
Anne-Gaëlle BERGE
Description

Currently the SUT operator can execute tests from two pages:

  • Connectathon > Pre-Connectathon > Pre-Connectathon results
  • Connectathon > Connectathon > Connectathon

It is confusing and both pages need to be reviewed in order to give a better level of information to the SUT operator.

As a SUT Operator, I want to execute preparatory tests as soon as my system is accepted to the test session.

As a SUT Operator, I want to execute the Connectathon/Projectathon/Conformity assessment tests during the test event, for accepted systems.

As a SUT Operator, I want to filter the test plan based on my system's capabilities.

As a SUT Operator, I want to see a summary of all the test runs for my systems along with their status.

As a SUT Operator, I want to create quick links to display the results of a previous search on test runs (currently named preset).

As a SUT Operator, I want to see indicators about my progresses in executing the test plan.

As a test designer, I want to decide whether a test shall be graded by a monitor or if the operator can mark it as self-verified.

As a test session manager, when I assign the test to the monitors, I do not want to see those that have to be self-verified by the operator; because they do not need to be reviewed by a monitor.

What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Make the event preparation and the test execution during the event smoother and easier to understand.

Expected benefit

Create a page intuitive enough for SUT operators to find their way without loosing time in reading documentation or watching webinars.

 

Opportunities

Reduce the number of pages to maintain by reusing the same layout for both types of tests.

Review the way we build the test plans.