export interface BloodMeta {
    cross_matching: boolean
    temperature_strips: boolean
    extra_tests: boolean
    reason: string
}

export enum BloodComponent {
    Platelets = 'Platelets',
    Cryoprecipitate = 'Cryoprecipitate',
    WholeBlood = 'Whole blood',
    FreshFrozenPlasma = 'Fresh frozen plasma',
    PackedRedBloodCells = 'Packed red blood cells',
    Other = 'Other'
}

export enum BloodGroup {
    A_plus = 'A+',
    A_minus = 'A-',
    B_plus = 'B+',
    B_minus = 'B-',
    AB_plus = 'AB+',
    AB_minus = 'AB-',
    O_plus = 'O+',
    O_minus = 'O-',
    Unsure = 'Unsure'
}

export interface BloodProperties {
    market_id: string,
    blood_component: BloodComponent | string,
    blood_group: BloodGroup | string,
    packaging: string,
    packaging_size: number,
    packaging_units: string,
    supplier_id?: string,
    supplier_name?: string
}

/**
 * @internal
 */
export interface InternalBloodProperties extends BloodProperties {
    id: string
}