S2S API for Orthopride Knee "Primo-implantation"

Last updated: 2024-02-22 23:36

Documentation for System 2 System API on Architecture 2.0

Description of the service

API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other.

In this case, the API is used to have the system of the Data Providers communicate with the system of HealthData.

The S2S API is a unified API that will allow clients (Data Providers) to submit DCDs data to HD4DP2.0 in fully automated way.

End point information (per DCD) + examples

APIResponseNotes
/api/organizationsList of organizations. Client
must select the right
organizationId
Current existing end-point is:
/api/installation/organizations

We’ll create this new end-point with a
different signature re-routing the call to
this existing one or we will refactor the
existing one to this new signature.
/api/dcd/menu/structure?
organization-id={organizationId}
List of projects of the given
organization, dcds of each project, dcdVersions of each dcd in a JSON format
Client can get dcdId and dcdVersionId
(optional) which are needed on following API calls.
/api/dcd/payload/definition? 
dcd-id={dcdId}; 
<optional>version={version}; 
<optional>language-id={languageId} 
List of all the fields of the form as well as their corresponding data-types that are allowed in the json data structure for the  Payload   This field names values are the key properties in the formIO json config form. When we implement this new api end-point, we need to parse the json content in order to get the key properties. Given these field keys, we’ll get each field definition from new API end-points helpers: 
 
/api/dcd/field?field-id={fieldId} 
/api/dcd/codelist?codelist-id={codelistId} 
 
These ones are described in the next table. 
 
<optional parameter> version={version} : If this parameter is not provided, latest one is assumed 
 
<optional parameter> language-id = {languageId} : language id for the code_list example results. If this parameter is not provided, default language will be English. Current permitted values: 
en: English 
nl: Dutch 
fr: French 
 
Client must build this json object as the payload data to be sent based on this list of fields, on the last api call 
/api/dcd/payload/example?dcd-id={dcdId}; 
<optional>version={version} 
Example of payload in JSON format Providing this API end-point in order to help the Client on the Payload build with an example 
 
<optional parameter> version={version} : If this parameter is not provided, latest one is assumed 
/api/dcd/payload/submit? 
organization-id={organizationId}; 
dcd-id={dcdId}; 
<optional>version={version}; 
<optional>data-src-type={dataSrcType}; 
 
POST Payload 
 
/api/dcd/payload/submit? 
organization-id={organizationId}; 
dcd-id={dcdId}; 
<optional>version={version}; 
<optional>data-src-type={dataSrcType}; 
 
POST Payload 
 
Some implementation tasks is needed in here in order to return the result info (either succeed or failed).  
Similar like the one in HDConnectProxyRestTemplate.postCsv method, and the CsvExecutionResult object build. 
 
<optional parameter> version={version} : If this parameter is not provided, latest one is assumed. 
 
<optional parameter> data-src-type={dataSrcType} :  
permitted values:  
API 
CSV 
If this parameter is not provided, default values is <HD4DP>. 
api/dcd/submit?organization-id={organizationtId};dcd-id={dcd-id};<optional>dcd-version-id={dcdVersionId};<optional>incl-submit-data={inclSubmitData}; <optional>incl-submit-results={inclSubmitResults}; 
GET method 
 
List of submitted dcds data and/or their corresponding business keys or validation errors.  
 
<optional parameter> dcd-version-id={dcdVersionId} : If this parameter is not provided, lastest one is assumed 
 
<optional parameter> incl-submit-data={inclSubmitData} : If this parameter is not provided, default values is <false> 
 
<optional parameter> incl-submit-results={inclSubmitResults} : If this parameter is not provided, default values is <true> 
 

HOW TO: Upload data using System 2 System

Steps To Upload data

1. IT services of data providers must setup their systems to be able to communicate with HD4DP v2 System 2 System API

A prerequisite to be able to use the Health Data's System 2 System API, is that the IT services of the hospitals must have the following in place before the systems can communicate:

  • The endpoint/URL is protected by credentials for which the support services need to be contacted.
  • End-to-end API process to submit DCD registrations in a fully automated manner.
  • Support for searching submitted DCD registrations.

2. Prepare the JSON file (example file in this section)

To send DCD registrations to Health Data, the file must be in a .json file format.

  • At the Data Provider's side, we must foresee a way to extract the JSON file from the electronic patient files and/or other local databases.
  • Author group, Author and Coauthor:
    • When the Author group, Author and Coauthor has been left out in the json file, the default Author group, Author and Coauthor will be used automatically.
    • When the desired Author group, Author and Coauthor are specified in the json file, the following fields TX_AUTHOR_GR, TX_AUTHOR and TX_COAUTHOR must be added to the json file with their values respectively.

      Example:
TX_AUTHOR_GR;TX_AUTHOR;TX_COAUTHOR
Test group;test@sciensano.be;test@sciensano.be

Note:
The Author group, Author and Coauthor must exist and are well configured at the back-end of the system. TX_AUTHOR_GR can be a string that identifies the Author group to which this Author belongs. Commonly, the first name and last name are used to identify the TX_AUTHOR_GROUP. Be sure to avoid leading and trailing spaces when entering the Author group value.

  • Similarly, to submit a draft, the only thing to add is the key STATUS (all upper case) with the value "draft" to the request, as described in Submission of drafts.
  • Adding separators to a NISS number:
    It is not necessary to necessary to add separators in a NISS number when uploading a file using S2S API. You can fill the NISS number out both with or without seperators. E.g.: 85.04.02-169.32 or 85040216932.

    Example:
This image has an empty alt attribute


  • Make sure the name of the JSON file has the correct format:
    HD_DCD_submjson_HDBPnumber_HDBPabbreviation_versionnumber_versionreleasedate

So for Orthopride knee - Primo-implantation the format would be: HD_DCD_submjson_HDBP0288_Orthopride_Knee_Primo_Implantation_01_20230504
Please note that this version includes editorial changes.

EXAMPLES:

Disclaimer: The example files above are only provided as a guideline and do not contain real life data.

3. Uploading the JSON File

  • The IT department of the Data Provider must provide a manner in their system to send the API requests containing DCD registrations in a JSON file format, the correct end-points must be addressed.
  • In this case the end-point to upload the json file will be:

4. Validate the JSON Upload

4.1 Validation of the S2S API Upload via the response:

Verify in the same way the request was sent, that the returned response is containing a valid Business key.

If a valid Business key has been provided, the registration upload via System 2 System API was succesful.

4.2 Validation of the System 2 System API via HD4DP 2.0:

Step 1: Open the web application HD4DP 2.0.

Step 2: Select the concerned organization in the dropdown list and click on Volgende (Next)

Step 3: Fill in the username and password, that has been provided by your IT Department or Healthdata team, and click on Log in to access the HD4DP 2.0 application.

Step 4: Navigate in the menu on the left-hand side panel to the desired study program:

Step 5: Check that the uploaded registration(s) is/are displayed in the overview table.