UNPKG

@dotbase/hl7-v2-message

Version:

Parses HL7 v2.x messages into typed javascript objects and makes them easily accessable.

23 lines (22 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const segmentParser_1 = tslib_1.__importDefault(require("./segmentParser")); const __1 = tslib_1.__importDefault(require("..")); class MessageParser { static initMessageSegments(messageType, mshSegment, rawSegments) { const formattedType = MessageParser.getMessageType(messageType); const message = __1.default.utils.getMessage(formattedType); segmentParser_1.default.initMessageSegments(message, mshSegment, rawSegments); return message; } //Edge Case: 'splitSubFields.length === 2' //due to different structure of field 'MSH.9 Message Type' in earlier hl7v2-x versions static getMessageType(messageType) { const splitSubFields = messageType.split("^"); if (splitSubFields.length === 2) return `${splitSubFields[0]}_${splitSubFields[1]}`; return splitSubFields[splitSubFields.length - 1]; } } exports.default = MessageParser;