@dotbase/hl7-v2-message
Version:
Parses HL7 v2.x messages into typed javascript objects and makes them easily accessable.
258 lines (257 loc) • 8.36 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const Hl7Message_1 = tslib_1.__importDefault(require("../../../model/Hl7Message"));
/**
* Blood Product Order Message
*/
class OMB_O27_Message extends Hl7Message_1.default {
constructor() {
super(...arguments);
this.compounds = {
PATIENT: {
name: "PATIENT",
isOptional: true,
isRepeatable: false,
},
PATIENT_PATIENT_VISIT: {
name: "PATIENT_PATIENT_VISIT",
isOptional: true,
isRepeatable: false,
parentCompound: "PATIENT",
},
PATIENT_INSURANCE: {
name: "PATIENT_INSURANCE",
isOptional: true,
isRepeatable: true,
parentCompound: "PATIENT",
},
ORDER: {
name: "ORDER",
isOptional: false,
isRepeatable: true,
},
ORDER_TIMING: {
name: "ORDER_TIMING",
isOptional: true,
isRepeatable: true,
parentCompound: "ORDER",
},
ORDER_OBSERVATION: {
name: "ORDER_OBSERVATION",
isOptional: true,
isRepeatable: true,
parentCompound: "ORDER",
},
};
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: false,
value: []
},
NTE: {
name: "NTE",
type: "NTE",
isOptional: true,
isRepeatable: true,
value: []
},
PATIENT_PID: {
name: "PATIENT_PID",
type: "PID",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.PATIENT,
value: []
},
PATIENT_PD1: {
name: "PATIENT_PD1",
type: "PD1",
isOptional: true,
isRepeatable: false,
parentCompound: this.compounds.PATIENT,
value: []
},
PATIENT_PRT: {
name: "PATIENT_PRT",
type: "PRT",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.PATIENT,
value: []
},
PATIENT_NTE: {
name: "PATIENT_NTE",
type: "NTE",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.PATIENT,
value: []
},
PATIENT_PATIENT_VISIT_PV1: {
name: "PATIENT_PATIENT_VISIT_PV1",
type: "PV1",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.PATIENT_PATIENT_VISIT,
value: []
},
PATIENT_PATIENT_VISIT_PV2: {
name: "PATIENT_PATIENT_VISIT_PV2",
type: "PV2",
isOptional: true,
isRepeatable: false,
parentCompound: this.compounds.PATIENT_PATIENT_VISIT,
value: []
},
PATIENT_INSURANCE_IN1: {
name: "PATIENT_INSURANCE_IN1",
type: "IN1",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.PATIENT_INSURANCE,
value: []
},
PATIENT_INSURANCE_IN2: {
name: "PATIENT_INSURANCE_IN2",
type: "IN2",
isOptional: true,
isRepeatable: false,
parentCompound: this.compounds.PATIENT_INSURANCE,
value: []
},
PATIENT_INSURANCE_IN3: {
name: "PATIENT_INSURANCE_IN3",
type: "IN3",
isOptional: true,
isRepeatable: false,
parentCompound: this.compounds.PATIENT_INSURANCE,
value: []
},
PATIENT_GT1: {
name: "PATIENT_GT1",
type: "GT1",
isOptional: true,
isRepeatable: false,
parentCompound: this.compounds.PATIENT,
value: []
},
PATIENT_AL1: {
name: "PATIENT_AL1",
type: "AL1",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.PATIENT,
value: []
},
ORDER_ORC: {
name: "ORDER_ORC",
type: "ORC",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.ORDER,
value: []
},
ORDER_TIMING_TQ1: {
name: "ORDER_TIMING_TQ1",
type: "TQ1",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.ORDER_TIMING,
value: []
},
ORDER_TIMING_TQ2: {
name: "ORDER_TIMING_TQ2",
type: "TQ2",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.ORDER_TIMING,
value: []
},
ORDER_BPO: {
name: "ORDER_BPO",
type: "BPO",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.ORDER,
value: []
},
ORDER_SPM: {
name: "ORDER_SPM",
type: "SPM",
isOptional: true,
isRepeatable: false,
parentCompound: this.compounds.ORDER,
value: []
},
ORDER_NTE: {
name: "ORDER_NTE",
type: "NTE",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.ORDER,
value: []
},
ORDER_DG1: {
name: "ORDER_DG1",
type: "DG1",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.ORDER,
value: []
},
ORDER_OBSERVATION_OBX: {
name: "ORDER_OBSERVATION_OBX",
type: "OBX",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.ORDER_OBSERVATION,
value: []
},
ORDER_OBSERVATION_NTE: {
name: "ORDER_OBSERVATION_NTE",
type: "NTE",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.ORDER_OBSERVATION,
value: []
},
ORDER_FT1: {
name: "ORDER_FT1",
type: "FT1",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.ORDER,
value: []
},
ORDER_BLG: {
name: "ORDER_BLG",
type: "BLG",
isOptional: true,
isRepeatable: false,
parentCompound: this.compounds.ORDER,
value: []
},
};
}
get name() { return 'OMB_O27'; }
get description() { return 'Blood Product Order Message'; }
}
exports.default = OMB_O27_Message;