diff --git a/mirth/channels/04_003_SWF_MWL/04_003 SWF ORM.xml b/mirth/channels/04_003_SWF_MWL/04_003 SWF ORM.xml
new file mode 100644
index 0000000..cf7d060
--- /dev/null
+++ b/mirth/channels/04_003_SWF_MWL/04_003 SWF ORM.xml
@@ -0,0 +1,566 @@
+
+ 98c539b4-3aaf-43e3-a090-c6f427747d3b
+ 2
+ 04_003 SWF ORM
+
+ true
+
+
+ America/Montevideo
+
+ 5
+
+ 0
+ sourceConnector
+
+
+
+ 0.0.0.0
+ 6990
+
+
+ d1
+ true
+ false
+ true
+ 1
+
+
+ Default Resource
+ [Default Resource]
+
+
+ 1000
+
+
+ MLLP
+ 0B
+ 1C0D
+ false
+ 06
+ 15
+ 2
+
+ true
+
+
+ false
+ 5000
+ 0
+ 65536
+ 10
+ true
+ false
+ DEFAULT_ENCODING
+ 0
+
+
+
+
+
+
+ 0
+ New Step
+
+ JavaScript
+
+
+ Script
+ logger.info($('remoteAddress'));
+
+
+
+
+ TVNIfF5+XCZ8TUVTQV9PRnxYWVpfUkFESU9MT0dZfE1FU0FfSU18WFlaX0lNQUdFX01BTkFHRVJ8
+fHxPUk1eTzAxfDEwMDExMnxQfDIuMy4xfHx8fHx8fHwNUElEfHx8TTQwMDBeXl5BRFQxfHxLSU5H
+Xk1BUlRJTnx8MTk0NTA4MDR8TXx8V0h8ODIgMCBKT1JJRSBCTFZEXl5DSElDQUdPXklMXjYwNTIz
+fHx8fHx8fDIwLTk4LTQwMDB8fHx8fHx8fHx8fHx8fHx8fHx8fHwNUFYxfHxFfEVEfHx8fDEyMzRe
+V0VBVkVSXlRJTU9USFleUF5eRFJ8NTEwMV5ORUxMXkZSRURFUklDS15QXl5EUnx8fHx8fHx8fHx8
+VjEwMF5eXkFEVDF8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8MjAwMDA4MjAxMTAwfHx8fHx8fFZ8
+DU9SQ3xOV3xBMTAwWl5NRVNBX09SRFBMQ3xCMTAwWl5NRVNBX09SREZJTHx8U0N8fDFeb25jZV5e
+Xl5TfHwyMDAwMDgxNjE1MTB8XlJPU0VXT09EXlJBTkRPTFBIfHw3MTAxXkVTVFJBREFeSkFJTUVe
+UF5eRFJ8fCgzMTQpNTU1LTEyMTJ8MjAwMDA4MTYxNTEwfHw5MjIyMjktMTBeSUhFLVJBRF5JSEUt
+Q09ERS0yMzF8fA1PQlJ8MXxBMTAwWl5NRVNBX09SRFBMQ3xCMTAwWl5NRVNBX09SREZJTHxQMV5Q
+cm9jZSBkdXJlIDFeRVJMX01FU0FeWDFfQTFeU1AgQWN0aW9uIEl0ZW0gWDFfQTFeRFNTX01FU0F8
+fHx8fHx8fHx4eHh8fFJhZGlvbG9neV5eXl5SfDcxMDFeRVNUUkFEQV5KQUlNRV5QXl5EUnx8WFI5
+OTk5OTl8UlAxMjM0NTZ8U1BTMTIzNDU2fHx8fE1SfHx8MV5vbmNlXl5eXlN8fHxXQUxLfHx8fHx8
+fHx8fHxBfHx8UlBfWDFeUlAgQWN0aW9uIEl0ZW0gUlBfWDFeRFNTX01FU0ENWkRTfDEuMi4xXjEw
+MF5BcHBsaWNhdGlvbl5ESUNPTQ0=
+
+ HL7V2
+ HL7V2
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+
+
+ 0
+ Accept message if "Message Header - Message Type - Message Type (MSH.9.1)" equals 'ORM'
+
+
+ Field
+ msg['MSH']['MSH.9']['MSH.9.1'].toString()
+
+
+ Name
+ Message Header - Message Type - Message Type (MSH.9.1)
+
+
+ OriginalField
+ msg['MSH']['MSH.9']['MSH.9.1'].toString()
+
+
+ Equals
+ 1
+
+
+ Values
+
+ 'ORM'
+
+
+
+ Rule Builder
+
+ NONE
+
+
+ 1
+ Accept message if "Observation Request - Universal Service ID - Identifier (OBR.4.1)" exists
+
+
+ Field
+ msg['OBR']['OBR.4']['OBR.4.1'].toString()
+
+
+ Name
+ Observation Request - Universal Service ID - Identifier (OBR.4.1)
+
+
+ OriginalField
+ msg['OBR']['OBR.4']['OBR.4.1'].toString()
+
+
+ Equals
+ 2
+
+
+ Values
+
+
+
+ Rule Builder
+
+ AND
+
+
+ 2
+ Accept message if "Observation Request - Diagnostic Serv Sect ID - Value (OBR.24.1)" exists
+
+
+ Field
+ msg['OBR']['OBR.24']['OBR.24.1'].toString()
+
+
+ Name
+ Observation Request - Diagnostic Serv Sect ID - Value (OBR.24.1)
+
+
+ OriginalField
+ msg['OBR']['OBR.24']['OBR.24.1'].toString()
+
+
+ Equals
+ 2
+
+
+ Values
+
+
+
+ Rule Builder
+
+ AND
+
+
+
+ TCP Listener
+ SOURCE
+ true
+ true
+
+
+
+ 1
+ Destination 1
+
+
+
+ false
+ false
+ 10000
+ false
+ 0
+ false
+ false
+ 1
+
+ true
+
+
+ Default Resource
+ [Default Resource]
+
+
+ 1000
+
+
+ MLLP
+ 0B
+ 1C0D
+ false
+ 06
+ 15
+ 2
+
+ 192.168.1.103
+ 2575
+ false
+ 0.0.0.0
+ 0
+ 5000
+ 65536
+ false
+ false
+ 5000
+ false
+ true
+ false
+ DEFAULT_ENCODING
+ ${message.encodedData}
+
+
+
+ HL7V2
+ HL7V2
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+
+
+ 0
+ New Step
+
+ JavaScript
+
+
+ Script
+ logger.info('response from DCM4CHEE');
+logger.info(msg);
+
+
+
+
+
+
+ HL7V2
+ HL7V2
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+
+
+ TCP Sender
+ DESTINATION
+ true
+ true
+
+
+ // Modify the message variable below to pre process data
+return message;
+ // This script executes once after a message has been processed
+// Responses returned from here will be stored as "Postprocessor" in the response map
+return;
+ // This script executes once when the channel is deployed
+// You only have access to the globalMap and globalChannelMap here to persist data
+return;
+ // This script executes once when the channel is undeployed
+// You only have access to the globalMap and globalChannelMap here to persist data
+return;
+
+ true
+ DEVELOPMENT
+ false
+ false
+ false
+ false
+ STARTED
+ false
+
+
+
+ SOURCE
+ STRING
+ mirth_source
+
+
+ TYPE
+ STRING
+ mirth_type
+
+
+
+ None
+
+
+ true
+
+
+ Default Resource
+ [Default Resource]
+
+
+
+
+
\ No newline at end of file
diff --git a/mirth/channels/04_004_SWF_SR/04_004 SWF ORU.xml b/mirth/channels/04_004_SWF_SR/04_004 SWF ORU.xml
new file mode 100644
index 0000000..39387d5
--- /dev/null
+++ b/mirth/channels/04_004_SWF_SR/04_004 SWF ORU.xml
@@ -0,0 +1,565 @@
+
+ 7c7247f2-b8e6-4811-9501-1e2828fd1993
+ 2
+ 04_004 SWF ORU
+
+ true
+
+
+ America/Montevideo
+
+ 3
+
+ 0
+ sourceConnector
+
+
+
+ 0.0.0.0
+ 6991
+
+
+ d1
+ true
+ false
+ true
+ 1
+
+
+ Default Resource
+ [Default Resource]
+
+
+ 1000
+
+
+ MLLP
+ 0B
+ 1C0D
+ false
+ 06
+ 15
+ 2
+
+ true
+
+
+ false
+ 5000
+ 0
+ 65536
+ 10
+ true
+ false
+ DEFAULT_ENCODING
+ 0
+
+
+
+
+
+
+ 0
+ New Step
+
+ JavaScript
+
+
+ Script
+ logger.info($('remoteAddress'));
+
+
+
+
+ TVNIfF5+XCZ8TUVTQV9SUFRfTUdSfEVBU1RfUkFESU9MT0dZfFJFUE9TSVRPUll8WFlafHx8T1JV
+XlIwMXwxMjM1Njc4NzY1NDN8UHwyLjMuMQ1QSUR8MXx8NTU1NTU1NXx8TUlTVEVSXkNSfHx8fHx8
+fHx8fHx8fDEyMzQ1NjQ0NA1PQlJ8MXxBNjAxWl5NRVNBX09SRFBMQ3xCNjAxWl5NRVNBX09SREZJ
+THxCNjAxWl5NRVNBX09SREZJTF50ZXN0fHx8MjAwMTA1MDExNDE1MDB8fHx8fHx8fHx8fHx8fHwy
+MDAxMDEwOTEwMDgyMXx8fEZ8fHx8fHx8fHx8fA1PQlh8MXxIRHxeU3R1ZHkgSW5zdGFuY2UgVUlE
+fHwxLjMuNTEuMC43LjYzMzkxODY0Mi42MzM5MjAwMTAxMDkuNjMzOTEwMDgyMXx8fHx8fEYNT0JY
+fDJ8SER8XlNlcmllcyBJbnN0YW5jZSBVSUR8fDEuMy41MS4wLjcuMTExMTEuMjIyMjIuMzMzMzN8
+fHx8fHxGDU9CWHwzfEhEfF5TT1AgSW5zdGFuY2UgVUlEfHwxLjMuNTEuMC43LjExMTExLjIyMjIy
+LjMzMzMzLjU1NTV8fHx8fHxGDU9CWHw0fEhEfF5TUiBJbnN0YW5jZSBVSUR8fDEuMy41MS4wLjcu
+MTExMTEuMjIyMjIuMzMzMzMuNDQ0NHx8fHx8fEYNT0JYfDV8VFh8XlNSIFRleHR8fEhpc3Rvcnkg
+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyfHx8fHx8Rg1PQlh8NnxUWHxe
+U1IgVGV4dHx8RmluZGluZ3MgTnVsbGFtIHZpdGFlIHRpbmNpZHVudCB0dXJwaXN8fHx8fHxGDU9C
+WHw3fFRYfF5TUiBUZXh0fHxDb25jbHVzaW9ucyBNb3JiaSB1dCBtYWduYSBpbiBhbnRlIHBvcnR0
+aXRvciBoZW5kcmVyaXR8fHx8fHxGDQ==
+
+ HL7V2
+ HL7V2
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+
+
+ 0
+ Accept message if "Message Header - Message Type - Message Type (MSH.9.1)" equals 'ORU'
+
+
+ Field
+ msg['MSH']['MSH.9']['MSH.9.1'].toString()
+
+
+ Name
+ Message Header - Message Type - Message Type (MSH.9.1)
+
+
+ OriginalField
+ msg['MSH']['MSH.9']['MSH.9.1'].toString()
+
+
+ Equals
+ 1
+
+
+ Values
+
+ 'ORU'
+
+
+
+ Rule Builder
+
+ NONE
+
+
+ 1
+ Accept message if "Observation Request - Placer Order Number - Entity Identifier (OBR.2.1)" exists
+
+
+ Field
+ msg['OBR']['OBR.2']['OBR.2.1'].toString()
+
+
+ Name
+ Observation Request - Placer Order Number - Entity Identifier (OBR.2.1)
+
+
+ OriginalField
+ msg['OBR']['OBR.2']['OBR.2.1'].toString()
+
+
+ Equals
+ 2
+
+
+ Values
+
+
+
+ Rule Builder
+
+ AND
+
+
+ 2
+ Accept message if "Observation/Result [0] (OBX)" exists
+
+
+ Field
+ msg['OBX'][0].toString()
+
+
+ Name
+ Observation/Result [0] (OBX)
+
+
+ OriginalField
+ msg['OBX'][0].toString()
+
+
+ Equals
+ 2
+
+
+ Values
+
+
+
+ Rule Builder
+
+ AND
+
+
+
+ TCP Listener
+ SOURCE
+ true
+ true
+
+
+
+ 1
+ Destination 1
+
+
+
+ false
+ false
+ 10000
+ false
+ 0
+ false
+ false
+ 1
+
+ true
+
+
+ Default Resource
+ [Default Resource]
+
+
+ 1000
+
+
+ MLLP
+ 0B
+ 1C0D
+ false
+ 06
+ 15
+ 2
+
+ 192.168.1.103
+ 2575
+ false
+ 0.0.0.0
+ 0
+ 5000
+ 65536
+ false
+ false
+ 5000
+ false
+ true
+ false
+ DEFAULT_ENCODING
+ ${message.encodedData}
+
+
+
+ HL7V2
+ HL7V2
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+
+
+ 0
+ New Step
+
+ JavaScript
+
+
+ Script
+ logger.info('response from DCM4CHEE');
+logger.info(msg);
+
+
+
+
+
+
+ HL7V2
+ HL7V2
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+ true
+ true
+ false
+ false
+ true
+ \r
+ true
+
+
+ false
+ false
+ \r
+
+
+ MSH_Segment
+
+
+
+ \r
+ AA
+
+ AE
+ An Error Occurred Processing Message.
+ AR
+ Message Rejected.
+ false
+ yyyyMMddHHmmss.SSS
+
+
+ AA,CA
+ AE,CE
+ AR,CR
+ true
+ Destination_Encoded
+
+
+
+
+
+
+
+ TCP Sender
+ DESTINATION
+ true
+ true
+
+
+ // Modify the message variable below to pre process data
+return message;
+ // This script executes once after a message has been processed
+// Responses returned from here will be stored as "Postprocessor" in the response map
+return;
+ // This script executes once when the channel is deployed
+// You only have access to the globalMap and globalChannelMap here to persist data
+return;
+ // This script executes once when the channel is undeployed
+// You only have access to the globalMap and globalChannelMap here to persist data
+return;
+
+ true
+ DEVELOPMENT
+ false
+ false
+ false
+ false
+ STARTED
+ false
+
+
+
+ SOURCE
+ STRING
+ mirth_source
+
+
+ TYPE
+ STRING
+ mirth_type
+
+
+
+ None
+
+
+ true
+
+
+ Default Resource
+ [Default Resource]
+
+
+
+
+
\ No newline at end of file