0.1.5 • Published 6 months ago

@radai/hl7-checker v0.1.5

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

HL7 Checker

A TypeScript-based HL7 message validator that checks segments, fields, and components based on configurable validation rules.

Supports message types like ORM_O01, ORU_R01, and ADT_A01, with extensible rules defined in a JSON config file.

Features

Validates HL7 v2 messages using @medplum/core

Rules defined externally via JSON (field, component, required, etc.)

Differentiates validation based on message type (e.g., ORM_O01 vs ORU_R01)

Modular and extensible rule system

Installation

npm install @radai/hl7-checker

Configuration

Rules are defined in a JSON file. The structure supports message-type-specific validation:

{
  "ORM_O01": {
    "MSH": [
      {
        "field": 9,
        "required": true,
        "components": [
          {
            "component": 1,
            "required": true
          },
          {
            "component": 2,
            "required": true
          }
        ]
      }
    ],
    "PID": [
      {
        "field": 3,
        "required": true
      }
    ]
  }
}

Each top-level key is a combined message type and trigger event (_), such as ORM_O01, ORU_R01, etc.

Usage

import { HL7Validator } from "@your-org/hl7-validator";

const validator = new HL7Validator("./rules.json");

const message = "MSH|...";

const result = validator.validate(message);

Output

The result includes:

  • segments: Array of segments with field validation statuses
  • messages: General validation messages (e.g., parse failures)
  • encoding: Separators and control characters extracted from the HL7 message

Example:

{
  "segments": [
    {
      "name": "MSH",
      "fields": [
        {
          "name": "MSH.9",
          "validationResult": {
            "status": "error",
            "messages": ["MSH.9.2: Missing required component"]
          }
        }
      ]
    }
  ],
  "messages": [],
  "encoding": {
    "segmentSeparator": "\r",
    "fieldSeparator": "|",
    "componentSeparator": "^",
    ...
  }
}

License

MIT

0.1.5

6 months ago

0.1.4

6 months ago

0.1.3

6 months ago

0.1.2

6 months ago

0.1.1

6 months ago

0.1.0

6 months ago