Modul:Kembox/Drugbox Farmakokinetika

A Wikipédiából, a szabad enciklopédiából

Kembox/Drugbox Farmakokinetika[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

local csopfej = "Farmakokinetikai adatok"

local boxtbl = {   -- a paraméterek sorrendje és infóboxbeli felirata. Az 1-es sorszám fenntartva csopfejnek
          Bioavail             = { 2,  "[[Biohasznosíthatóság]]" },
          Metabolism           = { 3,  "[[Xenobiotikumok metabolizmusa|Metabolizmus]]" },
          HalfLife             = { 4,  "[[Felezési idő#Biológiai felezési idő|Biológiai<br/>felezési idő]]" },
          ProteinBound         = { 5,  "[[Plazmafehérje-kötés|Fehérjekötés]]" },
          Excretion            = { 6,  "[[Kiválasztó szervrendszer|Kiválasztás]]" },
          }
boxtbl["bioavailability"]          = boxtbl.Bioavail     -- Drugbox
boxtbl["BioHaszn"]                 = boxtbl.Bioavail     -- Gyógyszeresdoboz
boxtbl["metabolism"]               = boxtbl.Metabolism   -- Drugbox
boxtbl["Metabolizmus"]             = boxtbl.Metabolism   -- Gyógyszeresdoboz
boxtbl["elimination_half-life"]    = boxtbl.HalfLife     -- Drugbox
boxtbl["BioFelezésiIdő"]           = boxtbl.HalfLife     -- Gyógyszeresdoboz
boxtbl["protein_bound"]            = boxtbl.ProteinBound -- Drugbox
boxtbl["FehérjeKöt"]               = boxtbl.ProteinBound -- Gyógyszeresdoboz
boxtbl["excretion"]                = boxtbl.Excretion    -- Drugbox
boxtbl["Kiválasztás"]              = boxtbl.Excretion    -- Gyógyszeresdoboz


local munka = {}    -- { { sorsz, címke }, érték }

function egysor(nev,ertek)
          if boxtbl[nev]    -- a boxtbl tábla (lásd feljebb) az ismert paramétereket és azok sorrendjét tartalmazza
          then    if ertek and #ertek > 0 then table.insert(munka,{boxtbl[nev],ertek}) end    -- az üres paramétereket nem írjuk ki
--        else    -- a hívó sablon hibás paramétert kapott a szócikkből
          end
end


-- A munka-beli értékek rendezése és kiírása
local function rendez(hivo)
    local eredm = {}    -- { címke, érték } rendezve
    if next(munka)
    then    -- van megadott paraméter
          local kozos = require("Module:Kembox/kozos")
          eredm[1] = csopfej
          kozos.adatcsoport(munka,eredm)       -- munka rendezése és átmásolása eredm-be
          return kozos.kiir(eredm,hivo)
    end
return ""
end


-- Kívülről is hívható függvények
local p = {}

function p.Drugbox_Farmakokinetika(frame)
    local hivo  = frame.args['infobox']   -- hívó sablon
    local szulo = frame:getParent()       -- a chembox_related sablon által kapott paraméterek

    for nev,ertek in szulo:argumentPairs()
    do    egysor(nev,ertek)
    end
    return rendez(hivo)
end


-- Hívás modulból
function p.lua(partbl,hivo)
    for nev,ertek in pairs(partbl)
    do    egysor(nev,ertek)
    end
    return rendez(hivo)
end

return p;