Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

...

Definitions

Term

Definition

Module

Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.

Source: https://en.wikipedia.org/wiki/Modular_programming

(Software) Package

A collection of functions written in a single language bundled with additional content like documentation, unit test, sample data etc.

Source: https://en.wikipedia.org/wiki/Package_development_process

Component

An individual software component is a software package, a web service, a web resource, or a module that encapsulates a set of related functions (or data).

Source: https://en.wikipedia.org/wiki/Component-based_software_engineering#Software_component

Sources

Technical source code, structures and definitions of an IT solution

(JLN) Business Process

Functional Unit

An interchangeable unit that provides a piece of business functionality

(Software) Repository

A storage location for software packages & other technical sources

Source: https://en.wikipedia.org/wiki/Software_repository

Key Questions

  • How to find a wording which is clear and prevents misunderstanding and allows for a common language between business (implementers) and technical (developer) people?

  • How to achieve an up-to-date documentation of the architecture and it’s features (modules) which satisfies and links the needs of implementers and developers

Key Findings

  •  Many things are called a “Module”, but a clear definition is missing
    •  Repositories/Deployables in Sources Release 2022-10 were called modules before despite covering many aspects (FE, BE, DB, tools, core, assembly/configuration, docker)
    •  Towards non-IT people a module is a unit of functionality covering a business/domain aspect such as a process (Claims, Calculations) or an entity
    •  It is hard to understand what modules are out there and which are optional, configurable, customizable and so on
  •  Documentation of the modules/features is fragmented, outdated and incomplete
    •  Dependencies (repositories) are missing
    •  An overview of modules is missing
    •  Link to the technical (code) documentation is missing
    •  History (change log) and linkage to Releases is missing
  •  The software architecture is only documented in Target (modular) Architecture out of the perspective of a future development (Modular Transformation), not as something that exists as part of the product and seemed to be not actively maintained / updated

Findings

  •  Module pages under openIMIS Modules do not share a common structure / content
    •  Use of property tables seems advisable
  •  Overview in openIMIS Modules uses color coding without providing an explanation (types of modules like Core, Interop, Business, ??)
  •  Linkage between “Modules” and Repositories unclear / Dependencies are not documented
  •  Definitions unclear, what is a “Module”?
    •  Relationship to “Repositories” and other modules
    •  Different types?
    •  
  •  Sources Release 2022-04 lists repositories as “Components” (renamed from “Module”)
  •  Multiple modules under openIMIS Modules seem to be outdated and incomplete, are not separately documented, but mixed with other “Modules”
  •  Modules under openIMIS Modules are organized in a complex but incoherent structure (e.g. sometimes grouped by business process or other)
  •  Modules under openIMIS Modules do not follow a consistent naming format
  •  Modules under openIMIS Modules are not always descriped described separately, but mixed (failed separation of concerns SoC?)
  •  Some modules under openIMIS Modules do not match to the diagram
  •  Some modules under openIMIS Modules are missing
  •  Some modules under openIMIS Modules contain overly technical (source code, stored procedures) details

Related Pages

Page

Content / Findings

Describes “Modularity” as

Plugins are documented in openIMIS Modules.

openIMIS Modules

In openIMIS, (nearly) everything is a module: even "low level" (and mandatory) features follow this principle.

Plugins (can) provide several types of archetypes, dedicated to the various openIMIS layers: openIMIS Mobile FE, openIMIS Web FE, openIMIS Online BE, openIMIS Batch BE,...

openIMIS can be deployed with an extra layer dedicated to implement a FHIR API, based on openIMIS core (base) modules.

Patrick Delcroix in the comments:

Here my point of view on the module list details in 4 groups (core, business...)

The module with * leading are not found in JLN

IT core

  • *Core & security

    • Database access,

    • Logins, user, roles including enrolment office & claim admin,

    • Email

