Model/Test Designer

User whose task is to maintain the interoperability specification model and related test cases.

As a test designer, I want to check the conformance of the path of the Request-URI of an HTTP message

Tips

The Request-URI part of an HTTP message is made of /abs_path[?query]. As defined by RFC 3986, the non-empty path of an URI starts with the first "/" and is terminated by

  • the first question mark ("?"),
  • or number sign ("#") character,
  • or by the end of the URI.

A path consists of a sequence of path segments separated by a slash ("/") character.

As a test designer, I want to check the conformance of the query part of Request-URI of the HTTP message

Tips

Extract from RFC3986: The query component contains non-hierarchical data that, along with data in the path component, serves to identify a resource within the scope of the URI's scheme and naming authority (if any). The query component is indicated by the first question mark ("?") character and terminated by a number sign ("#") character or by the end of the URI.

query       = *( pchar / "/" / "?" )

As a test designer, I want to check the conformance of a message-header of an HTTP message

Tips

According to RFC 822, a message header is composed of a field-name followed by a colon (":"), followed by a field-body, and  terminated  by  a  carriage-return/line-feed. Field-name is case independent. These rules show a field meta-syntax, without regard for the particular  type  or internal syntax.  Their purpose is to permit detection of fields; also, they present to  higher-level  parsers an image of each field as fitting on one line.

As a test designer, I want to check the conformance of the Request-Line in a HTTP header

As a test designer, I want to check the conformance of the Request-Line included in the HTTP header of the HTTP message in regard to RFC2616 and a given specification. In particular, I want to verify that the Request-Line is formatted as: Method SP Request-URI SP HTTP-Version CRLF.

The HTTP Validator shall verify that

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)

 

Call GITB validation service from EVSClient

Submitted by abe on Wed, 10/26/2022 - 14:41
Priority
Essential - Must have, it is essential for the use cases
Status
Draft
Customer
DG DIGIT
Business owner
Fanny Serre
Description

DG DGIT is developping specifications for the OOTS (eWallet) project. Conformance tools have been developped using the GITB framework, and more especially the Test Bed’s XML validator

In this context, DG DGIT want to use the Gazelle Test Bed to execute the peer-to-peer test cases. To ease the verification of the exchanged messages, the Gazelle Proxy shall be able to call the Conformance tools through EVSClient. In other words, EVSClient shall be extended to call the GITB SOAP API (or alternatively the REST API).

Time constraints: A Projectathon is scheduled for mid-April 2023 (Week 16).

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

Our main goal is being able to integrate GITB based conformance testing tool within the Gazelle Test Bed to automate the validation of the messages captured by the Gazelle Proxy during the testing events.

Expected benefit

Workflow will be made easier for participants and monitors.

All the pieces of proof will be stored in a single space.

Full advantage of using the Gazelle Proxy and the Gazelle test bed in general.

Demonstrate the ability of the Gazelle test bed to interact with GITB testing tools.

Opportunities

Integration of the GITB Validator is also something we have forseen to be able to reuse their Json validator (validation of WIA/AIR messages - DICOM Web) so there is an opportunity to mutualize the work here.

On the longer term, it will allow Gazelle Test Management to interact with other GITB based implementations. 

Documentation

The SOAP API of the XML validator is the same regardless of the specific instance (the OOTS instance we are discussing or a potential future  additional instance) and is detailed here (a SOAP UI project is also available as part of the documentation). A REST variant of the SOAP API will also be made available. It's planned to be released mid to end November. In the case of the REST API, inputs will be provided via JSON and the report will be returned in XML format (the exact same XML you already get through the UI and SOAP API). The GITB development team also plans to prepare an XSL stylesheet that can be customized to use Gazelle's style.

Full documentation is available here: https://www.itb.ec.europa.eu/docs/guides/latest/validatingXML/index.html#validation-via-soap-web-service-api. In case you are considering using Java to call the SOAP API, we have a step-by-step guide that walks you through the development of a client. The simple project presented through this guide is also available on GitHub.

SUT Operator verifies the conformance of the HTTP header

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

IHE defines a lot of profiles that relies on HTTP protocol for the transport. However, Gazelle does not cover the conformance verification of the HTTP header. 

Gazelle currently offers:

  • SOAP body verification, for the SOAP webservice based transactions;
  • FHIR resource / URL verification, for the FHIR-based transactions.

Although most of the profiles do not specify additional requirements on the HTTP header, some other do and its content might influence the behaviour of the targetted system under test. 

As a test designer, I want to make sure that a system under test use appropriate content in the HTTP header when communicating with peers.

As a SUT operator, when I verify the conformance of a message sent over HTTP (or HTTPS), I want the verification to include checks on the HTTP headers. In particular, I want to know:

  • Whether all the expected HTTP headers are present in the message issued by the system under test;
  • Whether the values of the HTTP headers are correct regarding the specification requirements
  • Whether no forbidden HTTP header is present in the message.
  • Optionaly and if it applies, whether the content of the message is correctly reflected in the HTTP headers.

As a developer of a conformance checker tool, I want to be able to implement the requirements on the HTTP headers in a specific context (IHE Transaction or derivative).

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

Offer a way to verify the conformance of the HTTP headers for HTTP based transactions.

Expected benefit

Improve the level of confidence in our conformance checker tools by including the verification of the HTTP header.

Make sure the systems under test fully implement the specifications.

Opportunities

Such a validator can be used in a broader scope that only healthcare (smart city ?)

Documentation

 Header Field Definitions on W3C website: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html