Skip to content
Constaia
us_health_insurance_card

US health insurance card

Member ID, group number, payer and pharmacy (Rx) fields from both sides.

Category
Health
Country
United States
Extracted fields
11 fields
Cost
1 credit
us_health_insurance_cardspecimen
Insurer
Member name
Member ID
Group number
Plan name
Rx BIN
Rx PCN
Rx group
Payer ID

Front desks retype insurance cards all day. Constaia reads front and back, extracts the member, member ID, group number, payer ID and Rx BIN, PCN and group, and checks the member name against the patient.

  • In the hands of a HIPAA covered entity, insurance card data is protected health information. Contact us before processing it in production so we can confirm whether a business associate agreement is available for your case.
  • Constaia does not check eligibility with the payer: use your clearinghouse for that.

What it checks

  • Holder. Name, number or date of birth match what you expect.

Extracted fields

  • Insurerinsurer
  • Member namemember_name
  • Member IDmember_id
  • Group numbergroup_number
  • Plan nameplan_name
  • Rx BINrx_bin
  • Rx PCNrx_pcn
  • Rx grouprx_group
  • Payer IDpayer_id
  • Effective dateeffective_date
  • Copayscopays

Sample request

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@us_health_insurance_card_specimen.jpg" \
  -F 'options={
    "expect": "us_health_insurance_card",
    "checks": {
      "holder": {
        "full_name": "Jordan Specimen"
      },
      "require_fields": [
        "member_id",
        "group_number"
      ]
    },
    "storage": "none"
  }'

Try it for free with a ck_test_ key and the file us_health_insurance_card_specimen.jpg.

Sample response

Fictitious data. Shortened response.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "us_health_insurance_card",
    "label": "US health insurance card",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "us_health_insurance_card"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "The document is: US health insurance card."
      }
    ]
  },
  "fields": {
    "insurer": {
      "value": "EXAMPLE HEALTH PLAN",
      "confidence": 0.99,
      "validated": true
    },
    "plan_name": {
      "value": "PPO Silver",
      "confidence": 0.98,
      "validated": null
    },
    "member_name": {
      "value": "JORDAN SPECIMEN",
      "confidence": 0.97,
      "validated": null
    },
    "member_id": {
      "value": "XEX123456789",
      "confidence": 0.96,
      "validated": null
    },
    "group_number": {
      "value": "000123",
      "confidence": 0.99,
      "validated": null
    },
    "rx_bin": {
      "value": "000000",
      "confidence": 0.98,
      "validated": null
    },
    "effective_date": {
      "value": "2026-01-01",
      "confidence": 0.97,
      "validated": null
    }
  },
  "checks": [
    {
      "code": "holder_match",
      "passed": true,
      "message": "The holder matches."
    }
  ],
  "warnings": [],
  "storage": {
    "mode": "none",
    "file_deleted_at": "2026-09-29T10:00:02Z",
    "expires_at": null
  },
  "usage": {
    "credits": 1,
    "pages": 2
  }
}

FAQ

Does Constaia prove the document is authentic?

No. It checks the type, data consistency and your rules, and flags signals such as a possible edit or a screen photo. That does not prove authenticity.

Is a copy of the document kept?

No, unless you ask for it. With storage "none" (the default) the file is deleted when the analysis ends.

Other documents

And for the record…

Create your account, copy the test key and validate your first document in five minutes.