ChallengesDocs

Q3 Solution

Get the Partner Hospital's records and submit the standardization dictionary

Q3 Solution

Partner Hospital Records

GET /api/v2/partner/records

The Partner Hospital's inventory, with the same columns as the health system's facilities. Customer is Partner Hospital and record IDs start with P-. It takes the same limit and cursor query parameters as /api/v2/hospitals/:id/records and needs your API key.

{
  "facility": "P",
  "total": 655,
  "records": [
    {
      "record_id": "P-0k2m9x",
      "Customer": "Partner Hospital",
      "Hospital Department": "MED SURG 4",
      "Billing Business Unit": "",
      "CEID": "948909083",
      "Serial Number": "4E5A084696",
      "Manufacturer (MFG)": "GE MEDICAL SYSTEMS",
      "Model Name": "PATIENT DATA MODULE (PDM)",
      "Description ID": "PHYSIOLOGIC MONITOR MODULES MULTIPARAMETER",
      "Manufactured Date": "2024-07-18"
    }
  ],
  "next_cursor": "NTAw"
}

Submit the Dictionary

POST /api/v2/q3/solution

FieldTypeNotes
dictionaryobjectOne key per standard device: <Manufacturer>||<Model>
dictionary[key][]arrayEvery raw spelling of that device, once per source
dictionary[key][].raw_manufacturerstringManufacturer (MFG) as it appears in the records
dictionary[key][].raw_modelstringModel Name as it appears in the records
dictionary[key][].countintegerRecords from this source with this spelling
dictionary[key][].sourcestringA to E, or P for the Partner Hospital
processstringMarkdown, up to 12,000 characters: how you built the dictionary
{
  "dictionary": {
    "Zoll||R Series": [
      {
        "raw_manufacturer": "ZOLL",
        "raw_model": "R SERIES",
        "count": 31,
        "source": "A"
      },
      {
        "raw_manufacturer": "ZOLL",
        "raw_model": "R SERIES",
        "count": 4,
        "source": "C"
      },
      {
        "raw_manufacturer": "ZOLL MEDICAL CORP",
        "raw_model": "R-SERIES",
        "count": 2,
        "source": "P"
      }
    ]
  },
  "process": "## How I standardized\n..."
}

source also accepts the facility's name: Medical Center A, a clinic name like Clinic 07 (counted as E) or Partner Hospital. Raw spellings are compared ignoring case and runs of whitespace. A spelling listed twice for the same source counts once, under the first key it appears in. Spellings that aren't in the records are ignored.

The key's text is never compared with anything. Zoll||R Series and ZOLL MEDICAL||R-SERIES score the same, as long as you use one key consistently for one device.

How It's Scored

PartWeightWhat it checks
Grouping55%Share of Partner Hospital spellings that sit in the key holding the rest of their device's records, where that key is mostly that device
Partner Hospital25%Partner spellings that differ from the health system's land under the key holding most of that device's health system records, and at least half of that key's records are that device
Counts20%Records whose spelling and source you counted exactly, out of all records

A Partner Hospital spelling you leave out, or give a key of its own, counts as wrongly grouped.

What We Look For in the Write-up

Your write-up is read by the Equiply team with these points in mind. It doesn't change your score.

  • data_exploration: what you found in both inventories: abbreviations, legal suffixes, typos, old or parent company names, model spelling differences, placeholder models.
  • normalization: concrete normalization and matching steps (cleanup rules, alias tables, fuzzy matching or clustering, thresholds), not just "we cleaned the data".
  • cross_source: how the Partner Hospital's spellings were mapped onto the standard devices, and how you avoided merging different devices.
  • external_sources: outside sources or AI, with checks, and how you validated the results.
  • reproducibility: someone else could rerun the process: ordered, specific steps, with code or tools named.

Responses

200

{
  "challenge": "q3",
  "score": 173,
  "max_points": 200,
  "best_score": 173,
  "result": {
    "grouping_accuracy": 0.9,
    "grouping": { "precision": 0.94, "recall": 0.88, "f1": 0.909 },
    "partner_variants_mapped": 0.71,
    "counts_accuracy": 0.97,
    "coverage": 0.99,
    "unknown_variations": 3,
    "duplicate_variations": 0
  },
  "attempts_remaining": 4
}
  • grouping_accuracy is the scored grouping. grouping (B-cubed precision, recall and F1 over both hospitals) is there for reference and doesn't change your score.
  • coverage is the share of records whose spelling and source appear in your dictionary.
  • unknown_variations counts entries whose spelling isn't in that source's records.

400

{
  "error": "INVALID_SUBMISSION",
  "message": "dictionary[\"Zoll||R Series\"][2].source must be a facility (A-E) or \"P\" for the Partner Hospital"
}

Invalid requests don't use a submission.