Module:Infobox medical intervention
Documentation for this module may be created at Module:Infobox medical intervention/doc
--[[
For translation of this module, you must customize:
Module:Infobox medical intervention/i18n
Module:Infotable images/i18n
Module:Medical infotable items/i18n
--]]
local p = {}
local SA = require "Module:SimpleArgs"
local SD = require "Module:SimpleDebug"
local WD = require "Module:Wikidata"
local MLMT = require "Module:Multilang module tools"
local GIBT = require "Module:Global infobox tools"
local GIBTi = require "Module:Global infobox tools/items"
local MII = require "Module:Medical infobox items"
local MIIi = require "Module:Medical infobox items/items"
local IMIi = require "Module:Infobox medical intervention/items"
local GIBTi18n
local IMIi18n
local ModuleName = 'Infobox medical intervention'
local rs = { --reserved keys and their modified values for infobox configuration
--for default stored values of the other options look at list with allitems=list
}
local cat = { --tracking categories
[GIBTi.rk.rs_cat_arg_error] = "_Q56486184", -- specific category: "_Q90499106",
}
local items = { --used key names
[MLMT.k.Args] = { --parameter key, its name/s (as parameter) and optional Wikidata qualifiers/properties
[GIBTi.rk.name] = {{"Name",
"name"}, "",}, --allways required
[IMIi.k.ICD10] = {"ICD10", "_P1690",},
[IMIi.k.ICD9] = {"ICD9", {property="P1692",
formatting='{{ICD9proc|$1}}',}},
[IMIi.k.ICD9u] = {"ICD9unlinked", "_P493",},
[IMIi.k.OPS] = {"OPS301", "_P1691",},
[IMIi.k.LOINC] = {"LOINC", {property="P4338",
formatting='{{LOINC|$1}}',}},
[IMIi.k.Other] = {{"other_codes",
"OtherCodes"}, "",},
[IMIi.k.Medline] = {"MedlinePlus", {property="P604",
formatting='[https://medlineplus.gov/ency/article/$1.htm $1]'}},
[IMIi.k.HCPCS] = {"HCPCSlevel2", "",},
[IMIi.k.CPT] = {"CPT", "_P7410",},
},
[MLMT.k.Labels] = { --label or header (hd_) key, and its value as Wikidata qualifier or property to read (or text)
[IMIi.k.ICD10] = "_Q9006342",
[IMIi.k.ICD9] = "_Q5737131",
[IMIi.k.ICD9u] = "_Q14067712",
[IMIi.k.OPS] = "_Q2026515",
[IMIi.k.LOINC] = "_Q502480",
[IMIi.k.Other] = "Other [[procedure codes|codes]]",
[IMIi.k.Medline] = "_Q557919",
[IMIi.k.HCPCS] = "_Q5629114",
[IMIi.k.CPT] = "_Q964984",
},
}
function p.infobox(frame)
local args, NArgs = SA.GetArgs (frame)
MLMT.SetLang (args)
GIBTi18n = require (SA.I18nName ("Global infobox tools"))
IMIi18n = require (SA.I18nName ("Infobox medical intervention"))
GIBT.SetColorsAndIcon (ModuleName,
GIBTi18n.lcol.science, --group color
GIBTi18n.licon.medical_intervention)
items, IMIi18n.items = GIBT.CheckArgLabLua (ModuleName, items, IMIi18n.items, IMIi18n.omit_params)
IMIi.idx = GIBT.CheckIdx_arglabLua (ModuleName, IMIi.idx, IMIi18n.new_idx)
args = GIBT.SetRsv_1ToArgs (ModuleName, frame, args, rs, IMIi18n.rs_val, cat)
local itemsM = GIBT.tableMerge (ModuleName, items, IMIi18n.items)
GIBT.i_LoadI18n ()
MII.LoadI18n ()
MLMT.IniLang (frame, args)
SA.Error.handle = true
--END INITIALIZATION
function ArgMMI (option, key)
return MII.arg_items (option, key)
end
function load_show_key (key)
GIBT.load_show_key (args, itemsM, key, IMIi.arg_lims)
end
--BEGIN--
local res = GIBT.ItemList_or_TempData (args, 'IMI', ModuleName, items, IMIi18n.items, IMIi.idx, IMIi.arg_lims,
{{'', MII.arglab_items},}, {{'', ArgMMI},})
if res == nil then
GIBT.IniLua (args, itemsM)
local n_last_capt = GIBT.i_main (frame, args)
load_show_key (IMIi.k.ICD10)
load_show_key (IMIi.k.ICD9)
load_show_key (IMIi.k.ICD9u)
MII.mesh (frame, args)
load_show_key (IMIi.k.OPS)
load_show_key (IMIi.k.LOINC)
load_show_key (IMIi.k.Other)
load_show_key (IMIi.k.Medline)
MII.eMedicine (args)
load_show_key (IMIi.k.HCPCS)
load_show_key (IMIi.k.CPT)
GIBT.ExecFuncs_SetHeaders (frame, itemsM, nil, n_last_capt)
return GIBT.CheckShowParams (
frame, args,
--allowed parameters:
{itemsM, --current module specific arguments
GIBT.i_itemsM, --image module specific arguments
MII.itemsM[MIIi.k.Mesh], MII.itemsM[MIIi.k.eMed]} --Medical infotable items arguments
)..
GIBT.InfoboxWithItsValues()
else
return res
end
end --infobox
return p