Skip to content
← All projects

Build · Project Oracle

Healthcare Provider Intelligence

A healthcare-provider research pipeline that finds organisations, checks their data and prepares complete CRM records for review.

40+US metros + UK regions
~80%Less time per clinic
250 hrsSaved per 1,000 clinics

Problem

Organisation information was spread across maps, company databases, public clinic websites and an existing CRM. Records were duplicated, incomplete or out of date. Researching each organisation manually did not scale across more than 40 US metro areas and several UK regions.

Solution

I built a pipeline that discovers organisations, removes bad records, enriches valid ones, reads their public websites and prepares an organisation-level CRM entry with source links. This public case study leaves out individual-level contact handling and confidential implementation details.

Steps

  1. Search for clinics through Google Places and Apollo across defined regions. Use field masks and pagination so large searches return only the data needed.
  2. Normalise website domains and merge duplicates from different sources. Compare them with existing Attio records before creating anything new.
  3. Reject parked domains, directory listings, veterinary practices and other false matches. Check website health concurrently across the remaining list.
  4. Enrich organisations with employee count, estimated revenue and technology data from Apollo.
  5. Map each clinic website with Firecrawl and a custom breadth-first crawler. The crawler handles standard links, JavaScript onclick targets and meta-refresh redirects.
  6. Use roughly 60 rules to rank pages likely to contain services, ownership details and organisation information before scraping them.
  7. Extract structured organisation facts from the selected pages. Each field includes its source and a confidence score. Retained analysis is anonymised and this case study omits any person-level detail.
  8. Score record completeness with code so reviewers can focus on records with missing or conflicting evidence.
  9. Write approved records to Attio through its API. If a field is invalid, remove that field, log the reason and retry the rest instead of losing the whole record.
  10. Use checkpoints, token-bucket rate limits and retry rules so large regional batches can resume after an API or network failure.

Results and benefits

Manual research and CRM entry takes 15 to 25 minutes per clinic. The pipeline reduces this to two to four minutes of final review, saving about 80% of the time.

Across 1,000 clinics, that equates to roughly 250 hours saved. Records arrive with organisation details, source links and confidence flags ready for review.

Focus
Healthcare organisation discovery, research and CRM preparation
Stack
Python, location and organisation data APIs, a web crawler, structured extraction, Airtable, Attio and concurrent workers
Skills
Data collection, deduplication, crawling, structured extraction, entity resolution, CRM integration and resilient batch processing
Status
Operating in production

Related work

More projects.

Get in touch

Working on something difficult in health, care or AI?

I occasionally work with founders, product teams, operators, consultancies and investors on healthcare products, workflows and special projects.

Start a conversation