JSPM

  • Created
  • Published
  • Downloads 533
  • Score
    100M100P100Q93998F
  • License ISC

Node.js wrapper for the official ATIH grouping engine (PMSI GHM/GHS) used in French hospital medical coding. This package provides access to the native C groupage module for classifying inpatient stays into GHM and GHS codes as part of the PMSI/T2A system.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@beparallel/grouping) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    grouping

    A Node.js wrapper for the official ATIH grouping engine used in the French PMSI (Programme de Médicalisation des Systèmes d'Information).

    This package allows integration of the native C-based groupage module to classify hospital stays into GHM (Groupe Homogène de Malades) and GHS (Groupe Homogène de Séjours) codes, in compliance with the T2A billing system in France.

    Overview

    This project implements a Node.js native addon using Node-API to wrap the official ATIH (Agence Technique de l'Information sur l'Hospitalisation) grouping engine. The grouping engine is a critical component of the French healthcare system's billing and classification infrastructure.

    French Medical Coding Context

    The French healthcare system uses the PMSI (Programme de Médicalisation des Systèmes d'Information) for medical activity coding and hospital billing under the T2A (Tarification À l'Activité) system. This project specifically addresses the need for automated grouping of medical stays into standardized categories.

    For comprehensive background on grouping algorithms and medical coding in France, refer to this detailed overview.

    Technical Architecture

    This package consists of:

    1. Native C/C++ Module: The core ATIH grouping engine in the src folder
    2. JavaScript Interface: High-level Node.js API for application integration
    3. Type Definitions: TypeScript definitions for development support

    Installation

    npm install

    Requirements

    • Node.js 22.0.0 or higher
    • Compatible with Windows, macOS, and Linux
    • Native compilation tools (node-gyp)

    📚 Additional Resources

    API Reference

    Basic Usage

    const grouping = require('grouping')
    
    // Process a single RSS record
    const result = grouping.classify(rssData)
    console.log('GHM:', result.ghm)
    console.log('GHS:', result.ghs)
    console.log('Errors:', result.errors)

    Batch Processing

    // Process multiple records efficiently
    const results = grouping.classifyBatch(rssDataArray)
    results.forEach((result, index) => {
      console.log(`Record ${index}:`, result)
    })

    Input Format

    The module expects RSS (Résumé de Sortie Standardisé) formatted data conforming to ATIH specifications:

    const rssData = {
      // Patient demographics
      age: 65,
      sex: 'M',
    
      // Medical coding
      mainDiagnosis: 'I21.0',
      secondaryDiagnoses: ['E11.9', 'N18.6'],
      procedures: ['DEQP003'],
    
      // Stay information
      entryMode: '6',
      exitMode: '9',
      lengthOfStay: 7,
    
      // Additional classification data
      severity: 2,
      complexity: 1
    }

    Output Format

    {
      ghm: 'GHM_CODE',        // Groupe Homogène de Malades
      ghs: 'GHS_CODE',        // Groupe Homogène de Séjours
      severity: 2,            // Severity level
      complexity: 1,          // Complexity level
      errors: [],             // Array of error codes/messages
      warnings: [],           // Array of warning messages
      processingTime: 1.2     // Processing time in milliseconds
    }