NeoFaker.Blood (neo_faker v0.14.0)

Copy Markdown View Source

Functions for generating blood types.

Provides utilities to generate random blood groups, blood types, and Rh factors following the ABO and Rh blood group system classification.

Summary

Functions

Returns both possible Rh factors.

Returns all 4 blood types in the ABO system.

Generates a random blood group.

Generates a random blood type in medical notation.

Generates a random Rh factor.

Generates a random blood type.

Functions

all_rh_factors()

(since 0.3.1)
@spec all_rh_factors() :: [String.t()]

Returns both possible Rh factors.

Examples

iex> NeoFaker.Blood.all_rh_factors()
["+", "-"]

all_types()

(since 0.3.1)
@spec all_types() :: [String.t()]

Returns all 4 blood types in the ABO system.

Examples

iex> NeoFaker.Blood.all_types()
["A", "B", "AB", "O"]

group(opts \\ [])

(since 0.3.1)
@spec group(Keyword.t()) :: String.t()

Generates a random blood group.

Combines a blood type (A, B, AB, or O) with an Rh factor (+ or -). Use the :format option to return only part of the result.

Options

  • :format - Controls what is returned. Defaults to :group.
    • :group - Full blood group, e.g. "B+" (default).
    • :type_only - Blood type only, e.g. "B".
    • :rh_only - Rh factor only, e.g. "+".

Examples

iex> NeoFaker.Blood.group()
"B+"

iex> NeoFaker.Blood.group(format: :type_only)
"O"

iex> NeoFaker.Blood.group(format: :rh_only)
"-"

medical_notation(opts \\ [])

(since 0.3.1)
@spec medical_notation(Keyword.t()) :: String.t()

Generates a random blood type in medical notation.

Returns a descriptive string combining the ABO type and Rh factor. Set verbose: true for the extended "Type X, Rh Y" form.

Options

  • :verbose - When true, uses full descriptive text. Defaults to false.

Examples

iex> NeoFaker.Blood.medical_notation()
"B positive"

iex> NeoFaker.Blood.medical_notation(verbose: true)
"Type AB, Rh positive"

rh_factor()

(since 0.3.1)
@spec rh_factor() :: String.t()

Generates a random Rh factor.

Returns either "+" (positive) or "-" (negative).

Examples

iex> NeoFaker.Blood.rh_factor()
"+"

type()

(since 0.3.1)
@spec type() :: String.t()

Generates a random blood type.

Returns one of the four ABO blood types: "A", "B", "AB", or "O".

Examples

iex> NeoFaker.Blood.type()
"B"