# IDI Patient L0 - Interoperable Digital Identity and Patient Matching v2.0.0

* [**Table of Contents**](toc.md)
* [**Artifacts Summary**](artifacts.md)
* **IDI Patient L0**

## Resource Profile: IDI Patient L0 

| | | |
| :--- | :--- | :--- |
| *Official URL*:http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0 | *Version*:2.0.0 | |
| *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*:IDIPatientL0 |

 
(Level 0 weighting) The goal of this profile is to describe a data-minimized version of Patient used to convey information about the patient for Identity Matching utilizing the $idi-match operation, and prescribe a minimum set of data elements which, when consistent with an identity verification event performed at IDIAL1.5 or higher, meet a combined 'weighted level' of at least 9 

**Usages:**

* Use this Profile: [IDI Match Input Parameters](StructureDefinition-idi-match-input-parameters.md)
* Examples for this Profile: [Patient/ExamplePatientL0](Patient-ExamplePatientL0.md)

You can also check for [usages in the FHIR IG Statistics](https://packages2.fhir.org/xig/hl7.fhir.us.identity-matching|current/StructureDefinition/IDI-Patient-L0)

### 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-IDI-Patient-L0.csv), [Excel](StructureDefinition-IDI-Patient-L0.xlsx), [Schematron](StructureDefinition-IDI-Patient-L0.sch) 



## Resource Content

```json
{
  "resourceType" : "StructureDefinition",
  "id" : "IDI-Patient-L0",
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode" : "pa"
    },
    {
      "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/identity-matching/ImplementationGuide/hl7.fhir.us.identity-matching"
          }
        ]
      }
    },
    {
      "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/identity-matching/ImplementationGuide/hl7.fhir.us.identity-matching"
          }
        ]
      }
    }
  ],
  "url" : "http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0",
  "version" : "2.0.0",
  "name" : "IDIPatientL0",
  "title" : "IDI Patient L0",
  "status" : "active",
  "date" : "2025-12-10T16:42:49+00:00",
  "publisher" : "HL7 International / Patient Administration",
  "contact" : [
    {
      "name" : "HL7 International / Patient Administration",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/pafm"
        }
      ]
    }
  ],
  "description" : "(Level 0 weighting) The goal of this profile is to describe a data-minimized version of Patient used to convey information about the patient for Identity Matching utilizing the $idi-match operation, and prescribe a minimum set of data elements which, when consistent with an identity verification event performed at IDIAL1.5 or higher, meet a combined 'weighted level' of at least 9",
  "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" : "Patient information to be supplied to $match operation conforming to Level 0 weighting of information",
        "definition" : "Demographics and other administrative information about an individual which can be utilized within the $match operation meeting a minimum combined weighting a step above the base level. The goal of this profile is to describe a data-minimized version of Patient used to convey information about the patient for Identity Matching utilizing the $match operation, and prescribe a minimum set of data elements, when consistent with identity verification performed at ID.5 or greater, which meet a combined ‘weighted level’ of at least 9",
        "constraint" : [
          {
            "key" : "idi-L0",
            "severity" : "error",
            "human" : "Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality.",
            "expression" : "iif(identifier.where(value.exists() and(type.coding.where(code = 'PPN'\r\n    or code = 'DL'\r\n    or code = 'STID'))).count() * 5 > 10, 10, identifier.where(value.exists() and(type.coding.where(code = 'PPN'\r\n    or code = 'DL'\r\n    or code = 'STID'))).count() * 5) + iif(((address.exists(use = 'home') and address.line.exists() and(address.postalCode.exists() or(address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN'\r\n    and code != 'DL'\r\n    and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) = 1, 4, iif(((address.exists(use = 'home') and address.line.exists() and(address.postalCode.exists() or(address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN'\r\n    and code != 'DL'\r\n    and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) > 1, 5, 0)) + (name.family.exists() and name.given.exists()).toInteger() * 3 + (birthDate.exists().toInteger() * 2)\r\n    >= 9",
            "source" : "http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0"
          }
        ]
      },
      {
        "id" : "Patient.meta.profile",
        "path" : "Patient.meta.profile",
        "slicing" : {
          "discriminator" : [
            {
              "type" : "value",
              "path" : "$this"
            }
          ],
          "description" : "Slice based on pattern",
          "ordered" : false,
          "rules" : "open"
        },
        "comment" : "meta.profile is required as a matter of convenience of receiving systems. The meta.profile SHALL be used by the Server to hint/assert/declare that this instance conforms to the stated profiles (with business versions). meta.profile does not capture any business logic, processing directives, or semantics (for example, inpatient or outpatient). "
      },
      {
        "id" : "Patient.meta.profile:assertedProfile",
        "path" : "Patient.meta.profile",
        "sliceName" : "assertedProfile",
        "min" : 0,
        "max" : "1",
        "patternCanonical" : "http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0"
      },
      {
        "id" : "Patient.identifier.type",
        "path" : "Patient.identifier.type",
        "min" : 1,
        "binding" : {
          "strength" : "extensible",
          "valueSet" : "http://hl7.org/fhir/us/identity-matching/ValueSet/Identity-Identifier-vs"
        }
      },
      {
        "id" : "Patient.identifier.value",
        "path" : "Patient.identifier.value",
        "min" : 1
      },
      {
        "id" : "Patient.name",
        "path" : "Patient.name",
        "constraint" : [
          {
            "key" : "idi-2",
            "severity" : "error",
            "human" : "Either the given or family name SHALL be present",
            "expression" : "given.exists() or family.exists()",
            "source" : "http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0"
          }
        ]
      }
    ]
  }
}

```
