UNPKG

@redoxengine/redox-hl7-v2

Version:

A parser for hl7 version 2 messages. Creates json from v2 messages, and creates v2 messages from json.

127 lines (112 loc) 3.16 kB
describe('Function: writeField', function() { var ret, field, generator; before(function(){ generator = new v2.Generator(); }); it('should handle simple fields like MSH.10', function(){ ret = generator.writeField('12345', 'MSH.10'); expect(ret).to.equal('12345'); }); it('should handle varies fields like OBX.5', function(){ field = { 2: 'PDF', 3: { 1: 'FAKE COMPONENT' }, 4: { 2: 'ANOTHER FAKE COMPONENT' }, 5: 'I AM A PDF DOCUMENT' }; ret = generator.writeField(field, 'OBX.5'); expect(ret).to.equal('^PDF^FAKE COMPONENT^&ANOTHER FAKE COMPONENT^I AM A PDF DOCUMENT'); }); it('should handle varies fields like OBX.5.2', function(){ field = { 2: 'PDF', 3: { 1: 'FAKE COMPONENT' }, 4: { 2: 'ANOTHER FAKE COMPONENT' }, 5:{ 1: '|O|', 2 :'I AM A PDF DOCUME\\NT' } }; ret = generator.writeField(field, 'OBX.5'); expect(ret).to.equal('^PDF^FAKE COMPONENT^&ANOTHER FAKE COMPONENT^\\F\\O\\F\\&I AM A PDF DOCUME\\E\\NT'); }); it('should handle simple varies fields', function(){ ret = generator.writeField('VALUE', 'OBX.5'); expect(ret).to.equal('VALUE'); }); it('should handle complex fields like PID.3', function(){ field = { 1: 'ID', 2: 'CHECK DIGIT', 3: 'CODE', 4: { 1: 'namespace', 2: 'universal', 3: 'type' }, 5: 'typecode', 6: { 1: 'namespace', 3: 'type' }, }; ret = generator.writeField(field, 'PID.3'); expect(ret).to.equal('ID^CHECK DIGIT^CODE^namespace&universal&type^typecode^namespace&&type'); }); it('should handle a complex field like PID.3 with simple data', function(){ ret = generator.writeField({1: '12345'}, 'PID.3'); expect(ret).to.equal('12345'); field = { 1: '12345', 4: { 1: 'MR' } }; ret = generator.writeField(field, 'PID.3'); expect(ret).to.equal('12345^^^MR'); }); it('should handle null values for string fields', function(){ ret = generator.writeField(null, 'MSH.10'); expect(ret).to.equal(''); }); it('should handle null values for complex fields', function(){ ret = generator.writeField({1: null}, 'PID.3'); expect(ret).to.equal(''); }); it('should should handle null values for simple varies fields', function(){ ret = generator.writeField(null, 'OBX.5'); expect(ret).to.equal(''); }); it('should should handle null values for varies fields', function(){ field = { 2: 'PDF|', 3: { 1: null }, 4: { 2: 'ANOTHER FAKE COMPONENT|' }, 5: null }; ret = generator.writeField(field, 'OBX.5'); expect(ret).to.equal('^PDF\\F\\^^&ANOTHER FAKE COMPONENT\\F\\^'); }); it('should escape HL7 control characters', function(){ ret = generator.writeField({1: '12345'}, 'PID.3'); expect(ret).to.equal('12345'); field = { 1: '12345\\', 4: { 1: 'MR' } }; ret = generator.writeField(field, 'PID.3'); expect(ret).to.equal('12345\\E\\^^^MR'); }); });