azure-sdk-for-js/sdk/healthdataaiservices/azure-health-deidentification
Jeremy Meng a28e8f0795 [EngSys] move to vendored version of cross-env via dev-tool
***NO_CI***

- apply the transformation

- update samples' README
2024-11-02 00:48:06 +00:00
..
.tshy Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
config Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
documentation/images Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
review [eslint-plugin] add rule "@typescript-eslint/consistent-type-imports": "warn" 2024-10-30 15:48:52 +00:00
samples/v1-beta [EngSys] move to vendored version of cross-env via dev-tool 2024-11-02 00:48:06 +00:00
samples-dev [EngSys] standardize OSS copyright header 2024-08-27 13:01:38 -07:00
src [eslint-plugin] add rule "@typescript-eslint/consistent-type-imports": "warn" 2024-10-30 15:48:52 +00:00
test/public [eslint-plugin] add rule "@typescript-eslint/consistent-type-imports": "warn" 2024-10-30 15:48:52 +00:00
CHANGELOG.md Update CHANGELOG.md Healthdataaiservices (#30525) 2024-07-24 16:32:30 -07:00
LICENSE Renaming client because autorest in js isn't respecting the @client tag (#30534) 2024-07-25 15:58:24 -07:00
README.md Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
api-extractor.json Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
assets.json Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
eslint.config.mjs Apply automated migration to eslint flat config 2024-08-22 11:43:19 -07:00
package.json [EngSys] remove "audit" NPM script and it's related file 2024-10-25 19:28:06 +00:00
sample.env Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
test-resources-post.ps1 Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
test-resources.bicep Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
tests.yml Switch to TME test subscription (#31329) 2024-10-14 18:19:12 -07:00
tsconfig.browser.config.json Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
tsconfig.json Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
tsdoc.json Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
tsp-location.yaml Adding Javascript SDK for health deid service (#30049) 2024-07-24 11:38:47 -07:00
vitest.browser.config.ts [EngSys] standardize OSS copyright header 2024-08-27 13:01:38 -07:00
vitest.config.ts [EngSys] standardize OSS copyright header 2024-08-27 13:01:38 -07:00

README.md

Azure Deidentification REST client library for JavaScript

@azure-rest/health-deidentification is a managed service that enables users to tag, redact, or surrogate health data.

Key links:

Getting started

Currently supported environments

  • LTS versions of Node.js

Prerequisites

Install the @azure-rest/health-deidentification package

Install the Azure Deidentification REST client REST client library for JavaScript with npm:

npm install @azure-rest/health-deidentification

Create and authenticate a DeidentificationClient

To use an Azure Active Directory (AAD) token credential, provide an instance of the desired credential type obtained from the @azure/identity library.

To authenticate with AAD, you must first npm install @azure/identity

After setup, you can choose which type of credential from @azure/identity to use. As an example, DefaultAzureCredential can be used to authenticate the client.

Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

Pull ServiceUrl from your created Deidentification Service.

Service Url Location

Basic code snippet to create your Deidentification Client and Deidentify a string.

import createClient, {
  DeidentificationContent,
  isUnexpected,
} from "@azure-rest/health-deidentification";
import { DefaultAzureCredential } from "@azure/identity";
import * as dotenv from "dotenv";
dotenv.config();

const credential = new DefaultAzureCredential();
const serviceEndpoint =
  process.env["DEID_SERVICE_ENDPOINT"] || "https://example.api.cac001.deid.azure.com";
const client = createClient(serviceEndpoint, credential);

const content: DeidentificationContent = {
  inputText: "Hello John!"
};

const response = await client.path("/deid").post({ body: content });

if (isUnexpected(response)) {
  throw response.body.error;
}

console.log(response.body.outputText); // Hello, Tom!

Key concept

Operation Modes:

  • Tag: Will return a structure of offset and length with the PHI category of the related text spans.
  • Redact: Will return output text with placeholder stubbed text. ex. [name]
  • Surrogate: Will return output text with synthetic replacements.
    • My name is John Smith
    • My name is Tom Jones

Troubleshooting

Logging

Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the AZURE_LOG_LEVEL environment variable to info. Alternatively, logging can be enabled at runtime by calling setLogLevel in the @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

For more detailed instructions on how to enable logs, you can look at the @azure/logger package docs.