Skip to main content

IDM Services API

IDM JWT Token Creation

DEV - http://idmservices.dev.ainqaplatform.in/IDMJWTTokencreation

Usage

This API used to generate jwt token with the API key.

Note: This API key will be configured in both DB and Frontside

This below request contains payload plus checksum, This checksum was generated from frontside.

Process to generate checksum

  1. We have API key(“2d1ef604-cc39-42fd-8ba3-254bca7ee564”) configured in both frontend and backend side.

  2. So, we will generate checksum by combine the payload and api key in single json and then convert it into MD5 encryption string format and then send that string into the payload in the field Checksum.

Request

{ "roleid": "PractitionerRole/10110", "facilityid": "Organization/10002", "locationid": "LocationMaster/10242", "orgid": "Organization/10001", "enterpriseid": "Organization/10000", "practitionerid": "Practitioner/10044", "personid": "Person/10268", "CheckSum": "010bbc2e78e8cf89ccedbe57eaf36129" }

Sample response

{ "Code": 201, "Result": "eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJyb2xlaWQiOiJQcmFjdGl0aW9uZXJSb2xlLzEwMTEwIiwiZmFjaWxpdHlpZCI6Ik9yZ2FuaXphdGlvbi8xMDAwMiIsImxvY2F0aW9uaWQiOiJMb2NhdGlvbk1hc3Rlci8xMDI0MiIsIm9yZ2lkIjoiT3JnYW5pemF0aW9uLzEwMDAxIiwiZW50ZXJwcmlzZWlkIjoiT3JnYW5pemF0aW9uLzEwMDAwIiwicHJhY3RpdGlvbmVyaWQiOiJQcmFjdGl0aW9uZXIvMTAwNDQiLCJwZXJzb25pZCI6IlBlcnNvbi8xMDI2OCJ9." }

GetPermissionforRoles

DEV - http://idmservices.dev.ainqaplatform.in/GetPermissionforRoles

Usage

This API used to fetch all the permissions which was mapped to given role.

Request

{ "db_name": "primarycare", "roleid": "CodingMaster/11116" }

Sample response

Create Super Admin User

DEV - https://idmservices.dev.ainqaplatform.in/create_superadmin_user

Usage

This API used to create super admin user for both CLMM and Primarycare.

This API will create below documents in database

SuperAdmin userName - Superadminuser PermissionName - SUPER_ADMIN_ALL_ACCESS organizationName - Super_Admin_Organization LocationName - super admin user location LocationId - SUPER_ADMIN_LOCATION+UUID

After created super admin user in database, it will send a email with password update link to give email in the payload.

After update the password user can login to the application.

Dependencies of this API:

Before execute this API, we need to move the following collections with document.

  1. IDM_Repository
  2. CodeableconceptMaster
  3. CodingMaster

Request

{ "db_name":"primarycare", "metadataId":"04ecb73d-f048-44ce-8563-c9be015812dd", "email":"lesasi2952@weepm.com" }

Sample response

{ "Code": 201, "Result": "Super Admin user Created Successfully!" }

List IDM Repository

DEV - https://idmservices.dev.ainqaplatform.in/list_idmRepository

Usage

This API used to list all the records which was present in the IDM_Repository collection for given database

Request

{ "metadataid": "ac2a7e39-b70e-4f03-a56e-085e5850dce5", "db_name": "tdwandppqdb" }

Sample response

List IDM Repository Based On Given tenantid

DEV - https://idmservices.dev.ainqaplatform.in/v1/list_idmRepository

Usage

This API used to list all the records which was present in the IDM_Repository collection for given database

Request

{ "metadataid": "f44040b0-6a69-4749-9819-06c6d1ee8057", "db_name": "SurveillancePlatform", "tenantId": "client/10000", "parentrepoId": "IDM_Repository/10022" }

Sample response

Upsert Permission

DEV - https://idmservices.dev.ainqaplatform.in/upsert_permission

Usage

