MeridianMERIDIAN

Blood Type

ABO blood group system (A, B, AB, O) with optional Rh factor (±). Format: "A+", "B-", "AB", "O+", etc.

Blood Type

identity.person.blood_type

ABO blood group system (A, B, AB, O) with optional Rh factor (±). Format: "A+", "B-", "AB", "O+", etc.

Domain
identity
Category
person
Casts to
VARCHAR
Scope
Universal

Try it

CLI
$ finetype infer -i "O+" --mode column
→ identity.person.blood_type

DuckDB

Detect
SELECT ft_infer('O+');
-- → 'identity.person.blood_type'
Cast expression
UPPER(CAST({col} AS VARCHAR))
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(ft_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE ft_infer(my_column) = 'identity.person.blood_type';

Struct Expansion

Expression
blood_group: REGEXP_EXTRACT(UPPER({col}), '^([ABO]+)')
rh_factor: REGEXP_EXTRACT(UPPER({col}), '([+-])$')

JSON Schema

finetype taxonomy identity.person.blood_type -o json-schema
{
  "$id": "https://meridian.online/schemas/identity.person.blood_type",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "ABO blood group system (A, B, AB, O) with optional Rh factor (±). Format: \"A+\", \"B-\", \"AB\", \"O+\", etc.",
  "examples": [
    "O+",
    "A-",
    "AB",
    "B+"
  ],
  "pattern": "^(A|B|AB|O)[+-]?$",
  "title": "Blood Type",
  "type": "string",
  "x-finetype-label": "identity.person.blood_type",
  "x-finetype-pii": false
}

Examples

O+A-ABB+

Type Registry