Business

  • Claims Management

    • Claim,

    • Feedback,

    • Review

    • Appeal (not available)

  • Scheme Policy

    • Insurance companies (not available), 

    • provider policies settings,

      • Product

    • Eligibility Requirements,

      • Product

    • Benefit Package Formulary

      • Product

    • provider rates

      • Price lists (Item and services),

    • Funding

  • Premium Collection ,

    • Payer

    • Policy payment

  • Beneficiary Management

    • Insures,

    • Group,

    • Policy,

    • Renewal

Register

  • *Locations (regions … )

  • Provider Management

  • *Client registry

  • *Medical item

  • *Medical Service

  • *Diagnosis

Reporting

Background - Joint Learning Network for UHC

The JLN Process Matrix

JLN Process - OpenIMIS Mapping

Sources Release 2022-10

  • Single repositories were named “Module” now “Component”

    • Not all repositories contain source code, some are used for databases, package linkage, docker scripts etc.

openIMIS Management Console

  • Refers to frontend and backend “Modules

List of

...

modules under openIMIS Modules

Module

Content / Finding

“Modules” in diagram

Claim module scope

Claim

“Beneficiary Enrollment” \ Policies module scope

  • Seems outdated (last change in 2021)

    • Refers to legacy code

    • Refers to functional spec from 2017

    • Refers to Windows service

  • Seems incomplete (contains remarks, questions and/or arbitrary formatting)

  • Top-Level-Content: Business definition of the policy dates, Access Rights, Actors & Rights, Policy Management Features

Policy

“Beneficiary Enrollment” \ Persons & Families module scope

  • Seems outdated (last change in 2020)

    • Refers to legacy code

    • Refers to functional spec from 2017

    • Contains old screenshots

  • Seems incomplete (contains remarks, questions and/or arbitrary formatting)

  • Mixes two “Modules”

Persons - Missing in diagram

Families - Missing in diagram

“Beneficiary Enrollment” \ Contributions & Payment module scope

  • Seems outdated (last change in 2020)

    • Refers to legacy code

    • Refers to functional spec from 2017

    • Contains old screenshots

  • Seems incomplete (contains remarks, questions and/or arbitrary formatting)

  • Mixes two “Modules”

Contribution

Payment

“openIMIS Administration Modules” \ Product module pages mockup

  • Does not document the module, but a proposal -> Documentation is missing

Product

“openIMIS Administration Modules” \ Locations & Health Facilities module scope

  • Seems outdated (last change in 2019)

    • Refers to legacy application

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief)

  • Mixes two “Modules” or naming issue?

Location

Health Facilities - Missing in diagram

openIMIS AI-based Claim Adjudication

  • Describes a project

Claim AI (question) - Missing in diagram

openIMIS Management Console

  • Seems outdated (last change in 2019)

  • Unclear scope, not describing a module

openIMIS FHIR modules

  • Mixes two “Modules”

FHIR V3

FHIR V4

Invoices (and bills)

  • Mixes multiple “Modules”

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief)

Invoice

Others? (e.g. Contribution Plan ?)

Calculations Module

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief or overly technical)

Calculations

Contract Module

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief or overly technical)

Contract

PolicyHolders Module

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief or overly technical)

Policy Holder

Policy holder portal module

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief or overly technical)

Policy Holder Portal - Missing in diagram

Bulk CHFID Generator

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief or overly technical)

Bulk CHFID Generator- Missing in diagram

Claim processing up to batch run

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief or overly technical)

    • “Under construction”

Claim Batch

Report module

  • Seems incomplete (contains remarks, questions or arbitrary formatting and / or seems overly brief or overly technical)

Report

Missing Modules modules from diagram

  • Module page is missing (or mixed in)

  • Language Packs

  • Insuree

  • Insuree Batch

  • Core

  • Payer

  • Medical

  • Medical Pricelist

  • Tools / Home

  • Contribution Plan

Missing modules on the diagram?