# Combined Entities

In addition to the entities described in the Eduction Grammar Reference, the IDOL PII Package includes grammar files that contain "combined" entities. These files are named `combined_*.ecr` (or `combined_*_cjkvt.ecr` for Japan) and the entities match addresses, dates, driving license numbers, and so on, from multiple countries.

- The entities that end in `/all` match data for any supported non-CJKVT country or language.
- The entities that end in `/all_cjkvt` match data for any supported CJKVT country.
- The entities that end in `/gdpr` match data for any supported country or language subject to GDPR.

For example:

- Using `pii/address/all` from `combined_address.ecr` matches a postal address from any non-CJKVT country. This is similar to using the `address.ecr` grammar file and extracting `pii/address/??`.
- Using `pii/address/gdpr` from `combined_address.ecr` matches a postal address from any country subject to GDPR. This is similar to using the `address.ecr` grammar file and extracting `gdpr/address/??`.
- Using `pii/date/dob/context/all` from `combined_date.ecr` matches a date of birth written numerically or using words in any language. This is similar to using the `date.ecr` grammar file and extracting `pii/date/dob/context/???`.

The combined (`/all`, `/all_cjkvt` and `/gdpr`) entities provide a significant improvement in processing speed when you extract matches for all countries or languages.

You must run the script `pii_postprocessing.lua` as a post-processing task (see Configure Post Processing). Running the script ensures that the entity names returned by Eduction contain the relevant country code or language code. For example, if a UK postal address is found, the entity name in the returned match is still `pii/address/gb`, and not `pii/address/all`.

The combined grammar files might produce fewer matches, because (by default) only a single match is returned in cases where the same characters in the input text would match multiple countries or languages.

TIP: If you need all matches, you can turn on the `AllowMultipleResults` configuration option. This option slows down the matching process because it does not stop after a single match, but is generally still faster than using the individual grammars.

File | Entity
--- | ---
combined_address.ecr | pii/address/all
pii/address/gdpr
pii/address/streetlocation/context/all
pii/address/streetlocation/context/gdpr
pii/address/city/context/all
pii/address/city/context/gdpr
pii/address/country/context/all
pii/address/country/context/gdpr
pii/address/postcode/context/all
pii/address/postcode/context/gdpr
combined_address_cjkvt.ecr | pii/address/all_cjkvt
pii/address/address1/context/all_cjkvt
pii/address/region/context/all_cjkvt
pii/address/country/context/all_cjkvt
pii/address/postcode/context/all_cjkvt
combined_date.ecr | pii/date/dob/context/all
pii/date/dob/landmark/all
pii/date/dob/context/gdpr
pii/date/dob/landmark/gdpr
pii/date/nocontext/all
pii/date/nocontext/gdpr
combined_date_cjkvt.ecr | pii/date/dob/context/all_cjkvt
pii/date/dob/landmark/all_cjkvt
pii/date/nocontext/all_cjkvt
combined_driving.ecr | pii/driving/context/all
pii/driving/nocontext/all
pii/driving/landmark/all
pii/driving/context/gdpr
pii/driving/nocontext/gdpr
pii/driving/landmark/gdpr
combined_driving_cjkvt.ecr | pii/driving/context/all_cjkvt
pii/driving/nocontext/all_cjkvt
pii/driving/landmark/all_cjkvt
combined_health.ecr | pii/health/ehic/context/gdpr
pii/health/ehic/nocontext/gdpr
pii/health/ehic/landmark/gdpr
pii/health/id/context/all
pii/health/id/nocontext/all
pii/health/id/landmark/all
pii/health/id/context/gdpr
pii/health/id/nocontext/gdpr
pii/health/id/landmark/gdpr
combined_health_cjkvt.ecr | pii/health/id/context/all_cjkvt
pii/health/id/nocontext/all_cjkvt
pii/health/id/landmark/all_cjkvt
combined_name.ecr | pii/name/all
pii/name/gdpr
combined_name_cjkvt.ecr | pii/name/all_cjkvt
pii/name/latin/all_cjkvt
pii/name/cjkvt/all_cjkvt
combined_national_id.ecr | pii/id/context/all
pii/id/nocontext/all
pii/id/landmark/all
pii/id/context/gdpr
pii/id/nocontext/gdpr
pii/id/landmark/gdpr
combined_national_id_cjkvt.ecr | pii/id/context/all_cjkvt
pii/id/nocontext/all_cjkvt
pii/id/landmark/all_cjkvt
combined_passport.ecr | pii/passport/context/all
pii/passport/nocontext/all
pii/passport/landmark/all
pii/passport/context/gdpr
pii/passport/nocontext/gdpr
pii/passport/landmark/gdpr
combined_passport_cjkvt.ecr | pii/passport/context/all_cjkvt
pii/passport/nocontext/all_cjkvt
pii/passport/landmark/all_cjkvt
combined_postcode.ecr | pii/postcode/context/all
pii/postcode/nocontext/all
pii/postcode/landmark/all
pii/postcode/context/gdpr
pii/postcode/nocontext/gdpr
pii/postcode/landmark/gdpr
combined_postcode_cjkvt.ecr | pii/postcode/context/all_cjkvt
pii/postcode/nocontext/all_cjkvt
pii/postcode/landmark/all_cjkvt
combined_telephone.ecr | pii/telephone/context/all
pii/telephone/nocontext/all
pii/telephone/landmark/all
pii/telephone/context/gdpr
pii/telephone/nocontext/gdpr
pii/telephone/landmark/gdpr
combined_telephone_cjkvt.ecr | pii/telephone/context/all_cjkvt
pii/telephone/nocontext/all_cjkvt
pii/telephone/landmark/all_cjkvt
combined_tin.ecr | pii/tin/context/all
pii/tin/nocontext/all
pii/tin/landmark/all
pii/tin/context/gdpr
pii/tin/nocontext/gdpr
pii/tin/landmark/gdpr
combined_tin_cjkvt.ecr | pii/tin/context/all_cjkvt
pii/tin/nocontext/all_cjkvt
pii/tin/landmark/all_cjkvt

_FT_HTML5_bannerTitle.htm