I managed to get this working with your method, thanks for your help 

Just wondering at this point if the hierarchy of the method I am using needs to be adjusted, as changing the class only did not help..

Yes I updated the variable name here is the class

Class BDROWA.Service.BDROWAACK Extends EnsLib.HL7.Service.TCPService
{

Method OnConstructReply(Output pResponse As EnsLib.EDI.Document, pRequest As EnsLib.EDI.Document, ByRef pReplyCode As %String, ByRef pSC As %Status, pEarlyAck As %Boolean) As %Status
{
    Set pResponse=##class(EnsLib.HL7.Message).%New()
    Set pResponse.DocType="2.4:ACK"
    Set MSHStr="MSH|^~\&|EnsembleHL7|ISC|ARiM Server|ROWA|"_$REPLACE($REPLACE($ZDATETIME($HOROLOG,8,1),":",""), " ","")_"||ACK|"_pRequest.GetValueAt("MSH:10")_"|P|2.3"
    Set MSHSeg=##class(EnsLib.HL7.Segment).ImportFromString(MSHStr,.tSC,pRequest.Separators)
    Set MSAStr="MSA|AA|"_pRequest.GetValueAt("MSH:10")
    Set MSASeg=##class(EnsLib.HL7.Segment).ImportFromString(MSAStr,.tSC,pRequest.Separators)
    Set tSC=pResponse.SetSegmentAt(MSHSeg,1)
    Set tSC=pResponse.AppendSegment(MSASeg)

    Quit tSC
}

}

The restart did not help

The code that I have used is as above in the original post

I did try to restart the Service just now but as before it still sends standard ACK back 

I did try to change the settings to Application got ACK Mode but had no joy

Thanks for your response, I have created a new Class with the OnConstructReply Method and changed the Class for the Service under the Action tab but it still does not call the Class when sending an ACK back to the sending system, is this the correct way of applying the class?

Thanks for the suggestions, I wanted to also ask if anyone knows if I could use a line separator (Or a better suggestion) instead of the "," 

I am extracting data from a JSON message into a HL7 and I am trying to identify a unique character I can use as a separator 

For example I could use the "," as the separator but it might be used as free text within the line 

e.g.

"Not  Working Example": "x, y, z, a, b, c",

essentially it could be an infinite amount of characters separated with "," within the message