# Generate Psuedonymized data - De-Identification, Anonymization, Redaction Toolkit Services v1.0.0-ballot

* [**Table of Contents**](toc.md)
* [**Artifacts Summary**](artifacts.md)
* **Generate Psuedonymized data**

## OperationDefinition: Generate Psuedonymized data 

| | | |
| :--- | :--- | :--- |
| *Official URL*:http://hl7.org/fhir/us/darts/OperationDefinition/psuedonymize | *Version*:1.0.0-ballot | |
| * Standards status: *[Trial-use](http://hl7.org/fhir/R4/versions.html#std-process) | [Maturity Level](http://hl7.org/fhir/versions.html#maturity): 2 | *Computable Name*:Psuedonymize |

 
Generates psuedonymized data from identifiable data. The algorithm to be used for psuedonymization is left to the DARTS service provider. Errors during the execution of the operation can be returned as OperationOutcome per the FHIR spec as a return parameter. 

All canonical (Official) URLs will be changed in the future and are not available currently on the web.

### Introduction

This operation psuedonymizes data containing PHI/PII.

* The operation takes a key and algorithm to be used for psuedonymization.
* The operation takes a [List of Resource URLs](StructureDefinition-darts-operation-data-urls-parameter.md) that points to identifiable data in NDJSON format and will return back a set of links to NDJSON files that contains the psuedonymized data.
* The operation also takes a salt or key to be used for creating the psuedonym

*The algorithm to be used for psuedonymization can be specified by the consumer of the service. Examples of algorithms that can be used are SHA256, RSA384.

* The operation uses the FHIR Async operation pattern documented in the [FHIR Async Specification](https://hl7.org/fhir/R4/async.html)



## Resource Content

```json
{
  "resourceType" : "OperationDefinition",
  "id" : "psuedonymize",
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode" : "cgp"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger" : 2,
    "_valueInteger" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org/fhir/us/darts/ImplementationGuide/darts"
      }]
    }
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "trial-use",
    "_valueCode" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org/fhir/us/darts/ImplementationGuide/darts"
      }]
    }
  }],
  "url" : "http://hl7.org/fhir/us/darts/OperationDefinition/psuedonymize",
  "version" : "1.0.0-ballot",
  "name" : "Psuedonymize",
  "title" : "Generate Psuedonymized data",
  "status" : "active",
  "kind" : "operation",
  "date" : "2026-03-27T21:48:56+10:00",
  "publisher" : "HL7 International / Cross-Group Projects",
  "contact" : [{
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/cgp"
    }]
  }],
  "description" : "Generates psuedonymized data from identifiable data. The algorithm to be used for psuedonymization is left to the DARTS service provider. Errors during the execution of the operation can be returned as OperationOutcome per the FHIR spec as a return parameter.",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "urn:iso:std:iso:3166",
      "code" : "US"
    }]
  }],
  "code" : "psuedonymize",
  "system" : true,
  "type" : false,
  "instance" : false,
  "parameter" : [{
    "name" : "key",
    "use" : "in",
    "min" : 1,
    "max" : "1",
    "documentation" : "A key that can be used for creating the psuedonym.",
    "type" : "string"
  },
  {
    "name" : "algorithm",
    "use" : "in",
    "min" : 1,
    "max" : "1",
    "documentation" : "The algorithm to be used for creating the psuedonym such as SHA256.",
    "type" : "string"
  },
  {
    "name" : "identifiableDataFileUrls",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Urls of the Input Files represented as Parameters, with the type of Resource and the URL to the NDJSON data.",
    "type" : "Parameters"
  },
  {
    "name" : "identifiableData",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Bundle containing identifiable data for one or more patients.",
    "type" : "Bundle"
  },
  {
    "name" : "psuedonymizedFileUrls",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "documentation" : "Upon successful psuedonymization, the psuedonymized file Urls is returned back from the service.",
    "type" : "Parameters"
  },
  {
    "name" : "psuedonymizedData",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "documentation" : "Upon successful psuedonymization, the psuedonymized data is returned back from the service. This output would be returned when the input is a bundle only.",
    "type" : "Bundle"
  }]
}

```
