Skip to content

docs(data-integration): add the prior authorization feed - #94

Open
Nesmeshnoy wants to merge 3 commits into
mainfrom
pdex-prior-auth-feed
Open

docs(data-integration): add the prior authorization feed#94
Nesmeshnoy wants to merge 3 commits into
mainfrom
pdex-prior-auth-feed

Conversation

@Nesmeshnoy

@Nesmeshnoy Nesmeshnoy commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Adds the prior authorization feed to the Data Integration Reference.

Dataset Target
prior_auths PDex Prior Authorization, an ExplanationOfBenefit with use = preauthorization
prior_auth_lines ExplanationOfBenefit.item of the same profile
prior_auth_documents the supportingInfo link to the US Core DocumentReference built from documents

Columns, requiredness and value sets follow Da Vinci PDex STU 2.1.0 and the PAS item extensions it reuses. Example code values are the ones the published PDex and PAS examples carry, so no licensed X12 code list is reproduced.

Two points worth a careful read:

A line is identified by service_code or by revenue_code. PDex binds item.productOrService to CPT, HCPCS and HIPPS, so a facility authorization carrying only a NUBC revenue code cannot use that element. revenue_code is first-class and service_code is conditional on it.

outcome is a processing state, not the decision. R4 defines queued as received but not yet begun and complete as finished without errors, and the base spec splits the adjudication result into its own element in R6. The decision lives in the review action and the denial columns, so a cancelled authorization keeps the outcome it had reached and reports the cancellation in status.

Amounts are included: Patient Access serves a member their own authorization amounts, PDex marks the adjudication amount slice and total.category must-support, and the IG example carries both. Lines take the claims feed's amount columns, fourteen of the sixteen, since PDex has no paidbypatientcash or paidbypatientother.

Two changes ride along:

  • practitioners accepts a non-NPI identifier with its issuing system, the way organizations already does. US Core requires a Practitioner to carry an identifier and a family name, not specifically an NPI. @akim1995 this one is yours: two rows and a template column.
  • A separate commit refreshes the data template fingerprints so that published filenames match file content.

Nesmeshnoy and others added 3 commits September 11, 2026 20:09
The filenames carry a content hash so that an edited template reaches
readers at a new URL. These were edited without re-running the hashing
script, so the names no longer matched the content.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
US Core requires a Practitioner to carry an identifier and a family
name, not specifically an NPI, and the organizations dataset already
accepts another stable id with its issuing system. Practitioners was the
outlier, so a clinician known only by an internal id had no way into the
feed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Three datasets built to Da Vinci PDex STU 2.1.0: prior_auths for the
authorization and its decision, prior_auth_lines for the items it
covers, prior_auth_documents for the link to the documentation a
provider submitted. An authorization becomes one ExplanationOfBenefit
with use = preauthorization.

Columns, requiredness and value sets follow the pdex-priorauthorization
profile and the PAS item extensions it reuses. Example code values are
the ones the published PDex and PAS examples carry, so no licensed X12
code list is reproduced.

Two points where the obvious reading of the profile is wrong:

- A line is identified by a procedure code or by a revenue code. PDex
  binds item.productOrService to CPT, HCPCS and HIPPS, so a facility
  authorization carrying only a NUBC revenue code cannot use it.
  revenue_code is first-class and service_code is conditional on it.
- outcome is a processing state, not a decision. FHIR defines queued as
  received but not yet begun and complete as finished without errors,
  and the base spec splits the adjudication result into its own element
  in R6. The decision lives in the review action and the denial columns,
  and a cancelled authorization keeps the outcome it had reached while
  status carries the cancellation.

Amounts are included. Patient Access serves a member their own
authorization amounts, PDex marks the adjudication amount slice and
total.category must-support, and the IG example carries both. Lines take
the claims feed's amount columns, fourteen of the sixteen: PDex has no
paidbypatientcash or paidbypatientother.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants