Member Consent (CSV)
Datasets
A member opts out of Provider Access and opts in to Payer-to-Payer. Each decision becomes one FHIR Consent. Whoever holds the record delivers this feed. Members can also record both choices themselves on the member portal's Data sharing page, which writes Consents of the same profiles. A system that already holds the decisions as FHIR writes the records itself instead: see Member Consent (FHIR).
| Dataset | Target profile |
|---|---|
provider_access_opt_outs | PDex Provider Consent, read by $provider-member-match and by every Provider Access export |
payer_to_payer_opt_ins | HRex Consent, the member authorization used to build outbound Payer-to-Payer requests |
previous_coverages | HRex Coverage: which payer to ask, and about whom |
consent_documents | US Core DocumentReference: the signed form a decision points to, and a representative's document of authority |
Data conventions
| Rule | Detail |
|---|---|
| History | A decision is never edited. A change of mind is a new row with its own record_id and a later captured_at; the latest captured_at per member and switch is the state in force. |
| Freshness | Within one business day of capture. Faster delivery, including event-driven, per engagement. |
| Delivery | One backfill of every decision on file, then deltas with rows new since your last successful load. |
| Keys | record_id is your consent system's identifier for the decision, unique across the feed. |
| References | patient_identifier from patients, signer_related_person_id from related_persons, *_document_id from consent_documents. |
| Documents | The signed form and a representative's document of authority travel in consent_documents, referenced from here by key. The opt-in cannot be built without its signed form: HRex Consent requires a source document. |
| Dates | date columns are YYYY-MM-DD. datetime columns are ISO 8601 with a timezone offset. |
provider_access_opt_outs
One row per decision on the Provider Access switch.
| Column | Required | Format / values | Example |
|---|---|---|---|
record_id | Yes | your identifier for this decision | PAC-000117 |
patient_identifier | Yes | patient key from patients | MBR0000012 |
choice | Yes | opt-out, share (opt back in) | opt-out |
captured_at | Yes | datetime the decision was made | 2026-11-03T14:22:00-05:00 |
effective_start | Yes | date the decision takes effect | 2026-11-03 |
signer_type | Yes | member, personal-representative | member |
signer_related_person_id | If personal-representative | key from related_persons | RP-88012 |
authority_document_id | If personal-representative | key from consent_documents; power of attorney, guardianship order or equivalent | DOC-55190 |
signed_form_document_id | If available | key from consent_documents | DOC-55191 |
last_updated | Yes | datetime this row last changed in your system | 2026-11-03T14:22:00-05:00 |
is_deleted | If retracting | true retracts a row delivered in error |
opt-out becomes provision.type = deny, share becomes permit. captured_at is Consent.dateTime, effective_start is provision.period.start. performer is the member's Patient; a personal-representative row adds the RelatedPerson as a provision.actor with the role of their authority (POWATT, GUARD or RESP). The rest of the profile is filled from plan configuration, not from the row: status active, scope patient-privacy, the two category codes (IDSCL, which PDex 2.1.0 requires, and the API purpose provider-access from the PDex 2.2.0 draft, which tells the two decisions apart: IDSCL alone does not), your Organization as organization and as the source actor, provision.action = disclose, and policyRule = cric, the value the profile fixes. The check the operation runs is documented with the operation.
payer_to_payer_opt_ins
One row per decision on the Payer-to-Payer switch. One election covers previous and concurrent payers.
| Column | Required | Format / values | Example |
|---|---|---|---|
record_id | Yes | your identifier for this decision | P2P-000342 |
patient_identifier | Yes | patient key from patients | MBR0000012 |
choice | Yes | opt-in, withdraw | opt-in |
scope | If opt-in | all, non-sensitive (everything except what state or federal law treats as sensitive) | all |
captured_at | Yes | datetime the decision was made | 2026-11-03T14:22:00-05:00 |
effective_start | If opt-in | date the consent takes effect | 2026-11-03 |
effective_end | If opt-in | date the consent expires, set by your policy; the record cannot be built without it | 2027-12-31 |
signer_type | Yes | member, personal-representative | member |
signer_related_person_id | If personal-representative | key from related_persons | RP-88012 |
authority_document_id | If personal-representative | key from consent_documents | DOC-55190 |
signed_form_document_id | If opt-in | key from consent_documents | DOC-55192 |
last_updated | Yes | datetime this row last changed in your system | 2026-11-03T14:22:00-05:00 |
is_deleted | If retracting | true retracts a row delivered in error; a withdrawal is a withdraw row |
An opt-in becomes an HRex Consent with provision.type = permit, provision.period from effective_start and effective_end, sourceReference to the signed form, and policy.uri from scope: all maps to #sensitive, non-sensitive to #regular. The names are the profile's: #sensitive is the wider grant. performer is the member's Patient, or the RelatedPerson for a personal-representative row. Both required actors are populated for each exchange: each plan named in previous_coverages is a source actor, and your Organization is recipient; provision.action is disclose; the categories are IDSCL and the API purpose payer-to-payer, as above. A withdraw row closes the election from captured_at: the opt-in's Consent is retired, status inactive without its profile.
previous_coverages
One row per previous or concurrent coverage the member names when opting in.
| Column | Required | Format / values | Example |
|---|---|---|---|
record_id | Yes | your identifier for this entry | PCV-000342-1 |
consent_record_id | Yes | record_id of the opt-in row it was named on | P2P-000342 |
patient_identifier | Yes | patient key from patients | MBR0000012 |
payer_name | Yes | as the member gives it, ideally as printed on the member ID card | Anthem Blue Cross |
payer_id | If known | the payer's identifier in the payer directory you use | 00060 |
member_id | Yes | the member's ID with that payer; required to build the HRex Coverage used for member match | XYZ123456789 |
relationship | Yes | self, spouse, child, other; whether the coverage was in the member's own name subscriber-relationship | self |
coverage_kind | Yes | previous, concurrent | previous |
last_updated | Yes | datetime this row last changed in your system | 2026-11-03T14:22:00-05:00 |
is_deleted | If retracting | true retracts this row |
relationship is required by HRex Coverage and only the member can supply it. member_id becomes both subscriberId and the MB identifier. coverage_kind becomes status: cancelled for a previous plan, active for a concurrent one. The plan becomes payor: the Organization of a plan registered in Consent Settings when payer_id or payer_name identifies one, otherwise an HRex Organization named payer_name and numbered by record_id; the same Organization is the opt-in's source actor. No coverage dates: the match runs on demographics and identifiers. The member's Patient must declare the HRex Patient Demographics profile, which beneficiary requires.
consent_documents
One row per document behind a decision: the signed form, and the document of authority a personal representative acts under. The document itself is the file; this row is its index card.
| Column | Required | Format / values | Example |
|---|---|---|---|
record_id | Yes | your stable key for this document | DOC-55191 |
patient_identifier | Yes | patient key from patients | MBR0000012 |
type_code | Yes | LOINC document type: 59284-0 Consent Document for a signed form; 64298-3 Power of attorney; 64299-1 Legal document for a guardianship order or another document of authority; UNK when none fits US Core DocumentReference Type | 59284-0 |
type_text | If UNK | what the document is | Conservatorship order |
attachment_file | Yes | path relative to the delivery root; PDF, JPEG or PNG | attachments/DOC-55191.pdf |
document_date | Recommended | datetime the document was signed or issued | 2026-11-03T14:22:00-05:00 |
is_deleted | If retracting | true retracts this row |
type_codehas a required binding, so the type must come from that value set. Two codes cover the feed:59284-0for every signed form,64298-3for a power of attorney;64299-1for the other documents of authority.authoris not a column: it comes from the decision row that names the document, the member's Patient formemberand the RelatedPerson forpersonal-representative. A document named by several decisions, such as one power of attorney for both switches, is delivered once.- Payerbox sets
statustocurrent,categorytoclinical-note(the profile requires a category, and that is the one code in the US Core category value set),custodianto your Organization andcontent.formattourn:ihe:iti:xds:2017:mimeTypeSufficient, and reads the attachment's content type and size from the stored file. None of those are columns. - A decision points to its documents, so they must load first: deliver
consent_documentsin the same window as the decisions, before them or with them. Anopt-inwithout its signed form is not built.
These resources are read by Provider Access and Payer-to-Payer.