$bulk-member-match improvements: fact-check, test datasets#5
Conversation
….1 + interop - Retarget all PDex links from build.fhir.org (CI 2.2.0) to hl7.org STU2.1 — IG version drift mismatched stated STU 2.1.0. - Pin HRex links to STU1.1 (PDex 2.1.0 dependency); unpinned links would silently follow future versions. - Mark opt-out Consent.category code (`pdex-consent-api-purpose|provider-access`) as Payerbox-specific and forward-compatible with PDex 2.2.0 — STU 2.1's `pdex-provider-consent` pins `v3-ActCode|IDSCL`. - Use canonical exportType value `hl7.fhir.us.davinci-pdex#payertopayer` in cross-links (was shorthand `payertopayer`). - Split 404 errors row by endpoint — cancel on a `cancelled` Task returns 202 and sweeps outputs, only status/output return 404. - "Aidbox Console sessions" → "Aidbox Console UI sessions" for precision.
Bundle the 12 resources interop's own tests already use (Clients with NPI, AccessPolicies, Organizations, Patients, Coverages, opt-out Consent) as a single gzipped ndjson and document a one-shot Aidbox Console $load against the public URL. Rewrite the Request/Response examples on the P2P pillar and on the $bulk-member-match / $Patient/$member-match reference pages so every payload references the seed cohort — captured verbatim from a live run against the dataset.
|
/qa протеструй |
|
Verified end-to-end against a fresh 1.
|
| File | davinci-pdex link target |
|---|---|
bulk-member-match.md |
hl7.org/.../STU2.1/... |
provider-member-match.md |
build.fhir.org/ig/HL7/davinci-epdx/... |
payer-to-payer.md |
build.fhir.org/ig/HL7/davinci-epdx/... |
Notably, pdex-member-no-match-group and pdex-member-match-group exist in both STU 2.1.0 and CI build, but provider/p2p link them to CI build while bulk links them to STU 2.1.
Pick one and apply across all three.
3. provider-member-match.md is missing the forward-compat note that bulk-member-match.md has
bulk-member-match.md adds:
the opt-out category code below is Payerbox-specific, forward-compatible with the
pdex-consent-api-purposeCodeSystem introduced in PDex 2.2.0 — STU 2.1'spdex-provider-consentprofile pinsConsent.category = v3-ActCode|IDSCLinstead
provider-member-match.md references four URLs that don't exist in STU 2.1.0 IG (all 404 on hl7.org/fhir/us/davinci-pdex/STU2.1/, 200 on build.fhir.org/ig/HL7/davinci-epdx/):
provider-parameters-multi-member-match-bundle-out(top-levelParameters.meta.profilein the Response example)pdex-treatment-relationship(MatchedMembers.meta.profile)pdex-member-opt-out(ConsentConstrainedMembers.meta.profile)CodeSystem/opt-out-scope(ConsentConstrainedMembers.characteristic.valueCodeableConcept)
No equivalent note in the provider doc. Reader hitting any of those in meta.profile and trying to reconcile with STU 2.1.0 will see four 404s with no explanation.
Suggest adding the same kind of note in provider's ## Polling and output (or wherever the Response body is introduced), listing the four out-of-package URLs as forward-compatible with PDex 2.2 / CI build.
QA Report: PR #5 — $bulk-member-match improvements: fact-check, test datasetsPR: HealthSamurai/payerbox-docs#5 SummaryThis PR updates three documentation pages (
A binary seed file is included: Documentation AnalysisOverall quality: Good. The fact-check of Three issues found (minor-to-medium severity):
Not a bug — intentional design: Test Environment
Test CasesLink Verification — STU2.1 versioned URLs (bulk-member-match.md)
Link Verification — CI build URLs (provider-member-match.md)
Provider Profiles — STU2.1 availability check
Cross-document Consistency
Content Accuracy
ConclusionPASS with notes — 25/28 checks passed. All 3 failures are minor consistency issues in files adjacent to the main change, not blockers. The core deliverable — fact-checking Recommended before merge (non-blocking):
|
Both $bulk-member-match and $provider-member-match target the PDex CI build (v2.2.0), per the smartbox-product member-match MVP spec. Swap STU2.1 profile URLs to build.fhir.org/davinci-epdx, drop the now-stale "(STU 2.1.0)" pin on $provider-member-match, and unversion HRex canonical URLs (HRex versions independently of PDex).
…ch docs The auth/error wording around NPI-bearing OAuth Clients overspecifies an implementation detail that is being reworked. Trim the Auth sections to a one-line cross-link, drop the no-NPI / ambiguous-NPI Response tabs and errors-table rows on $bulk-member-match, restate cross-tenant guards as "originating requester" instead of "matching NPI", and remove the trailing NPI sentence from the Payer-to-Payer pillar. NPI values inside example payloads and output Group identifiers stay.
`POST /fhir/$load` writes resources via Aidbox's bulk-ingest path and does not refresh the in-memory AccessPolicy / Client cache, so callers loaded through `$load` get 403 until a normal write triggers a refresh. Replace the `$load` snippet on all three member-match pages with a transaction Bundle inlined inside a collapsed <details> block, which goes through the normal FHIR write path and activates policies immediately. Drop the ndjson.gz seed asset — the snippet is fully self-contained.
… + provider Both member-match docs are now pinned to PDex 2.2.0, so the STU 2.1 forward-compat framing in bulk's parenthetical is obsolete. Trim it to a one-liner and add an equivalent mention near provider's opt-out search for parity (per PR review comment).
Matches the bulk-member-match / provider-member-match example style — reader copy-pastes a runnable header instead of a placeholder.
|
/qa Проверь документацию на ошибки и замечания, протестируй примеры aidbox запросов с тестовыми данными |
QA Report: PR #5 — $bulk-member-match improvements: fact-check, test datasetsSummaryPR updates documentation for
Documentation AnalysisIssues Found
Positive Changes
External Links VerificationAll 13 external IG links verified:
Test Environment
Test CasesDataset Loading
$bulk-member-match Kick-off
$bulk-member-match Async Processing
$provider-member-match Kick-off
Summary
Critical finding:
Infrastructure note: End-to-end async processing (polling → manifest → NDJSON download) could not be tested due to a terminology validation regression in Recommendation: Address finding #1 (403 removal) before merging. The rest of the PR is a significant improvement — reproducible test datasets, corrected IG version, canonical URLs, and clearer examples. |
QA bot on PR #5 confirmed `interop:edge` still emits `403` for unresolvable requesting-payer identity. Restore `403` and `409` rows in the Errors table plus the payer-to-payer rejection sentence, but phrased generically (OAuth client identity, not NPI) so docs survive the planned NPI -> UDAP (organization_id) migration.
No description provided.