@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
JavaScript
"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;