This API used to insert the records in the IDM_PermissionManagement collection for given database.

Request

[ { "db_name": "primarycare", "entity": "IDM_PermissionManagement", "is_metadata": true, "metadataId": "04ecb73d-f048-44ce-8563-c9be015812dd", "metadata_dbname": "ATP_Platform", "doc": { "permsnid": "54a57404-b528-42be-88f7-97dff397cf9b", "permsnname": "call center1", "status": true, "metadataid": "68ca97fa-a05a-414b-8506-fddc86c94c72", "clientid": "clients/301506036", "projectid": "projects/301511283", "permsn_repo": [ { "repoid": "IDM_Repository/10000", "permsnread": true, "permsnwrite": true, "permsnupdate": true, "permsndelete": true }, { "repoid": "IDM_Repository/10001", "permsnread": true, "permsnwrite": true, "permsnupdate": true, "permsndelete": true } ] } } ]

Sample response

{ "Code": 201, "Result": "Permission Added/Updated Successfully!" }

Add Role

DEV - https://idmservices.dev.ainqaplatform.in/add_role

Usage

This API used to insert the records in the IDM_PermissionRoleMapping collection for given database.

Request

[ { "db_name": "primarycare", "entity": "IDM_PermissionRoleMapping", "metadataId": "04ecb73d-f048-44ce-8563-c9be015812dd", "metadata_dbname": "ATP_Platform", "is_metadata": true, "doc": { "id": "string", "roleid": "string", "rolename": "string", "perrolepermsnid": [], "metadataid": "string", "clientid": "string", "projectid": "string" } } ]

Sample response

{ "Code": 201, "Result": "Role Added/Updated Successfully!" }

Upsert Repo

DEV - https://idmservices.dev.ainqaplatform.in/upsert_repo

Usage

This API used to insert the records in the IDM_Repository collection for given database.

Request

[ { "db_name": "primarycare", "entity": "IDM_Repository", "is_metadata": true, "metadataId": "04ecb73d-f048-44ce-8563-c9be015812dd", "metadata_dbname": "ATP_Platform", "doc": { "rep_id": "3ceb9bda-f928-4b72-89b7-7766f0b7e35a", "rep_type": "Task and Docment", "rep_name": "Medication Order", "parent_rep": "", "route_url": "", "is_active": true, "unique_id": "queue/10013", "createdby": "", "createddate": 1652331500, "updatedby": "", "updatedate": 1653372684, "activestatus": true, "metadataid": "08fbc6fb-2e13-4cd2-9e4a-be68ed717c9e", "clientid": "clients/285966752", "projectid": "projects/415219258" } } ]

Sample response

{ "Code": 201, "Result": "Repo Added/Updated Successfully!" }

Permission Soft Delete

DEV - https://idmservices.dev.ainqaplatform.in/permissionSoftDelete

Usage

This API used to delete the records in the IDM_PermissionManagement collection for given database.

Request

{ "db_name": "primarycare", "metadata_dbname":"ATP_Platform", "entity": "IDM_PermissionManagement", "filter": "IDM_PermissionManagement._key=='10001'" }

Sample response

{ "Code": 201, "Result": "permission Soft deleted Successfully!" }

Role Soft Delete

DEV - https://idmservices.dev.ainqaplatform.in/roleSoftDelete

Usage

This API used to delete the records in the IDM_PermissionRoleMapping collection for given database.

Request

{ "db_name": "primarycare", "metadata_dbname": "ATP_Platform", "entity": "IDM_PermissionRoleMapping", "filter": "IDM_PermissionRoleMapping._key=='10003'" }

Sample response

{ "Code": 201, "Result": "Role Soft deleted Successfully!" }

Get All Permission list

DEV - https://idmservices.dev.ainqaplatform.in/getAllPermissions

Usage

This API used to list all the records which was present in the IDM_PermissionManagement collection for given database.

Request

{ "db_name": "primarycare", "entity": "IDM_PermissionManagement" }

Sample response

