Build

Anyone can build the app. Nobody can clone the signature.

Build your health app however you like, with any framework and any model. When what it drafts needs a licensed person to stand behind it, send it through the sign kit: a licensed physician signs it or declines it, and your page gets back a receipt bound to the source document.

Ten lines

The key stays on your server. Your page holds none.

// your server (Node 18 or later)
import { createSignClient } from './sign-kit/server.js';
const cs = createSignClient({ key: process.env.CLINICALSWIPE_KEY });
app.post('/review', async (req, res) => res.json(await cs.mintLink({ clientRef: req.body.orderId, condition: 'osteoarthritis' })));
app.get('/review/:ref', async (req, res) => res.json(cs.toBrowser(await cs.status(req.params.ref))));

<!-- your page -->
<script type="module" src="https://clinicalswipe.com/packages/sign-kit/clinical-sign.js"></script>
<clinical-sign src="/review/order-123" link="the url /review returned"></clinical-sign>

The kit: server.js and its types, clinical-sign.js and its types. Plain ES modules, no dependencies, no build step.

What happens in between

  1. Your server mints a link with your partner key: single use, for one person, with your own opaque reference (never a name or an email).
  2. The person opens it on clinicalswipe.com, consents, answers, gives their state and attaches the source document. If no physician is licensed and covered in that state, they are told so before anything is recorded.
  3. A licensed physician decides: one whose specialty, licence and malpractice coverage fit the case. They sign it, ask for changes, or decline. A signature needs a source document in the packet.
  4. The decision becomes a receipt: a SHA-256 on hashcare.com that anyone can check without trusting us. A decline gets one too.
  5. Your server reads the outcome (status, or a signed webhook) and <clinical-sign> shows it.

The receipt your page shows

Illustrative, not a real case
Signed by
Licensed physician, CO
Drafted by
Fixed template, named with its version on a real receipt
Relied on
sha256 of each source document, bound into the receipt hash
Receipt
the 64-character hash, with a link to check it on hashcare.com

The signer is a role and a licence state, never a name or NPI. Drafted by names the model and its version, a person, or a fixed template, and says “not recorded” when nobody said; it is never guessed. Nothing is called signed unless a licensed physician signed it.

What to know first

Try it

A one-page home-exercise letter generator ships with the kit as a worked example. To run it, or your own app, against test mode you need a test-mode partner key; ask on the companies page.

Ask for a test-mode key