Skip to main content
Canonical linkIds are the stable field identifiers in the Prior Auth API. Use them as your integration keys. If your source system already has one of these concepts, you can usually map it directly to the matching canonical linkId and reuse that mapping across templates. That is the point of the canonical field layer: you should not have to rediscover a different key for common patient, coverage, provider, service, or diagnosis data every time a payer form changes.

Why these fields exist

  • Use canonical linkIds for 1:1 mappings from your EHR, intake flow, or practice management system.
  • Treat canonical linkIds as stable integration keys, not presentation labels.
  • Expect template-specific questions to use the q.* namespace instead.
  • Treat a canonical linkId rename as a contract change, not a cosmetic change.

How to use this page

When you read a questionnaire from the API:
  • if the field uses a canonical linkId, map your source data directly to that key
  • if the field uses q.*, handle it as template-specific logic for that payer form
The API still returns the full questionnaire for each authorization. This page tells you which field keys are meant to be stable across templates.

Common examples

  • patient.firstName
  • coverage.memberId
  • providers.prescribing.identifiers.npi
  • service.code
  • diagnoses.code

Patient

Link IDTypeAllowed valuesNotes
patient.firstNamestring
patient.middleNamestring
patient.lastNamestring
patient.dateOfBirthdate
patient.genderchoicemale, female, other, unknownLimited enum
patient.phonestring
patient.emailstring
patient.address.line1string
patient.address.line2string
patient.address.citystring
patient.address.statestring
patient.address.zipstring
patient.height.valuedecimal
patient.height.unitchoicein, cmLimited enum
patient.weight.valuedecimal
patient.weight.unitchoicelb, kgLimited enum

Subscriber

Link IDTypeAllowed valuesNotes
subscriber.firstNamestring
subscriber.middleNamestring
subscriber.lastNamestring
subscriber.dateOfBirthdate
subscriber.relationshipToPatientchoiceself, spouse, child, otherLimited enum
subscriber.address.line1string
subscriber.address.line2string
subscriber.address.citystring
subscriber.address.statestring
subscriber.address.zipstring

Coverage

Link IDTypeAllowed valuesNotes
coverage.memberIdstring
coverage.groupNumberstring

Request

Link IDTypeAllowed valuesNotes
request.typechoiceinitiation, continuationLimited enum
request.urgencychoicestandard, urgent, retrospectiveLimited enum
request.siteOfCarestring
request.requestedBy.firstNamestring
request.requestedBy.lastNamestring
request.requestedBy.phonestring
request.requestedBy.extensionstring
request.requestedBy.emailstring

Provider roles

The provider roles below share the same field set:
  • providers.prescribing
  • providers.requesting
  • providers.referring
  • providers.servicing
For each role above, these exact suffixes are canonical:
PatternTypeAllowed valuesNotes
providers.<role>.firstNamestring
providers.<role>.middleNamestring
providers.<role>.lastNamestring
providers.<role>.credentialstring
providers.<role>.specialtystring
providers.<role>.phonestring
providers.<role>.faxstring
providers.<role>.emailstring
providers.<role>.address.line1string
providers.<role>.address.line2string
providers.<role>.address.citystring
providers.<role>.address.statestring
providers.<role>.address.zipstring
providers.<role>.identifiers.npistring
providers.<role>.identifiers.deastring
providers.<role>.identifiers.stateLicenseNumberstring
providers.<role>.identifiers.taxonomyCodestring

Service

Link IDTypeAllowed valuesNotes
service.codestring
service.codeSystemchoicehcpcs, cpt, ndc, otherLimited enum
service.descriptionstring
service.quantity.valuedecimal
service.quantity.unitopen-choiceCan be a configured code or free text
service.requestedStartDatedate
service.requestedEndDatedate

Diagnoses

Link IDTypeAllowed valuesNotes
diagnosesgroupRepeats
diagnoses.codestringChild of repeated diagnoses group
diagnoses.codeSystemchoiceicd10Limited enum
diagnoses.rolechoiceprimary, secondary, otherLimited enum

Template-specific fields

Fields in the q.* namespace are template-specific. Use them when:
  • the payer form asks for something that is not part of the canonical catalog
  • the field only makes sense for one payer or one form family
  • you need a short-term mapping before a concept earns a canonical field
Do not assume q.* keys are shared across templates the way canonical fields are.