Perfuse

Proof

How Perfuse is tested, and what the tests found

A test that only checks Perfuse against itself proves little. Perfuse is tested against the official conformance suites and against the real software it talks to, and the results, failures included, are published.

Inferno

The official FHIR test kits, run in public

What it is

Inferno is the testing tool ONC and HL7 publish for FHIR servers. Its test kits check a server against each implementation guide, request by request.

Why it matters

CMS points payers to the Da Vinci guides; Inferno is how anyone checks a server follows them.

How to check it yourself

Open inferno.healthit.gov, choose a kit, and point it at test.perfuse.health. The settings we use are in the repository.

Test kitResult
SMART App Launch 2.2, public app80 of 80
SMART App Launch 2.2, confidential app67 pass, 3 omitted
Bulk Data Access 2.048 of 48
Da Vinci PDex 2.0, payer-to-payer19 of 19
Da Vinci PDex 2.0, API coverage312 pass, 1 skip
Da Vinci CRD 2.2.192 pass, 0 fail
Da Vinci PAS 2.2.182 pass, 2 fail
Da Vinci DTR 2.2.043 pass, 2 fail
Da Vinci Plan-Net 1.1.0199 pass, 10 fail

What is left

Every remaining failure, explained

Where a failure is the test kit's rather than Perfuse's, the upstream report is linked. None is hidden by leaving a test out.

PAS, 2 fail

The kit asks for must-support extensions on ClaimResponse that the extensions' own definitions do not allow there, so a valid resource cannot carry them. Reported upstream: davinci-pas-test-kit #11.

DTR, 2 fail

The same kind of finding in DTR's kit, fixed upstream and waiting for a release: davinci-dtr-test-kit #130.

Plan-Net, 10 fail

The kit picks the value for a chained search from the first organization it has seen, not one the searched resources refer to, so the search rightly finds nothing. davinci-plan-net-test-kit #34.

PDex, 1 skip

A list of elements the guide asks for that cannot appear in a resource that also passes the same guide's profile.

Real software, not mocks

Tested against what it talks to

A client and server written by the same people agreeing only proves they agree with each other. So each connector is tested against someone else's software.

Mirth Connect 4.5.2Open Integration Engine 4.5.2 and 4.6.0BridgeLinkHAPI FHIR Orthanc PACSKeycloak 26Microsoft EntraOpenSSHOpenSSL PostgreSQLApache KafkaRabbitMQ 4ActiveMQ 6.2LocalStack AzuriteAzure Service Bus emulatorGoogle Pub/Sub emulatorfake-gcs-server MosquittoIBM MQ 10strongSwanHL7 FHIR validatorNIST HL7 v2 validator ONC ELR toolxmlsec1

The full record of what each test did, what it found, and what has never been tested is the verification record.

Be honest about it

What has not been proven

Perfuse has not yet run in production at a hospital or health plan. Every test above used test data. We say so here because it is the first thing a careful buyer should ask, and the answer should be easy to find.

If you would like to be one of the first sites, get in touch.

The public test server

test.perfuse.health runs the FHIR, CRD, DTR, PAS, Bulk Data and SMART endpoints with test data only, and is checked every half hour.