Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начните работу с клиентской библиотекой деидентификации данных о здоровье Azure для .NET, чтобы деидентифицировать ваши медицинские данные. Выполните приведенные здесь действия, чтобы установить пакет и протестировать пример кода для выполнения базовых задач.
Справочная документация по | APIИсходный код | библиотекиПакет (NuGet) | Дополнительные примеры на GitHub
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Учетная запись хранения Azure (только для задач рабочего процесса).
Настройка
Создание службы отмены идентификации
Служба деидентификации предоставляет URL-адрес конечной точки. Этот URL-адрес конечной точки можно использовать в качестве REST API или с пакетом SDK.
Установка интерфейса командной строки Azure
Создать ресурс службы деидентификации
REGION="<Region>" RESOURCE_GROUP_NAME="<ResourceGroupName>" DEID_SERVICE_NAME="<NewDeidServiceName>" az resource create -g $RESOURCE_GROUP_NAME -n $DEID_SERVICE_NAME --resource-type microsoft.healthdataaiservices/deidservices --is-full-object -p "{\"identity\":{\"type\":\"SystemAssigned\"},\"properties\":{},\"location\":\"$REGION\"}"
Назначение ролей RBAC для службы деидентификации
Нам нужно назначить роль нашей службе деидентификации, чтобы у нас были разрешения на выполнение действий в этом базовом руководстве.
Поскольку мы используем конечные точки в режиме реального времени и задания, мы назначаем роли DeID Data Owner.
Чтобы узнать, как назначить эту роль для службы отмены идентификации, ознакомьтесь с материалом: «Управление доступом к службе отмены идентификации с помощью управления доступом на основе ролей Azure (RBAC) в службах данных Azure Health Data Services»
Создание учетной записи хранения Azure
Установка интерфейса командной строки Azure
Создание учетной записи хранения Azure
STORAGE_ACCOUNT_NAME="<NewStorageAccountName>" az storage account create --name $STORAGE_ACCOUNT_NAME --resource-group $RESOURCE_GROUP_NAME --location $REGION
Авторизация службы отмены идентификации в учетной записи хранения Azure
Предоставьте службе де-идентификации доступ к вашему аккаунту хранения
STORAGE_ACCOUNT_ID=$(az storage account show --name $STORAGE_ACCOUNT_NAME --resource-group $RESOURCE_GROUP_NAME --query id --output tsv) DEID_SERVICE_PRINCIPAL_ID=$(az resource show -n $DEID_SERVICE_NAME -g $RESOURCE_GROUP_NAME --resource-type microsoft.healthdataaiservices/deidservices --query identity.principalId --output tsv) az role assignment create --assignee $DEID_SERVICE_PRINCIPAL_ID --role "Storage Blob Data Contributor" --scope $STORAGE_ACCOUNT_ID
Установите пакет
Клиентская библиотека доступна через NuGet в качестве Azure.Health.Deidentification пакета.
Установка пакета
dotnet add package Azure.Health.DeidentificationКроме того, установите пакет удостоверений Azure, если он еще не установлен.
dotnet add package Azure.Identity
Объектная модель
- DeidentificationClient отвечает за обмен данными между пакетом SDK и конечной точкой службы деидентации.
- DeidentificationContent используется для деидентации строки.
- DeidentificationJob используется для создания заданий для отмены идентификации документов в учетной записи хранения Azure.
- PhiEntity — это диапазон и категория одной сущности PHI, обнаруженной с помощью тега OperationType.
Примеры кода
- Создание клиента отмены идентификации
- Отмена идентификации строки
- Тег строки
- Создание задания на деидентификацию
- Узнать состояние задания деидентификации
Создание клиента отмены идентификации
Прежде чем создать клиент, необходимо найти URL-адрес конечной точки службы отмены идентификации.
URL-адрес конечной точки можно найти с помощью Azure CLI:
az resource show -n $DEID_SERVICE_NAME -g $RESOURCE_GROUP_NAME --resource-type microsoft.healthdataaiservices/deidservices --query properties.serviceUrl --output tsv
Затем можно создать клиент с помощью этого значения.
using Azure.Identity;
using Azure.Health.Deidentification;
string serviceEndpoint = "https://example123.api.deid.azure.com";
DeidentificationClient client = new(
new Uri(serviceEndpoint),
new DefaultAzureCredential()
);
Отмена идентификации строки
Эта функция позволяет деидентифицировать любую строку, которая имеется в памяти.
DeidentificationContent content = new("SSN: 123-04-5678");
DeidentificationResult result = await client.DeidentifyAsync(content);
Тег строки
Маркировку можно осуществлять таким же образом, а деперсонификацию — изменением OperationType.
DeidentificationContent content = new("SSN: 123-04-5678");
content.Operation = OperationType.Tag;
DeidentificationResult result = await client.DeidentifyAsync(content);
Задание по обезличиванию данных
Эта функция позволяет деидентифицировать все файлы, отфильтрованные с помощью префикса, в учетной записи хранения BLOB-объектов Azure.
Чтобы создать задание, нам нужен URL-адрес конечной точки BLOB-объекта учетной записи хранения Azure.
az resource show -n $STORAGE_ACCOUNT_NAME -g $RESOURCE_GROUP_NAME --resource-type Microsoft.Storage/storageAccounts --query properties.primaryEndpoints.blob --output tsv
Теперь можно создать задание. В этом примере используется folder1/ префикс. Задание дедентифицирует любой документ, соответствующий этому префиксу, и записывает деидентированную версию с output_files/ префиксом.
using Azure;
Uri storageAccountContainerUri = new("https://exampleStorageAccount.blob.core.windows.net/containerName");
DeidentificationJob job = new(
new SourceStorageLocation(storageAccountContainerUri, "folder1/"),
new TargetStorageLocation(storageAccountContainerUri, "output_files/")
);
job = client.CreateJob(WaitUntil.Started, "my-job-1", job).Value;
Получение состояния задания отмены идентификации
После создания задания можно просмотреть состояние и другие сведения о задании.
DeidentificationJob job = client.GetJob("my-job-1").Value;
Выполнение кода
После обновления кода в проекте его можно запустить с помощью:
dotnet run
Очистите ресурсы
Удаление службы деидентификации
az resource delete -n $DEID_SERVICE_NAME -g $RESOURCE_GROUP_NAME --resource-type microsoft.healthdataaiservices/deidservices
Удаление учетной записи хранения Azure
az resource show -n $STORAGE_ACCOUNT_NAME -g $RESOURCE_GROUP_NAME --resource-type Microsoft.Storage/storageAccounts
Удаление назначения роли
az role assignment delete --assignee $DEID_SERVICE_PRINCIPAL_ID --role "Storage Blob Data Contributor" --scope $STORAGE_ACCOUNT_ID
Устранение неполадок
Не удается получить доступ к источнику или целевому хранилищу
Убедитесь, что предоставлены разрешения, а управляемая идентичность для службы деидентификации правильно настроена.
См. статью "Авторизация службы отмены идентификации" в учетной записи хранения Azure
Сбой задания с состоянием PartialFailed
Вы можете использовать функцию GetJobDocuments на DeidentificationClient для просмотра сообщений об ошибках по каждому файлу.
См . пример
Дальнейшие действия
В этом вводном руководстве вы узнали:
- Как создать службу отмены идентификации и назначить роль в учетной записи хранения.
- Как создать клиента для деидентификации
- Как обезличивать строки и создавать задачи для обработки документов в хранилище.