HL7v2/packages/shared/types.ts

20 lines
702 B
TypeScript

export enum ConnectionState {
connecting = 'connecting',
connected = 'connected',
disconnected = 'disconnected',
}
export enum MessageType {
assign_id = 'assign_id',
send_hl7v2 = 'send_hl7v2',
receive_hl7v2 = 'receive_hl7v2',
delivery_error = 'delivery_error',
}
export type Message =
| { type: MessageType.assign_id, payload: { stationId: string }}
| { type: MessageType.send_hl7v2, payload: { message: string }}
| { type: MessageType.receive_hl7v2, payload: { message: string, timestamp: string }}
| { type: MessageType.delivery_error, payload: { error: string }}
export type ReceiveHl7v2Message = Extract<Message, { type: MessageType.receive_hl7v2 }>;