identity
Details about people, such as names, email addresses, phone numbers and usernames, and the numbers that identify people, businesses and things. Those include tax and business numbers, vehicle numbers, product barcodes, book and journal numbers, researcher IDs, industry codes, and the codes healthcare uses for procedures, diagnoses, lab observations, drugs and providers.
6 categories, 34 types: 9 a sibling in its category also accepts, 19 accepted by another category's rule, 13 that decompose into parts, 10 flagged as personal data, 3 in Meridian's open data.
The 6 identity categories
Each category's lookup value, against every other category's rule
| Category | Types | Casts to | For example | Within the group | Also accepted by |
|---|---|---|---|---|---|
| 14 | VARCHAR, DOUBLE | Male | 7 a sibling accepts, 4 misread | — | |
| 7 | VARCHAR | 99213 | each told apart | commerce, government, person | |
| 6 | VARCHAR | ABCPD1234E | 1 a sibling also accepts | person | |
| 5 | VARCHAR | 5901234123457 | 1 a sibling also accepts | government, person | |
| 1 | VARCHAR | 0000-0002-1825-0097 | — | person | |
| 1 | VARCHAR | 541511 | — | person |
Where identity categories overlap
Each type's lookup value, against every other category's rule
Which identity type is it?
5 of 34 identity types in 3 categories accept it, and read it 2 ways.
DuckDB cannot run 2 of these types' rules, so the box cannot say whether they accept a value.
Gender, Gender Code and Password carry no pattern or format, so they have no rule to ask.
What the engine extracts
- person8 of 14area_code · blood_group · country_code · digits_only · display_name · domain · email · first_name · last_name · local · rh_factor · subscriber · unit · value
- government2 of 6area · country_code · group · local_number · serial
- commerce3 of 5country_code · designation · ean_version · isbn_version · registrant · year
In Meridian's datasets
Use it
One value from each category, each inferred on its own
for v in 'Male' '99213' 'ABCPD1234E' '5901234123457' '0000-0002-1825-0097' '541511'; do finetype infer -i "$v"; doneSELECT v, ft_infer(v) FROM (VALUES ('Male'), ('99213'), ('ABCPD1234E'), ('5901234123457'), ('0000-0002-1825-0097'), ('541511')) t(v);