Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:OHC/data

From OHC Network Wiki
Revision as of 03:18, 5 July 2026 by Admin (talk | contribs) (OHC identity seed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:OHC/data/doc

-- Central identity facts for the OHC Network Wiki.
-- Single source of truth consumed by templates and articles via
--   {{#invoke:OHC/data|get|<key>}}   -> a value (lists comma-joined)
--   {{#invoke:OHC/data|ul|<listkey>}} -> a wikitext bullet list
-- Keep this in sync with ohc.network / docs.ohc.network only.
local p = {}

local data = {
	name         = "Open Healthcare Network",
	short        = "OHC Network",
	legal        = "Open Healthcare Network Foundation",
	tagline      = "The open operating system for healthcare.",
	summary      = "OHC Foundation stewards CARE Core, apps, standards, and integrations so governments, hospitals, and implementers can run interoperable health systems without vendor lock-in.",
	product      = "CARE",
	core_version = "3.0.0",
	fhir         = "FHIR R5",
	license      = "MIT",
	dpg          = "Digital Public Good",
	cin          = "U88100KL2025NPL098818",
	address      = "1st Floor, C M Complex, Kalavath Road, Palarivattom, Kochi, Ernakulam, Kerala, India, 682025",
	website      = "https://ohc.network",
	docs         = "https://docs.ohc.network",
}

local lists = {
	standards = { "FHIR R5", "SNOMED CT", "LOINC", "UCUM", "ICD-10", "ABDM" },
	solutions = { "CARE HMIS", "TeleICU", "Palliative Care Grid", "Care Clinics", "Care Janwar" },
	plugins   = { "AI Scribe", "TeleICU", "Imaging", "Devices", "Messaging", "Analytics" },
	modules   = { "Administration", "Definitions", "Clinical", "Scheduling", "Pharmacy", "Labs", "Billing" },
	audiences = { "Governments", "Funders", "Hospitals", "Implementation partners", "Developers", "Clinicians" },
	layers    = { "Core platform", "Standards", "Quality and security", "Ecosystem", "AI readiness" },
}

local function trim(s)
	return (s or ""):gsub("^%s+", ""):gsub("%s+$", "")
end

function p.get(frame)
	local key = trim(frame.args[1])
	if data[key] ~= nil then return data[key] end
	if lists[key] ~= nil then return table.concat(lists[key], ", ") end
	return ""
end

function p.ul(frame)
	local t = lists[trim(frame.args[1])]
	if not t then return "" end
	local out = {}
	for _, v in ipairs(t) do out[#out + 1] = "* " .. v end
	return table.concat(out, "\n")
end

return p