# DAPL De-identified Patient - De-identified, Anonymized FHIR Profiles Library v1.0.0-ballot

* [**Table of Contents**](toc.md)
* [**Artifacts Summary**](artifacts.md)
* **DAPL De-identified Patient**

## Resource Profile: DAPL De-identified Patient 

| | | |
| :--- | :--- | :--- |
| *Official URL*:http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-deidentified-patient | *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*:DAPLDeIdentifiedPatient |

 
This Patient profile represents a deidentified Patient 

### Introduction

This profile is used to represent de-identified patient information. The de-identification process has to remove all data elements not explicitly identified as "SUPPORTED" in the profile.

The [HHS De-identification Guidance](https://www.hhs.gov/sites/default/files/ocr/privacy/hipaa/understanding/coveredentities/De-identification/hhs_deid_guidance.pdf) is to be followed to ensure appropriate level of de-identification is performed.

According to the HHS guidance the following data elements have to be removed or de-identified

* Patient Name
* Address that is more specific than a state
* All dates should not have a precision of more than the year. This means month and day cannot be included.
* Demographics including birthdate, deceased indicator
* Patient contact details such as telephone numbers, fax, email, URLs,
* Patient personal identifiers such as SSN, Drivers License,
* Business identifiers such as MRNs, certificate numbers, Account numbers
* Biometrics such as fingerprints, photos

In FHIR Resources, text elements which provide human readable information to the providers may be generated using programs and tools from the data present within the resource. For e.g a Patient resource text element may contain information such as the full name, Gender and Date of Birth. This type of information will enable identification of the individuals. In order to avoid inadvertent revealing of PII/PHI, text elements cannot be included in the De-identified FHIR resource and the submission will be rejected when text elements are present by the validation process.

**Age Computation**

The Data Submitter has to compute the age based as of December 31st of the previous year for most use cases related to federal reporting such as UDS+.

**Id Generation**

The original patient resource id should not be included in the De-identified patient instance. Instead a new id should be created and provided as part of the FHIR resource. This Data Submitter should be capable of using the generated id to relink the data to the original patient. All resource references to the Patient submitted as part of the data exchange should refer to newly generated de-identified id.

**Usage of Data Absent Reason Extension**

For federal reporting, the patient data is de-identified and in the process zip codes may be masked to a value of "00000". In these cases the dataAbsentReason extension must be added to identify that the data is "masked". If the zip code is not known, a value of "00000" must be sent with a dataAbsentReason of "unknown". If the zip code is outside the country, a value of "00000" must be sent with a dataAbsentReason of "unsupported".

**Sex Additional Constraints**

NullFlavors may not allowed for sex reporting in some use cases such as UDS+ even though they are allowed in US Core.

**Race and Ethnicity Additional Constraints**

US Core allows Race and Ethnicity to be described as only text or rolled up to the OMB categories, however federal agencies may mandate reporting detailed race and ethnicity.

**Sexual Orientation Additional Constraints**

Health Centers which have not implemented the methods to capture Sexual Orientation, should use the null flavor coded value of "NASK" specifically.

**Gender Identity Additional Constraints**

Health Centers which have not implemented the methods to capture Gender Identity, should use the null flavor coded value of "NASK" specifically.

**Examples**

Examples of identifiable data and its corresponding de-identifiable data are present in the [FHIR Artifacts examples](artifacts.md)

**Usages:**

* Refer to this Profile: [DAPL Clinical Result Observation](StructureDefinition-dapl-clinical-result-observation.md), [DAPL Coverage](StructureDefinition-dapl-coverage.md), [DAPL De-identified AdverseEvent](StructureDefinition-dapl-deidentified-adverseevent.md), [DAPL De-identified AllergyIntolerance](StructureDefinition-dapl-deidentified-allergyintolerance.md)... Show 10 more, [DAPL De-identified Encounter](StructureDefinition-dapl-deidentified-encounter.md), [DAPL De-identified RelatedPerson](StructureDefinition-dapl-deidentified-relatedperson.md), [DAPL Diagnosis](StructureDefinition-dapl-diagnosis.md), [DAPL Immunization](StructureDefinition-dapl-immunization.md), [DAPL Income Observation](StructureDefinition-dapl-income-observation.md), [DAPL Lab Observation](StructureDefinition-dapl-lab-observation.md), [DAPL MedicationRequest](StructureDefinition-dapl-medicationrequest.md), [DAPL MedicationStatement](StructureDefinition-dapl-medicationstatement.md), [DAPL Procedure](StructureDefinition-dapl-procedure.md) and [DAPL ServiceRequest](StructureDefinition-dapl-servicerequest.md)
* Examples for this Profile: [Patient/de-identified-age89-example](Patient-de-identified-age89-example.md), [Patient/de-identified-example](Patient-de-identified-example.md) and [Patient/de-identified-smallpop-example](Patient-de-identified-smallpop-example.md)

You can also check for [usages in the FHIR IG Statistics](https://packages2.fhir.org/xig/hl7.fhir.us.dapl|current/StructureDefinition/dapl-deidentified-patient)

### Formal Views of Profile Content

 [Description of Profiles, Differentials, Snapshots and how the different presentations work](http://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#structure-definitions). 

 

Other representations of profile: [CSV](StructureDefinition-dapl-deidentified-patient.csv), [Excel](StructureDefinition-dapl-deidentified-patient.xlsx), [Schematron](StructureDefinition-dapl-deidentified-patient.sch) 



## Resource Content

```json
{
  "resourceType" : "StructureDefinition",
  "id" : "dapl-deidentified-patient",
  "meta" : {
    "versionId" : "1",
    "lastUpdated" : "2026-03-27T02:03:11.293+00:00"
  },
  "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/dapl/ImplementationGuide/dapl"
      }]
    }
  },
  {
    "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/dapl/ImplementationGuide/dapl"
      }]
    }
  }],
  "url" : "http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-deidentified-patient",
  "version" : "1.0.0-ballot",
  "name" : "DAPLDeIdentifiedPatient",
  "title" : "DAPL De-identified Patient",
  "status" : "active",
  "experimental" : false,
  "date" : "2026-05-08T05:01:52+10:00",
  "publisher" : "HL7 International / Cross-Group Projects",
  "contact" : [{
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/cgp"
    }]
  }],
  "description" : "This Patient profile represents a deidentified Patient",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "urn:iso:std:iso:3166",
      "code" : "US"
    }]
  }],
  "fhirVersion" : "4.0.1",
  "mapping" : [{
    "identity" : "rim",
    "uri" : "http://hl7.org/v3",
    "name" : "RIM Mapping"
  },
  {
    "identity" : "cda",
    "uri" : "http://hl7.org/v3/cda",
    "name" : "CDA (R2)"
  },
  {
    "identity" : "w5",
    "uri" : "http://hl7.org/fhir/fivews",
    "name" : "FiveWs Pattern Mapping"
  },
  {
    "identity" : "v2",
    "uri" : "http://hl7.org/v2",
    "name" : "HL7 v2 Mapping"
  },
  {
    "identity" : "loinc",
    "uri" : "http://loinc.org",
    "name" : "LOINC code for the element"
  }],
  "kind" : "resource",
  "abstract" : false,
  "type" : "Patient",
  "baseDefinition" : "http://hl7.org/fhir/StructureDefinition/Patient",
  "derivation" : "constraint",
  "differential" : {
    "element" : [{
      "id" : "Patient",
      "path" : "Patient",
      "short" : "DAPL Deidentified Patient",
      "definition" : "The profile establishes the core elements, extensions, vocabularies and value sets for representing deidentified patients"
    },
    {
      "id" : "Patient.id",
      "path" : "Patient.id",
      "short" : "The patient identifier generated by DARTS deidentification service",
      "definition" : "DAPL patient identifier.",
      "mustSupport" : true
    },
    {
      "id" : "Patient.text",
      "path" : "Patient.text",
      "short" : "Cannot include any text in the resource as part of the deidentified data.",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.contained",
      "path" : "Patient.contained",
      "short" : "Cannot include any contained resources in the resource as part of the deidentified data.",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.extension:us-core-race",
      "path" : "Patient.extension",
      "sliceName" : "us-core-race",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-race"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.extension:dapl-ethnicty",
      "path" : "Patient.extension",
      "sliceName" : "dapl-ethnicty",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-ethnicity-extension"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.extension:dapl-sex",
      "path" : "Patient.extension",
      "sliceName" : "dapl-sex",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-sex-extension"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.extension:dapl-age-extension",
      "path" : "Patient.extension",
      "sliceName" : "dapl-age-extension",
      "short" : "Age of the Patient computed using birthDate and the reporting period reference",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/dapl/StructureDefinition/dapl-age-extension"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.identifier",
      "path" : "Patient.identifier",
      "short" : "Cannot include any identifier in the resource as part of the deidentified data.",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.name",
      "path" : "Patient.name",
      "short" : "Cannot include any name in the resource as part of the deidentified data.",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.telecom",
      "path" : "Patient.telecom",
      "short" : "Cannot include any telecom information in the resource as part of the deidentified data.",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.birthDate",
      "path" : "Patient.birthDate",
      "short" : "Cannot include any date of birth information in the resource as part of the deidentified data.",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.deceased[x]",
      "path" : "Patient.deceased[x]",
      "short" : "Indicates if the Patient is deceased, it can be either a Boolean or a Date with a precision of year only.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support",
          "valueBoolean" : true
        }],
        "code" : "dateTime"
      },
      {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support",
          "valueBoolean" : true
        }],
        "code" : "boolean"
      }],
      "constraint" : [{
        "key" : "dapl-date-1",
        "severity" : "error",
        "human" : "All dateTime data elements should be truncated to a year only for de-identified resources.",
        "expression" : "$this is dateTime implies $this.toString().length() = 4"
      },
      {
        "key" : "dapl-date-1a",
        "severity" : "error",
        "human" : "All dateTime data elements should have valid year > 1900",
        "expression" : "$this is dateTime implies $this.toString() >= '1900'"
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.address",
      "path" : "Patient.address",
      "short" : "Included only to support zip code",
      "min" : 1,
      "max" : "1",
      "mustSupport" : true
    },
    {
      "id" : "Patient.address.text",
      "path" : "Patient.address.text",
      "short" : "Text cannot be included in the profile",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.address.line",
      "path" : "Patient.address.line",
      "short" : "Street names cannot be included in the profile",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.address.postalCode",
      "path" : "Patient.address.postalCode",
      "short" : "ZipCode must be included in the profile",
      "min" : 1,
      "max" : "1",
      "constraint" : [{
        "key" : "dapl-potalCode-1",
        "severity" : "error",
        "human" : "De-identified Zipcodes can contain first 3 digits followed by 00 in the last two digits or have to be masked with 00000. If the extended ZipCode format is used the resulting format should be #####-####.",
        "expression" : "$this.matches('^[0-9]{3}[0]{2}(-[0-9]{4})?$')",
        "xpath" : "f:matches(postalCode,'^[0-9]{3}[0]{2}(-[0-9]{4})?$')"
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.address.postalCode.extension:dataAbsentReason",
      "path" : "Patient.address.postalCode.extension",
      "sliceName" : "dataAbsentReason",
      "short" : "Reason why the data is not present",
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/StructureDefinition/data-absent-reason|5.2.0"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.address.postalCode.extension:dataAbsentReason.value[x]",
      "path" : "Patient.address.postalCode.extension.value[x]",
      "min" : 1,
      "type" : [{
        "code" : "code"
      }],
      "mustSupport" : true
    },
    {
      "id" : "Patient.maritalStatus",
      "path" : "Patient.maritalStatus",
      "short" : "Cannot include information in deidentified resources",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.multipleBirth[x]",
      "path" : "Patient.multipleBirth[x]",
      "short" : "Cannot include information in deidentified resources",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.photo",
      "path" : "Patient.photo",
      "short" : "Cannot include information in deidentified resources",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.contact",
      "path" : "Patient.contact",
      "short" : "Cannot include information in deidentified resources",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.communication.language",
      "path" : "Patient.communication.language",
      "short" : "Language must be included in the profile",
      "min" : 1,
      "max" : "1",
      "mustSupport" : true,
      "binding" : {
        "strength" : "extensible",
        "description" : "The set of languages that the patient uses",
        "valueSet" : "http://terminology.hl7.org/ValueSet/Languages"
      }
    },
    {
      "id" : "Patient.generalPractitioner",
      "path" : "Patient.generalPractitioner",
      "short" : "Cannot include information in deidentified resources",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.managingOrganization",
      "path" : "Patient.managingOrganization",
      "short" : "Cannot include information in deidentified resources",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    },
    {
      "id" : "Patient.link",
      "path" : "Patient.link",
      "short" : "Cannot include information in deidentified resources",
      "min" : 0,
      "max" : "0",
      "mustSupport" : false
    }]
  }
}

```