Get Permission by ID

DEV - https://idmservices.dev.ainqaplatform.in/get_permissionById

Usage

This API used to list the records for the particular ID which was present in the IDM_PermissionManagement collection for given database.

Request

{ "db_name": "primarycare", "entity": "IDM_PermissionManagement", "_id": "IDM_PermissionManagement/10040" }

Sample response

Get All Roles

DEV - https://idmservices.dev.ainqaplatform.in/getAllRoles

Usage

This API used to list all the records which was present in the IDM_PermissionRoleMapping collection for given database.

Request

{ "db_name": "primarycare", "entity": "IDM_PermissionRoleMapping" }

Sample response

Get Role by ID

DEV - https://idmservices.dev.ainqaplatform.in/get_roleById

Usage

This API used to list the records for the particular ID which was present in the IDM_PermissionRoleMapping collection for given database.

Request

{ "db_name": "primarycare", "entity": "IDM_PermissionRoleMapping", "roleid": "CodingMaster/10196" }

Sample response

IDM Services Configuration

This document will explain the idm service configuration. We have placed all keycloack configuration in Arango Metadata database(ATP_Platform).

Configuration Setup

We have created the keycloack configuration in idm_configuration collection which was present in the ATP_Platform DB.

Sample screenshot for ipmo keyclock configuration document

Here, tenanId will be the clientId, If we want to create email in keycloack, we have to configure the keycloack auth information in idm_configuration collection.

The emailId will create based on the tenantId configured in the idm_configuration collection.

KeyCloack API

Login KeyCloack User

DEV - https://idmservices.dev.ainqaplatform.in/login_keycloackuser

Usage

This API used to check the given username was available or not in keycloack.

RequestBody

{ "username":"devtest003@mail.com", "password":"pass001" }

Request Header

tenantid: 1e4c8e40-a7f8-46de-9ac7-cedde81aa046

Note: pass clientId in tenantid field.

Sample response

Create User In KeyCloack

DEV - https://idmservices.dev.ainqaplatform.in/create_keycloack_user

Usage

This API used to create the given email to in keycloack.

The keycloack credentials will taken using the tenantId

RequestBody

{ "email": "devtest003@mail.com", "firstName": "dev", "lastName": "test" }

Request Header

tenantid: 1e4c8e40-a7f8-46de-9ac7-cedde81aa046

Note: pass clientId in tenantid field.

Sample response

Reset User Password In KeyCloack

DEV - https://idmservices.dev.ainqaplatform.in/reset_keycloackuser

Usage

This API used to reset password for the given email to in keycloack.

The keycloack credentials will taken using the tenantId.

RequestBody

{ "email":"devtest003@mail.com", "password":"pass001" }

Request Header

tenantid: 1e4c8e40-a7f8-46de-9ac7-cedde81aa046

Note: pass clientId in tenantid field.

Sample response

Delete User In KeyCloack

DEV - https://idmservices.dev.ainqaplatform.in/delete_keycloackuser

Usage

This API used to delete user for the given keycloackId.

The keycloack credentials will taken using the tenantId.

RequestBody

{ "keycloackId": "8a21ce91-107e-4689-88b7-77d6246b5793" }

Request Header

tenantid: 1e4c8e40-a7f8-46de-9ac7-cedde81aa046

Note: pass clientId in tenantid field.

Sample response

Person Soft Delete

DEV - https://idmservices.dev.ainqaplatform.in/person_soft_delete

Usage

This API used to soft delete the specific person records in the Person collection in given database.

RequestBody

{ "db_name": "eambulance", "entity": "Person", "metadata_dbname": "ATP_Platform", "metadataid": "37940c4f-0f66-4e18-b4c6-e402238b8935", "filter": "Person._key=='10019'" }

Request Header

tenantid: 04d7631b-3216-4a40-9821-b997b2ce0031

Note: pass clientId in tenantid field.

Sample response

{ "Code": 201, "Result": "Person soft deleted Successfully!" }