Overview
Send a clinical document on the Kno2 network. SutureHealth routes it for signature and returns the signed PDF on the same message.
Organizations that already exchange documents on Kno2 can send work into SutureHealth without the Partner API and without HL7. You send a Kno2 message to the SutureHealth address you were given when your organization was connected. SutureHealth reads that message, places the document in the signer's Inbox, and replies on the same message with the signed PDF.
Signing happens in SutureHealth Inbox. You do not open a portal, and you do not call the Partner API for this path.
How a Kno2 document is signed
Your system sends one Kno2 message. The message carries the PDF to sign and a SignatureTask.json attachment that names the patient, your organization, and the signer. SutureHealth is notified when the message arrives, matches it to an organization, and creates the signature request.
sequenceDiagram autonumber participant Sender as Sending organization participant Kno2 as Kno2 participant SH as SutureHealth actor Signer as Signer Sender->>Kno2: Message with PDF and SignatureTask.json Kno2->>SH: New message notification SH->>Kno2: Read the message and attachments Note over SH: Match the organization, patient, and signer SH->>Signer: Document ready in Inbox Signer->>SH: Signs SH->>Kno2: Reply with the signed PDF Kno2->>Sender: Signed document on the same message
What to attach
Send two attachments on the message:
- The PDF to sign.
SignatureTask.json, which tells SutureHealth who the patient is, which organization sent the document, and which signer should receive it.
The file name must be SignatureTask.json. SutureHealth cannot create a signature task without that file, without patient details, or without a signer.
DocumentTypeId is the SutureHealth id for that kind of document. SutureHealth confirms the ids to use when your organization is connected. ExternalId values are yours. SutureHealth stores them with the task.
{
"Patient": {
"ExternalId": "patient-1001",
"Names": [
{ "Use": "official", "Family": "Garcia", "Given": ["Maria"] }
],
"Sex": "female",
"BirthDate": "1952-04-18",
"Addresses": [
{
"Line": "100 Main St",
"City": "Tampa",
"State": "FL",
"PostalCode": "33602"
}
]
},
"Sender": {
"Organization": {
"Name": "Example Home Health",
"OrgNPI": "1234567890"
}
},
"Performers": [
{
"Signer": { "UserNPI": "1098765432" },
"Organization": {
"Name": "Example Home Health",
"OrgNPI": "1234567890"
}
}
],
"Document": {
"EffectiveDate": "2026-10-13",
"DocumentTypeId": 1008,
"DiagnosisCode": "M54.5",
"ExternalId": "doc-1001"
}
}Sex is male or female. State is the two-letter US state. BirthDate and EffectiveDate are YYYY-MM-DD. UserNPI is the signer's NPI. OrgNPI is the sending organization's NPI.
How your organization is matched
SutureHealth connects the Kno2 organization that sent the message to a SutureHealth organization.
- If that Kno2 organization is already connected, the message uses that organization.
- If it is not connected yet, and the NPI in
Sender.Organization.OrgNPImatches a SutureHealth organization, the first message creates the connection. Later messages from the same Kno2 organization use it. - If the NPI does not match an organization, the message waits. SutureHealth maps the Kno2 organization to the right SutureHealth organization, and the waiting message continues. Later messages from that organization then go through on their own.
The connection is stored against the Kno2 organization, so a later message still matches when the NPI on that message is different.
What the signer sees
SutureHealth matches the signer from UserNPI and the patient from the name, date of birth, and other demographics in SignatureTask.json. The document then shows in that signer's Inbox.
When the patient cannot be matched from those details, the document waits in Inbox until someone matches the patient. The signer completes the document in Inbox. After it is signed, SutureHealth sends a reply on the original Kno2 message with the signed PDF attached. You keep that file in Kno2.
Next
If your system sends HL7, use HL7 document ingestion. If it calls SutureHealth over HTTP, use the Partner API.
Updated 5 days ago
