UNPKG

@dotbase/hl7-v2-message

Version:

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

326 lines (325 loc) 17.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const Hl7Message_1 = tslib_1.__importDefault(require("../../../model/Hl7Message")); /** * Submit HealthCare Services Invoice */ class EHC_E01_Message extends Hl7Message_1.default { constructor() { super(...arguments); this.compounds = { INVOICE_INFORMATION: { name: "INVOICE_INFORMATION", isOptional: false, isRepeatable: false, }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION", isOptional: false, isRepeatable: true, parentCompound: "INVOICE_INFORMATION", }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP", isOptional: false, isRepeatable: true, parentCompound: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION", }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO", isOptional: true, isRepeatable: true, parentCompound: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP", }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE", isOptional: false, isRepeatable: true, parentCompound: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO", }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS", isOptional: true, isRepeatable: true, parentCompound: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO", }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM", isOptional: false, isRepeatable: true, parentCompound: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP", }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE", isOptional: true, isRepeatable: true, parentCompound: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP", }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_INVOICE_PROCESSING: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_INVOICE_PROCESSING", isOptional: true, isRepeatable: true, parentCompound: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP", }, }; this.segments = { MSH: { name: "MSH", type: "MSH", isOptional: false, isRepeatable: false, value: [] }, SFT: { name: "SFT", type: "SFT", isOptional: true, isRepeatable: true, value: [] }, UAC: { name: "UAC", type: "UAC", isOptional: true, isRepeatable: true, value: [] }, INVOICE_INFORMATION_IVC: { name: "INVOICE_INFORMATION_IVC", type: "IVC", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION, value: [] }, INVOICE_INFORMATION_PYE: { name: "INVOICE_INFORMATION_PYE", type: "PYE", isOptional: true, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION, value: [] }, INVOICE_INFORMATION_CTD: { name: "INVOICE_INFORMATION_CTD", type: "CTD", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION, value: [] }, INVOICE_INFORMATION_AUT: { name: "INVOICE_INFORMATION_AUT", type: "AUT", isOptional: true, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION, value: [] }, INVOICE_INFORMATION_LOC: { name: "INVOICE_INFORMATION_LOC", type: "LOC", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION, value: [] }, INVOICE_INFORMATION_ROL: { name: "INVOICE_INFORMATION_ROL", type: "ROL", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PSS: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PSS", type: "PSS", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PSG: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PSG", type: "PSG", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_LOC: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_LOC", type: "LOC", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_ROL: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_ROL", type: "ROL", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_PID: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_PID", type: "PID", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_PV1: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_PV1", type: "PV1", isOptional: true, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_PV2: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_PV2", type: "PV2", isOptional: true, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_ACC: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_ACC", type: "ACC", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE_IN1: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE_IN1", type: "IN1", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE_IN2: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE_IN2", type: "IN2", isOptional: true, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_INSURANCE, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS_DG1: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS_DG1", type: "DG1", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS_NTE: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS_NTE", type: "NTE", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_DIAGNOSIS, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_OBX: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO_OBX", type: "OBX", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PATIENT_INFO, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_PSL: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_PSL", type: "PSL", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_NTE: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_NTE", type: "NTE", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_ADJ: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_ADJ", type: "ADJ", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_AUT: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_AUT", type: "AUT", isOptional: true, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_LOC: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_LOC", type: "LOC", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_ROL: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM_ROL", type: "ROL", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PRODUCT_SERVICE_LINE_ITEM, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE_PR1: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE_PR1", type: "PR1", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE_NTE: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE_NTE", type: "NTE", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE_ROL: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE_ROL", type: "ROL", isOptional: true, isRepeatable: true, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_PROCEDURE, value: [] }, INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_INVOICE_PROCESSING_IPR: { name: "INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_INVOICE_PROCESSING_IPR", type: "IPR", isOptional: false, isRepeatable: false, parentCompound: this.compounds.INVOICE_INFORMATION_PRODUCT_SERVICE_SECTION_PRODUCT_SERVICE_GROUP_INVOICE_PROCESSING, value: [] }, }; } get name() { return 'EHC_E01'; } get description() { return 'Submit HealthCare Services Invoice'; } } exports.default = EHC_E01_Message;