anchor.diff:      else if (resource.ResourceType = frtCodeSystem) then
       begin
         cs := TFhirCodeSystem(resource);
  -      FCodeSystemsById.AddOrSetValue(cs.id, cs.Link);
  -      FCodeSystemsByUrl.AddOrSetValue(cs.url, cs.Link);
  -      FBaseCodeSystems.AddOrSetValue(cs.url, cs.Link);
  -      if cs.valueSet <> '' then
  -        FCodeSystemsByVsUrl.AddOrSetValue(cs.valueSet, cs.Link);
  -      if (FDB <> nil) then // don't build stems in this case
  -        BuildStems(cs);
  +      AddCodeSystemToCache(cs, true);
       end
       {$ENDIF}
       else if (resource.ResourceType = frtConceptMap) then
  
positive.code: begin
    result := nil;
    if context = nil then
      result := TFhirCodeSystemProviderContext.create(FVs.codeSystem.conceptList[ndx])
    else
    begin
      if (ndx < TFhirCodeSystemProviderContext(context).context.conceptList.Count) then
  
negative.code:         FValueSetsByURL.Remove(vs.url);
          {$IFDEF FHIR2}
          if (vs.codeSystem <> nil) then
            removeCodeSystemFromCache(vs.codeSystem);
          {$ENDIF}
          FValueSetsById.Remove(vs.id); // vs is no longer valid
  
  