module JosieHealth::LUT::MedsLUT

Defined in:

meds_lut.cr

Class Method Summary

Class Method Detail

def self.all_medications : Array(String) #

Get all medication names


def self.calculate_dose(substance : String, dosage : String, unit : String) : NamedTuple(mg: Float64, canonical_name: String, annotation: String) | Nil #

Full medication dose calculation Input: substance name (possibly with @concentration), dosage string, unit Returns: {mg, canonical_name, annotation} or nil


def self.calculate_mg(volume_ml : Float64, concentration_mg_ml : Int32) : Float64 #

Calculate mg from ml and concentration


def self.is_injectable_med?(name : String) : Bool #

Check if a substance is an injectable medication


def self.load_data #

Load medication data from embedded JSON


def self.lookup_medication(name : String) : NamedTuple(name: String, pretty_name: String, default_concentration: Int32, category: String, subcategory: String) | Nil #

Lookup a medication by name (handles aliases)


def self.parse_substance_concentration(name : String) : NamedTuple(substance: String, concentration: Int32 | Nil) | Nil #

Parse substance name with optional concentration override Returns {substance, concentration} or nil Examples: "een" -> {een, nil}, "een@20" -> {een, 20}


def self.resolve_alias(name : String) : String #

Resolve alias to canonical name