Calls to RemoteObject are asynchronous - the return value from fAccompRemote.getValidTreatments is an AsyncToken, which defines how the results (when they are returned) will be handled.
When the remote call returns, it will invoke either the result handler or the fault handler, depending on if the call was successful or had a fault.
There are a couple of different ways you can set up the response handler for your code - you can either addEventListener on the call, or set the responder in the AsyncToken returned from the call.
fAccompRemote.addEventListener(ResultEvent.RESULT, resultHandler);
fAccompRemote.getValidTreatments(...)
-or-
var token:AsyncToken = fAccompRemote.getValidTreatments(...);
token.addResponder(new AsyncResponder(resultHandler, faultHandler));
In either case, resultHandler
receives a ResultEvent event, with the ArrayCollection that you returned from getValidTreatments
protected function resultHandler(event:ResultHandler):void
{
var results:ArrayCollection = event.result as ArrayCollection;
}