(NEW) 1. End-to-End process to submit DCD registrations

(NEW) 1. End-to-End process to submit DCD registrations

Dernière mise à jour: 2024-09-27 16:23

merged tables from

  • S2S API description on project level (technical user manual)
  • 1. E2E process description for submitting data
  • 2. API endpoint description for supporting

API endpoint overview

The baseURL to be used has to following built: https://<hd4dp_url>/proxy

API end-pointResponseAuthenticationNotes
{{baseURL}}/api/organizationsList of organizations. Client must select the right organizationId NoCurrent 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. 
{{baseURL}}/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. Nohttps://github.com/Sciensano-Healthdata/hd4-formio/blob/develop/dev/mock_menu_structure/menu-structure.json  
{{baseURL}}/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   YesThis 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 
{{baseURL}}/api/dcd/payload/example?dcd-id={dcdId}; 
<optional>version={version} 
Example of payload in JSON format YesProviding 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 
{{baseURL}}/api/dcd/payload/submit? organization-id={organizationId}; dcd-id={dcdId}; 
<optional>dcd-version-id={dcdVersionId}; 
<optional>data-src-type={dataSrcType};  

POST Payload  
Results info if succeed Error info if failed  YesSome 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> dcd-version-id={dcdVersionId} : 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>. 
{{baseURL}}/api/dcd/payload/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.   Yes<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>  

API end-pointResponseNotes
{{baseURL}}api/dcd/field? dcd-id={dcdId};  <optional>dcd-version-id={dcdVersionId}; <optional>included-codelist-values={inclCodelistValues}; <optional>field-name={fieldname}; <optional>language-id={languageId}  List of DCD fields definition, even with codelist values if the field is CODE field type. <optional parameter> dcd-version-id={dcdVersionId} : If this parameter is not provided, latest one is assumed  <optional parameter> included-codelist-values={inclCodelistValues}: permitted values:  true False  If this parameter is not provided, default value is <true>.  <optional parameter> field-name={fieldname}: A field name e.g: TX_AUTHOR_GR  <optional parameter>  {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  
{{baseURL}}/api/dcd/codelist? code-list-id={codelistId}; <optional>language={language}  List of values for the codelist of the given codelistId.(List<CodeListItem>) Checking and getting this info based on MDM -> CODE_LIST table and the relationed  tables (CODE, CODE_CONTENT, etc.)  See MDM – Field description – DB model diagram at the Attachment chapter for more details.  <optional parameter>  {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 
{{baseURL}}/api/dcd/menu-translations? dcd-id={dcdId}; <optional>dcd-version-id={dcdVersionId}; <optional>language-id={languageId}   <optional parameter> dcd-version-id={dcdVersionId} : If this parameter is not provided, lastest one is assumed  <optional parameter>  {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 
{{baseURL}}/api/dcd/field/translation? dcd-id={dcdId};  <optional>dcd-version-id={dcdVersionId}; <optional>language-id={languageId}; <optional>field-name={fieldName} List of fields translations for a  given dcdId in the specified languageId (English if it is not provided) in a JSON format. Optional fieldId parameter can provided just for getting this info but only for this fieldId. <optional parameter> dcd-version-id={dcdVersionId} : If this parameter is not provided, lastest one is assumed  <optional parameter>  {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  <optional parameter> field-name={fieldName}: A field name e.g: TX_AUTHOR_GR 
{{baseURL}}/api/externalreference/sadmi? notificationCode={notificationCode}; name={name}; reference={reference};  distributorName={distributorName}; manufacturerName={manufacturerName};  classificationCode={classificationCode}  List of Medical Device Types: NotificationCode Name Reference URL Distributor Manufacturer Classification State  Client must select the right info needed.