module
JosieHealth::LUT::MedsLUT
Defined in:
meds_lut.crClass Method Summary
-
.all_medications : Array(String)
Get all medication names
-
.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
-
.calculate_mg(volume_ml : Float64, concentration_mg_ml : Int32) : Float64
Calculate mg from ml and concentration
-
.is_injectable_med?(name : String) : Bool
Check if a substance is an injectable medication
-
.load_data
Load medication data from embedded JSON
-
.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)
-
.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}
-
.resolve_alias(name : String) : String
Resolve alias to canonical name
Class Method Detail
Full medication dose calculation Input: substance name (possibly with @concentration), dosage string, unit Returns: {mg, canonical_name, annotation} or nil
Calculate mg from ml and concentration
Check if a substance is an injectable medication
Lookup a medication by name (handles aliases)
Parse substance name with optional concentration override Returns {substance, concentration} or nil Examples: "een" -> {een, nil}, "een@20" -> {een, 20}