API for Hip "Primo-implantation"

API for Hip "Primo-implantation"

Last updated: 2022-09-18 12:22

As we describe in article "End-to-End process to submit DCD registrations", we are going to detail in an example what steps one should follow in order to submit a DCD for Orthopride Hip "Primo-implantation".

User also must know what the host URL is for targeting these endpoint calls.

Rest endpoint calls

Getting organizations to get organization id

Description
We need to know for further endpoint calls, the id of the organization where we are going to submit our DCD to
Example
EndPoint Type
/api/organizations GET
Result
[
   { "id": 9,
     "identificationValue": "71063584",
     "name": "Multicenter Child 2",
     "loginMethods": [ "USERNAME_PASSWORD", "EID" ]
   },
 
 { "id": 11,
     "identificationValue": "71089914",
     "name": "Multicenter Child 1",
     "loginMethods": [ "USERNAME_PASSWORD", "EID" ]
   },
   { "id": 5572,
     "identificationValue": "71001129",
     "name": "Multicenter Main",
     "loginMethods": [ "USERNAME_PASSWORD", "EID" ]
   },
   { "id": 8429,
     "identificationValue": "71001129",
     "name": "Ziekenhuis Oost Limburg (ACC)",
     "loginMethods": [ "USERNAME_PASSWORD", "EID" ]
   } ]  

Getting menu structure info to get dcd and version id

Description
We need to know for further endpoint calls, the id of the DCD we are going to submit and its version
Example
EndPoint Type
/api/dcd/menu/structure?organization-id=8429 GET
Result
[
  {
  . . .
  . . .
  . . .
    "id": 7,
    "key": "zephyr_ortho_hip_project",
    "projects": [
      {
        "id": 9,
        "key": "zephyr_ortho_megapro_project",
        "dcds": [
          {
            "id": 24,
            "key": "zephyr_ortho_megapro_t1_dcd",
            "dcdVersions": [
              {
                "id": 24,
                "version": 1,
                "supportsEN": true,
                "supportsFR": true,
                "supportsNL": true
              }
            ],
            "menuIndex": 1
          },
          {
            "id": 25,
            "key": "zephyr_ortho_megapro_t2_dcd",
            "dcdVersions": [
              {
                "id": 25,
                "version": 1,
                "supportsEN": true,
                "supportsFR": true,
                "supportsNL": true
              }
            ],
            "menuIndex": 2
          },
          {
            "id": 26,
            "key": "zephyr_ortho_megapro_tr_dcd",
            "dcdVersions": [
              {
                "id": 26,
 
              "version": 1,
                "supportsEN": true,
                "supportsFR": true,
                "supportsNL": true
              }
            ],
            "menuIndex": 3
          }
        ],
        "menuIndex": 1
      }
    ],
    "menuIndex": 1
  },
  . . .
  . . .
  . . .
  ]  

Get DCD definition to know what fields, data types and values are allowed

Description
As a helper for our purpose, we could get the definition of the DCD, this is, fields, data type of those fields, code list values permitted on those code list fields type, etc.
Example
EndPoint Type
/api/dcd/payload/definition?dcd-id=24&version=1 GET
Result
[
   {
    "dcdFields": [
      . . .
      {
        "name": "CD_COMPLIC_ACUT_EXCB",
        "fieldType": "CODE",
        "codeListId": 33,
        "fieldId": null,
        "dataType": "number",
        "codeListValues": [
          {
            "id": 67768,
            "index": 1,
            "code": "195951007",
            "label": "Yes"
          },
          {
            "id": 67769,
            "index": 2,
            "code": "0",
            "label": "No"
          }
        ],
        "nameTranslation": "Acute exacerbatie COPD",
        "dataFormat": null
      },
      . . .
      {
        "name": "CD_SAMA",
        "fieldType": "CODE",
        "codeListId": 9,
        "fieldId": null,
        "dataType": "number",
        "codeListValues": [
          {
            "id": 4516,
            "index": 1,
            "code": "1",
            "label": "Yes"
          },
          {
            "id": 4515,
            "index": 2,
            "code": "0",
            "label": "No"
          }
        ],
        "nameTranslation": "Kortwerkend anticholinergicum (SAMA)",
        "dataFormat": null
      },
      . . .
      {
        "name": "D_ACUT_EXCB_START",
        "fieldType": "DATE",
        "codeListId": 0,
        "fieldId": null,
        "dataType": "timestamp",
        "codeListValues": [],
        "nameTranslation": "Problem start date",
        "dataFormat": null
      },
      . . .
      {
        "name": "TX_PAT_FIRST_NAM",
        "fieldType": "FREE_TEXT",
        "codeListId": 0,
        "fieldId": null,
        "dataType": "string",
        "codeListValues": [],
        "nameTranslation": "ss sdfg sdfg sdfg sdfg sdfg sdfg sdfg sdfg sdfg.",
        "dataFormat": null
      },
      . . .
    ]
  }  

Get a DCD payload example with dummy data

Description
As a helper for our purpose, we could get an example with dummy data values of the DCD payload to be submitted
Example
EndPoint Type
/api/dcd/payload/example?dcd-id=24 GET
Result
[
   . . .
   "CD_COMPLIC_ACUT_EXCB": 67768,
   . . .
   "CD_SAMA": 4516,
   . . .
   "D_ACUT_EXCB_START": "12/09/2022",
   . . .
   "TX_PAT_FIRST_NAM": "MBvMuGzipFYQZzYAOOUr",
   . . .
]  

Submit a DCD payload

Description
We submit the DCD payload for its registratrion
Example
EndPoint Type
/api/dcd/payload/submit?organization-id=8429&dcd-id=24&version=1 GET
Result
[
   {
      "TX_AUTHOR_GR": "Test group",
      "TX_AUTHOR": "test@sciensano.be",
      "TX_COAUTHOR": "test@sciensano.be",
 
      "TX_REGN_CD": "601.22.000001.00",
      "CD_NIC_TPE": "67809",
      "CD_BILL": "67826",
      . . .
      "CD_COMPLIC_ACUT_EXCB": "67769",
      . . .
      "CD_SAMA": "4515",
      . . .
      "D_ACUT_EXCB_START": null,
      . . .
      "TX_PAT_FIRST_NAM": "BERNARD",
      . . .
   }
]