use case

HIPAA-aligned PDF ops without sending PHI to five vendors.

Patient intake, lab results, referral packets. Compliant infrastructure so your engineers build features, not BAAs.

01 / problem

Why this breaks

Every PDF vendor your clinic or health-tech startup evaluates wants a separate BAA. Your compliance officer blocks the launch while legal negotiates four of them in parallel. Meanwhile, intake forms still live on paper because the digital alternative requires signing away patient data to OCR-as-a-service.

02 / solution

Four ops. One pipeline.

  1. 01 · 1. fill-form/fill-form

    Digital intake forms pre-populated from your EHR's patient record.

  2. 02 · 2. sign/sign

    Patient signature capture + typed HCP signature for orders.

  3. 03 · 3. ocr/ocr

    Scanned referral letters → searchable PDF with text extraction for EHR matching.

  4. 04 · 4. protect/protect

    AES-256 on every PDF that leaves the clinic.

03 / code

In your language

TypeScripttypescript
// Patient intake flow (HIPAA context)
const { pdf: intake } = await snap.pdf.fillForm({
  file: INTAKE_TEMPLATE,
  values: {
    patient_name: patient.legalName,
    dob: patient.dob.toISOString().slice(0,10),
    mrn: patient.mrn,
    insurance_plan: patient.insurance.planName,
    allergies: patient.allergies.join(', '),
  },
  flatten: false,
});

const { pdf: signed } = await snap.pdf.sign({
  file: intake,
  mode: 'image',
  imagePng: signaturePng, // captured from tablet
  field: { page: 3, x: 100, y: 120, width: 200, height: 50 },
  timestamp: true,
});

const { pdf: locked } = await snap.pdf.protect({
  file: signed,
  ownerPassword: phi.keyForPatient(patient.mrn),
  encryption: 'aes-256',
});

// Stored in the EHR; audit event fired
await ehr.attachDocument(patient.id, locked, { type: 'intake', signedAt: new Date() });
Pythonpython
intake = snap.pdf.fill_form(
    file=INTAKE_TEMPLATE,
    values={
        "patient_name": patient.legal_name,
        "dob": patient.dob.isoformat(),
        "mrn": patient.mrn,
        "insurance_plan": patient.insurance.plan_name,
        "allergies": ", ".join(patient.allergies),
    },
    flatten=False,
)
signed = snap.pdf.sign(
    file=intake.pdf,
    mode="image",
    image_png=signature_png,
    field={"page": 3, "x": 100, "y": 120, "width": 200, "height": 50},
    timestamp=True,
)
locked = snap.pdf.protect(
    file=signed.pdf,
    owner_password=phi.key_for_patient(patient.mrn),
    encryption="aes-256",
)
04 / ROI

What the math looks like

Multi-specialty clinic with 50,000 patient visits/year

  • ·50,000 visits × 3 PDFs (intake + consent + referrals out) = 150,000 ops/year.
  • ·Current: staff time transcribing paper forms = 0.5 FTE at $58k/yr = $29,000.
  • ·Compliance cost of vendor BAAs (legal review × 3 vendors) = $12,000 one-time.
MetricBeforeAfterDelta
Transcription staff0.5 FTE ($29k)0.05 FTE ($2.9k)–$26,100/year
Vendor BAAs3 separate ($12k one-time)1 ($4k one-time)–$8,000
Chart-ready time24-48 hours< 5 minutes–99%
Lost paper forms~0.5% of intakes0%–250 incidents/yr

$34k/year recurring saved, plus one-time legal saving, plus patients stop calling "did you get my forms?".

Example
We used to have a banker's box of intake forms labeled "waiting to be scanned." Now there's no banker's box. The chart is ready before the patient leaves the parking lot.
Dr. Amara Patel
Medical Director, SomaCare Clinic Network (EXAMPLE)
05 / FAQ

Questions we hear first

Do you sign a BAA?

Yes — available on Business and Enterprise plans. Request via /contact.

Where is PHI processed?

US-East by default. EU and AU residency on Enterprise. Nothing persists server-side beyond the request; working copies are in an encrypted memory buffer only.

Do you train on customer data?

Never.

FHIR integration?

Not natively — but extract-text + a FHIR Document Reference resource is a three-line wrapper.

What about 42 CFR Part 2 (substance use records)?

Same controls as HIPAA apply. Add the Part 2 addendum to your BAA during contract negotiation.

Related tools

Try without signing up

endpoints referenced
Sibling venture

Need signatures with an audit trail?

SnapPDF preps the document. SignBolt routes the signatures — PAdES-grade, multi-party, court-ready.

Visit SignBolt ↗
Start free — 100 ops/moSee pricingRead the docs
other use cases