@dotbase/hl7-v2-message
Version:
Parses HL7 v2.x messages into typed javascript objects and makes them easily accessable.
193 lines (192 loc) • 6.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const Hl7Message_1 = tslib_1.__importDefault(require("../../../model/Hl7Message"));
/**
* General Clinical Order Acknowledgment Message
*/
class ORG_O20_Message extends Hl7Message_1.default {
constructor() {
super(...arguments);
this.compounds = {
RESPONSE: {
name: "RESPONSE",
isOptional: true,
isRepeatable: false,
},
RESPONSE_PATIENT: {
name: "RESPONSE_PATIENT",
isOptional: true,
isRepeatable: false,
parentCompound: "RESPONSE",
},
RESPONSE_ORDER: {
name: "RESPONSE_ORDER",
isOptional: false,
isRepeatable: true,
parentCompound: "RESPONSE",
},
RESPONSE_ORDER_TIMING: {
name: "RESPONSE_ORDER_TIMING",
isOptional: true,
isRepeatable: true,
parentCompound: "RESPONSE_ORDER",
},
RESPONSE_ORDER_OBSERVATION_GROUP: {
name: "RESPONSE_ORDER_OBSERVATION_GROUP",
isOptional: true,
isRepeatable: false,
parentCompound: "RESPONSE_ORDER",
},
RESPONSE_ORDER_SPECIMEN: {
name: "RESPONSE_ORDER_SPECIMEN",
isOptional: true,
isRepeatable: true,
parentCompound: "RESPONSE_ORDER",
},
};
this.segments = {
MSH: {
name: "MSH",
type: "MSH",
isOptional: false,
isRepeatable: false,
value: []
},
MSA: {
name: "MSA",
type: "MSA",
isOptional: false,
isRepeatable: false,
value: []
},
ERR: {
name: "ERR",
type: "ERR",
isOptional: true,
isRepeatable: true,
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: []
},
RESPONSE_PATIENT_PID: {
name: "RESPONSE_PATIENT_PID",
type: "PID",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.RESPONSE_PATIENT,
value: []
},
RESPONSE_PATIENT_NTE: {
name: "RESPONSE_PATIENT_NTE",
type: "NTE",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.RESPONSE_PATIENT,
value: []
},
RESPONSE_PATIENT_PRT: {
name: "RESPONSE_PATIENT_PRT",
type: "PRT",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.RESPONSE_PATIENT,
value: []
},
RESPONSE_ORDER_ORC: {
name: "RESPONSE_ORDER_ORC",
type: "ORC",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.RESPONSE_ORDER,
value: []
},
RESPONSE_ORDER_TIMING_TQ1: {
name: "RESPONSE_ORDER_TIMING_TQ1",
type: "TQ1",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.RESPONSE_ORDER_TIMING,
value: []
},
RESPONSE_ORDER_TIMING_TQ2: {
name: "RESPONSE_ORDER_TIMING_TQ2",
type: "TQ2",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.RESPONSE_ORDER_TIMING,
value: []
},
RESPONSE_ORDER_OBSERVATION_GROUP_OBR: {
name: "RESPONSE_ORDER_OBSERVATION_GROUP_OBR",
type: "OBR",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.RESPONSE_ORDER_OBSERVATION_GROUP,
value: []
},
RESPONSE_ORDER_PRT: {
name: "RESPONSE_ORDER_PRT",
type: "PRT",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.RESPONSE_ORDER,
value: []
},
RESPONSE_ORDER_NTE: {
name: "RESPONSE_ORDER_NTE",
type: "NTE",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.RESPONSE_ORDER,
value: []
},
RESPONSE_ORDER_CTI: {
name: "RESPONSE_ORDER_CTI",
type: "CTI",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.RESPONSE_ORDER,
value: []
},
RESPONSE_ORDER_SPECIMEN_SPM: {
name: "RESPONSE_ORDER_SPECIMEN_SPM",
type: "SPM",
isOptional: false,
isRepeatable: false,
parentCompound: this.compounds.RESPONSE_ORDER_SPECIMEN,
value: []
},
RESPONSE_ORDER_SPECIMEN_SAC: {
name: "RESPONSE_ORDER_SPECIMEN_SAC",
type: "SAC",
isOptional: true,
isRepeatable: true,
parentCompound: this.compounds.RESPONSE_ORDER_SPECIMEN,
value: []
},
};
}
get name() { return 'ORG_O20'; }
get description() { return 'General Clinical Order Acknowledgment Message'; }
}
exports.default = ORG_O20_Message;