diff --git a/Gazelle-HL7V2-Simulators/Makefile b/Gazelle-HL7V2-Simulators/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..cbbc56c706e2a9d7c1b43999f7199c4c956757ea --- /dev/null +++ b/Gazelle-HL7V2-Simulators/Makefile @@ -0,0 +1,3 @@ +SHELL := /bin/bash + +include ../Makefile.generic diff --git a/Gazelle-HL7V2-Simulators/installation.md b/Gazelle-HL7V2-Simulators/installation.md new file mode 100755 index 0000000000000000000000000000000000000000..94222a2b69bb52ea3fc2a6d567bae6f707a90fa4 --- /dev/null +++ b/Gazelle-HL7V2-Simulators/installation.md @@ -0,0 +1,38 @@ +--- +title: Installation Manual +subtitle: Gazelle-Hl7-simulator +author: CLaude LUSSEAU, Romuald DUBOURG +function: Software Engineer +date: 2023-14-08 +toolversion: 1.0.0 +version: 1.00 +status: draft +reference: +customer: IHE-EUROPE +--- +# Purpose + +Here is a guide to help you install the Hl7-Simulator. + +# Deployment + +## Requirements +* Java virtual machine : JDK 17 + + +## Installation +First you should pull the project from: +https://gitlab.inria.fr/gazelle/specific-tools/ans/ans-hl7v2-simulators.git +then you can use quarkus with : +`` +mvn clean package +cd ans-hl7v2-simulators-ui +mvn docker:start +`` +Or +you can use the application with +`` +mvn clean install +`` + +It will start a container who will contain the gazelle-database needed as a database and a container with the application diff --git a/Gazelle-HL7V2-Simulators/media/ConfigurationSUT_List.png b/Gazelle-HL7V2-Simulators/media/ConfigurationSUT_List.png new file mode 100644 index 0000000000000000000000000000000000000000..43a4a1a33a29eb70c7db74e592044a277f67c7eb Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/ConfigurationSUT_List.png differ diff --git a/Gazelle-HL7V2-Simulators/media/Configuration_Button.png b/Gazelle-HL7V2-Simulators/media/Configuration_Button.png new file mode 100644 index 0000000000000000000000000000000000000000..b0596f599fa75d7f84cecbe9463b3ce593b78f77 Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/Configuration_Button.png differ diff --git a/Gazelle-HL7V2-Simulators/media/HL7V2Creator_TemplateDropdown.png b/Gazelle-HL7V2-Simulators/media/HL7V2Creator_TemplateDropdown.png new file mode 100644 index 0000000000000000000000000000000000000000..bf149bdd3dc685317f2ad5614b22f442782e3f7f Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/HL7V2Creator_TemplateDropdown.png differ diff --git a/Gazelle-HL7V2-Simulators/media/HL7V2Creator_UI.png b/Gazelle-HL7V2-Simulators/media/HL7V2Creator_UI.png new file mode 100644 index 0000000000000000000000000000000000000000..6e12633ade1862501273a767b898bea37adb5d72 Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/HL7V2Creator_UI.png differ diff --git a/Gazelle-HL7V2-Simulators/media/HL7V2Home_UI.png b/Gazelle-HL7V2-Simulators/media/HL7V2Home_UI.png new file mode 100644 index 0000000000000000000000000000000000000000..2c529bdc18b69cfe72f3ae65321b5edc02435faf Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/HL7V2Home_UI.png differ diff --git a/Gazelle-HL7V2-Simulators/media/HL7V2Manager_UI.png b/Gazelle-HL7V2-Simulators/media/HL7V2Manager_UI.png new file mode 100644 index 0000000000000000000000000000000000000000..cbabcf80c1357ffca53470f4143fe0dc00beb775 Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/HL7V2Manager_UI.png differ diff --git a/Gazelle-HL7V2-Simulators/media/HL7v2Creator_SelectDropdown.png b/Gazelle-HL7V2-Simulators/media/HL7v2Creator_SelectDropdown.png new file mode 100644 index 0000000000000000000000000000000000000000..a325013cf61d908aaf900d9f628a77be68aa3862 Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/HL7v2Creator_SelectDropdown.png differ diff --git a/Gazelle-HL7V2-Simulators/media/Preference_Button.png b/Gazelle-HL7V2-Simulators/media/Preference_Button.png new file mode 100644 index 0000000000000000000000000000000000000000..0aeea9c1d43749059eed69765c2bb2554b42ef1a Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/Preference_Button.png differ diff --git a/Gazelle-HL7V2-Simulators/media/Preference_List.png b/Gazelle-HL7V2-Simulators/media/Preference_List.png new file mode 100644 index 0000000000000000000000000000000000000000..6939df627dec4ccae8f552f511058e83e0516269 Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/Preference_List.png differ diff --git a/Gazelle-HL7V2-Simulators/media/Template_Button.png b/Gazelle-HL7V2-Simulators/media/Template_Button.png new file mode 100644 index 0000000000000000000000000000000000000000..0b366e001999b151f5b3d168451c7f2be72565fa Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/Template_Button.png differ diff --git a/Gazelle-HL7V2-Simulators/media/Template_List.png b/Gazelle-HL7V2-Simulators/media/Template_List.png new file mode 100644 index 0000000000000000000000000000000000000000..99ab6b0d4217b89d59a8273e1eb9b4f0e63a8376 Binary files /dev/null and b/Gazelle-HL7V2-Simulators/media/Template_List.png differ diff --git a/Gazelle-HL7V2-Simulators/user.md b/Gazelle-HL7V2-Simulators/user.md new file mode 100755 index 0000000000000000000000000000000000000000..008357325dd7d4b01dbd49f18fa12e0213786a7c --- /dev/null +++ b/Gazelle-HL7V2-Simulators/user.md @@ -0,0 +1,132 @@ +--- +title: Installation Manual +subtitle: Gazelle-Hl7-simulator +author: CLaude LUSSEAU, Romuald DUBOURG +function: Software Engineer +date: 2023-14-08 +toolversion: 1.0.0 +version: 1.00 +status: draft +reference: +customer: IHE-EUROPE +--- + +# Application overview + +HL7V2Simulators is the part of the Gazelle platform dedicated to the simulation of Hl7v2 messages transmission. + +The first simulator mimics the transmission of a Clinical Document Architecture (CDA) to a receiving application. The creator of the simulator expects to receive as many acknowledgments as requested by the message. + +The second simulator acts as a server, receiving any CDA message sent to it. It then sends back as many acknowledgments as requested in the message to its sender. + +Concerning HL7v2 simulators: the application also gathers the HL7 templates. + +# User interface + +As shown on picture below, the [User Interface] provides two simulators tools: **Creator** and **Manager**: + + + +**Creator** allows user to send HL7 messages to an receiving App: + + + +And **Manager** allows user to receive Hl7 messages from a creator: + + + +Both tools use templates included in the application or imported by user. + + +## Browse Configuration SUT + +There are 5 fields that define a Configuration SUT: + - Name : Define the name of your configuration + - Host/ip: define the destination device of the message + - Port: Define on which port send the message on the destination device + - Application: Define the name of the application which you send the message it will help fulfill the message + - Facility: Define the name of the facility which you send the message it will help fulfill the message + + +Once connected with CAS(Central Authentication Service) Select option  of **HL7v2 simulators tool** menu. + +It will display the list of Configuration SUT : + + + +All the Configuration SUT available are gathered in the tool. You can either create, edit or delete one. + +## Browse Template + +There are 4 fields that define a template : + -Title : Define the title of the template + -isEnabled : Define if the template can be used in a message + -Filename : Define the name of the stocked file corresponding at the mustache template + -Description: Explain what is the purpose of the template or it's particularity + + +Once connected with CAS(Central Authentication Service) Select option  of **HL7v2 simulators tool** menu. + +It will display the list of Template : + + + +All Template available are gathered in the tool. You can either create, edit or delete one. + + +## Browse Preference + +There are 4 fields that define a preference: + -PreferenceName : define the name a of a preference + - ClassName: define the type of value contain by the preference + - PreferenceValue: define the value of a preference + - Description: describe how is use the preference + +Once connected with CAS(Central Authentication Service) Select option  of **HL7v2 simulators tool** menu. + +It will display the list of Preference : + + + +All Preference available are gathered in the tool. You can either create, edit or delete one. + +# Creator + +The Creator Simulator simulate the transmission of a Clinical Document Architecture (CDA) to a receiving application. + +There are two things that must be configured before sending a message. +First a message should have a destination, so the creator need a Configuration SUT to be selected this will represent the destination where you want the message to be send. +It is possible to use default local configuration to test simulators between them but to send to an external application, its configuration SUT must be added on the Configuration SUT browser. +Once the configuration SUT needed is set it can be selected with this dropdown on the Creator UI. + + + +Second the message to be sand must be indicated for that a template must be selected. +In the same idea as configurations. It is possible to use default template or add customs template with the template UI. +Once the needed template is set it can be selected with dropdown on the creator UI. + + + +Before using the creator be sure that the SUT Configuration name local_creator_configuration is correctly define. +For sending the receiving application Configuration must have been insert in the configuration list. +On the Creator GUI before sending, a Configuration Receiver and a Template must have been selected. +Once the message is sent the message history print messages who have been send and receive including ACK/NACK AND ZAM. 1 + + + +## Manager + +The manager is easier to use because it's just a server that can be started/stopped. +Before using the manager be sure that the SUT Configuration name local_manager_configuration is correctly define. +For replying ZAM the manager must have all required ZAM templates. See TEMPLATE section for details. +For replying ZAM the manger should also have the configuration SUT defined of the sender. Else the manager cannot know where to send ZAM ( because ACK with HAPI is automatic). +For starting the server manager just go to the Manger GUI and press the start button. +Once the server is started it will try parsing every incoming messages and reply ACK/NACK AND corresponding ZAM. + +## Default Import + +-DEFAULT_ANS_TEMPLATES +This variable can be set to true to have a group of messages example with a description that explain what they are use for. + +DEFAULT_ANS_SERVERS +This variable can be set to true to initialize default server of the application instead of created them manually \ No newline at end of file diff --git a/Wado-Errors-Manager/Makefile b/Wado-Errors-Manager/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..cbbc56c706e2a9d7c1b43999f7199c4c956757ea --- /dev/null +++ b/Wado-Errors-Manager/Makefile @@ -0,0 +1,3 @@ +SHELL := /bin/bash + +include ../Makefile.generic diff --git a/Wado-Errors-Manager/installation.md b/Wado-Errors-Manager/installation.md new file mode 100755 index 0000000000000000000000000000000000000000..8ac616be0050b3de50b3a570700f99a8c998d297 --- /dev/null +++ b/Wado-Errors-Manager/installation.md @@ -0,0 +1,34 @@ +--- +subtitle: Wado Errors Manager +title: Installation Manual +author: Romuald DUBOURG +date: 08/09/2023 +toolversion: 1.0.0 +function: Software Developer +version: 0.01 +status: Draft +reference: +customer: IHE-EUROPE +--- + +## Requirements +* Java virtual machine : JDK 17 + + +## Installation +First you should pull the project from: +https://gitlab.inria.fr/gazelle/private/industrialization/docker/wado-errors-manager.git +then you can use quarkus with : +`` +mvn clean package +cd wado-errors-manager-service +mvn docker:start +`` +Or +you can use the application with : +`` +mvn clean install +`` + + + diff --git a/Wado-Errors-Manager/media/example_request.png b/Wado-Errors-Manager/media/example_request.png new file mode 100644 index 0000000000000000000000000000000000000000..2a8bca8b1f45fa2b8890e34c2443749012dd452a Binary files /dev/null and b/Wado-Errors-Manager/media/example_request.png differ diff --git a/Wado-Errors-Manager/user.md b/Wado-Errors-Manager/user.md new file mode 100755 index 0000000000000000000000000000000000000000..325afb29096e3dfc7e96074ee24812a6dfbc282b --- /dev/null +++ b/Wado-Errors-Manager/user.md @@ -0,0 +1,44 @@ +--- +subtitle: Wado Errors Manager +title: Installation Manual +author: Romuald DUBOURG +date: 08/09/2023 +toolversion: 1.0.0 +function: Software Developer +version: 0.01 +status: Draft +reference: +customer: IHE-EUROPE +--- + +# Introduction +This simulator has no database and no ui. There is only an endpoint that return an error matching with the request sent. +This endpoint will only return endpoint don't expect any successful response. The goal here is to respond different kind of error to see if they are rightfully handle. + +## Usage +There is an imported file wado-errors-manager/wado-errors-manager-service/src/main/docker/imports/Mapping_OID-HTTP_Error.csv who define for a request which kind of error return. +There are 5 kind of error who can be return : +HTTP 403 Forbidden +HTTP 404 Not Found +HTTP 410 Gone +HTTP 502 Bad Gateway +HTTP 504 Gateway Timeout + +The endpoint on which you should send you Get request is define as : HOST/dcm4chee-arc/aets/DCM4CHEE/rs/studies/{studies}/series/{series}/instance/{instances} +where studies and series can be anything because only instance is important. + +The file Mapping_OID-HTTP_Error.csv will link an instance to an error, here is an example with Mapping_OID-HTTP_Error.csv as : + +OID (SeriesInstanceUID),Code d'erreur +1.2.3.4.5.6.7.8.9.1,HTTP 403 Forbidden + + +If I host my application on my computer I can send a get request with postman to http://localhost:8646/rest/wado/dcm4chee-arc/aets/DCM4CHEE/rs/studies/1.3.6.1.4.1.5962.99.1.3711725607.829148806.1687338938407.3.0/series/1.3.6.1.4.1.5962.99.1.3711725607.829148806.1687338938407.6.0/instance/1.2.3.4.5.6.7.8.9.1 + +The last part of the url( the instance) match with a line of the imported file ,so it will reply the matching error, here it's a 403 Forbidden error. + + + +In case of incorrect or non-matching instance the error reply is a bad request error. + +