anchor.diff:                  end;
                   if noErrCode then
                     response.ResponseNo := 200;
  -                response.WriteContent;
                   RecordExchange(oRequest, oResponse);
                 except
                   on e: exception do
  
positive.code:       issue.Free;
      end;
    end;
    response.WriteContent;
  end;
  
  procedure TFhirWebServer.SetSourceProvider(const Value: TFHIRWebServerSourceProvider);
  
negative.code:   End;
  end;
  
  procedure TFhirWebServer.logRequest(secure : boolean; id: String; request: TIdHTTPRequestInfo);
  var
    package : TStringBuilder;
    b : TBytes;
  begin
    package := TStringBuilder.Create;
    try
      package.Append('-----------------------------------------------------------------'#13#10);
      if secure then
        package.Append('https - ')
      else
        package.Append('http - ');
      package.Append(id);
      package.Append(' @ ');
      package.Append(TDateTimeEx.makeUTC.toXML);
      package.Append(#13#10);
      package.Append(request.RawHTTPCommand);
      package.Append(#13#10);
      package.Append(request.RawHeaders.Text);
      if request.PostStream <> nil then
      begin
        package.Append(#13#10);
        SetLength(b, request.PostStream.Size);
        request.PostStream.Read(b[0], length(b));
        request.PostStream.Position := 0;
        package.Append(EncodeBase64(@b[0], length(b)));
        package.Append(#13#10);
      end
      else if request.ContentType = 'application/x-www-form-urlencoded' then
      begin
        package.Append(#13#10);
        package.Append(request.UnparsedParams);
        package.Append(#13#10);
      end;
  
      FInLog.WriteToLog(package.ToString);
    finally
      package.Free;
    end;
  end;
  
  procedure TFhirWebServer.logResponse(id: String; resp: TIdHTTPResponseInfo);
  var
    package : TStringBuilder;
    b : TBytes;
  begin
    package := TStringBuilder.Create;
    try
      package.Append('-----------------------------------------------------------------'#13#10);
      package.Append('resp - ');
      package.Append(id);
      package.Append(' @ ');
      package.Append(TDateTimeEx.makeUTC.toXML);
      package.Append(#13#10);
      package.Append(inttostr(resp.ResponseNo)+' '+resp.ResponseText);
      package.Append(#13#10);
      package.Append(resp.RawHeaders.Text);
      if resp.ContentStream <> nil then
      begin
        package.Append(#13#10);
        SetLength(b, resp.ContentStream.Size);
        resp.ContentStream.Read(b[0], length(b));
        resp.ContentStream.Position := 0;
        package.Append(EncodeBase64(@b[0], length(b)));
        package.Append(#13#10);
      end
      else if resp.ContentText <> '' then
      begin
        package.Append(#13#10);
        package.Append(resp.ContentText);
        package.Append(#13#10);
      end;
  
      FOutLog.WriteToLog(package.ToString);
    finally
      package.Free;
    end;
  end;
  
  function TFhirWebServer.LookupReference(Context: TFHIRRequest; id: String): TResourceWithReference;
  var
    store: TFHIROperationEngine;
  