perfuse

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2026 License: Apache-2.0

README

Perfuse

Perfuse

Open-source healthcare integration engine — HL7 v2, FHIR, DICOM, X12 and CDA in one static binary

A modern, Apache-2.0 licensed alternative to Mirth Connect. No JVM. No installer. No paid licence. Your existing Mirth JavaScript runs unchanged.

License Go Release Platforms Tests

Download v0.1.0

Download for Linux Download for macOS Download for Windows

Linux x86-64 · macOS Apple Silicon · Windows x64 — one file, nothing to install. Other architectures and checksums

Quick start · Why Perfuse · Mirth migration · Features · Manual · Reference · FAQ


What is Perfuse?

Perfuse is an open-source healthcare integration engine — also called an interface engine — for moving clinical data between systems that were never designed to talk to each other. It parses and routes HL7 v2, FHIR R4/R4B/R5, DICOM, X12 837/835/270/271 and C-CDA / CDA documents, and it ships as a single static binary with the web console built in.

It is written in Go, licensed under Apache 2.0, and runs on Linux, macOS and Windows with nothing installed beside it — no Java runtime, no application server, no database to stand up first.

   ┌──────────┐      ┌─────────────────────────────────┐      ┌──────────────┐
   │   LIS    │─MLLP─▶│                                 │─FHIR─▶│   EHR / API  │
   ├──────────┤      │            P E R F U S E         │      ├──────────────┤
   │ Radiology│─DICOM▶│  parse → filter → transform →   │─MLLP─▶│   Downstream │
   ├──────────┤      │        queue → deliver          │      ├──────────────┤
   │  Payer   │──X12─▶│                                 │─SFTP─▶│   Archive    │
   └──────────┘      └─────────────────────────────────┘      └──────────────┘
                          durable queue · shadow mode
                          alerts · audit · metrics
Who it is for
  • Integration teams running HL7 v2 interfaces who want the engine's source and no licence renewal
  • Sites on Mirth Connect 4.5.2 or earlier, now unable to take upstream fixes
  • Anyone building FHIR APIs on top of existing v2 feeds
  • Labs, imaging centres, payers and health systems who need X12, DICOM or CDA alongside v2

Download

Version 0.1.0 — single binary, nothing to install. Each archive contains the executable, the licence, the notice and the full PDF manual.

Platform Architecture Download
Windows x64 (Intel/AMD) perfuse-windows-amd64.zip
Windows ARM64 perfuse-windows-arm64.zip
macOS Apple Silicon (M1–M4) perfuse-darwin-arm64.tar.gz
macOS Intel perfuse-darwin-amd64.tar.gz
Linux x86-64 perfuse-linux-amd64.tar.gz
Linux ARM64 / aarch64 perfuse-linux-arm64.tar.gz

Verify what you downloaded against SHA256SUMS:

shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS / Linux

A CycloneDX software bill of materials ships with every release as perfuse.cdx.json, and any build can produce its own with perfuse sbom -json.

Other ways to install
# Go 1.23 or newer
go install github.com/biodream-llc/perfuse/cmd/perfuse@latest

# Container — scratch-based, nothing inside but the binary
docker run -p 8080:8080 ghcr.io/biodream-llc/perfuse:v0.1.0

# From source
git clone https://github.com/biodream-llc/perfuse && cd perfuse && make build

The Linux binaries are statically linked and verified to run on Alpine, so they need no glibc and work in scratch and distroless images.


Quick start

# 1. Start the console. The web interface is inside the binary.
perfuse serve

# 2. Open http://127.0.0.1:8080 and build a channel in the browser.

That is the whole installation. There is no separate web application to deploy and no assets directory to point at.

perfuse init will lay out the directories, write a working example channel and generate a service definition for your operating system — a systemd unit, a launchd plist or a Windows service.

To run a channel from the command line instead:

# Listen for HL7 v2 over MLLP and write each message to a file
cat > labs.yaml <<'YAML'
name: labs
description: Accepts HL7 v2 over MLLP and files each message

source:
  type: mllp
  # Localhost only. MLLP has no authentication or encryption of its own.
  listen: 127.0.0.1:2575

destinations:
  - name: archive
    type: file
    # One file per day per message type, appended. So five ADT messages of two
    # kinds produce two files, not five.
    dir: ./received
YAML

# Check it before running it
perfuse check labs.yaml

# Run it
perfuse run labs.yaml

# In another terminal, send it synthetic traffic
perfuse generate -n 5 -send 127.0.0.1:2575

Everything in the configuration files can also be done from the web interface. That is a rule this project holds itself to, not an aspiration — a feature reachable only from YAML is treated as a bug.


Why Perfuse exists

In March 2025, NextGen Healthcare closed Mirth Connect's source. From version 4.6 a paid licence is required. Version 4.5.2 remains available under the Mozilla Public License, which means every site still running it is on a release that will never receive another upstream fix — including security fixes.

That leaves a real problem. Mirth Connect runs a very large share of the HL7 interfaces in production today, those interfaces work, and the people who maintain them did not choose this. Rewriting them is not a weekend's work, and paying to keep receiving patches for software you already deployed is a different proposition from the one you originally accepted.

Perfuse is a way out that does not require a rewrite:

  • Your Mirth JavaScript runs unchanged, E4X and all — msg['PID']['PID.5']['PID.5.1'], for each, XML literals, channelMap, $(), DateUtil, SerializerFactory
  • perfuse translate converts Mirth channel exports into Perfuse channels, not just a report saying what it found
  • perfuse explain reads a Mirth export and says plainly what would block a migration, before you start
  • Shadow mode runs the converted channel beside the original on real traffic and shows exactly where the two disagree — while only the original delivers anything
  • You can export back to Mirth. A channel built in Perfuse can be written as a Mirth channel file, and a real Mirth server accepts it. Leaving is as supported as arriving.

The last point is deliberate. An engine you cannot leave is the problem, not the solution.


Verified against real software, not mocks

Most integration tooling is tested against its own idea of what the other side does. That is how a product ends up with a hundred passing tests and a feature that has never once worked against the real thing.

Perfuse is verified against actual running software. What was checked, against which versions, and what it found is recorded in docs/verification.md:

Verified against What it proved
Mirth Connect 4.5.2 (real server) Channels Perfuse exports are accepted and deploy. Found four faults the exporter's own nine passing tests could not see — Mirth stores an invalid channel and returns success
Keycloak 26 SAML sign-in end to end. Found a signature-canonicalisation defect a thousand self-written tests had missed
Microsoft Entra ID (real tenant) SAML sign-in with a real Microsoft account, including an interactive browser sign-in. Found five behaviours no reading of the specification predicts
HAPI FHIR FHIR resources Perfuse produces validate in an independent server
Orthanc DICOM C-STORE and C-FIND against a real PACS
PostgreSQL, SFTP, ActiveMQ Database, file transfer and broker destinations against real services

Interoperability tests run against containers, not stubs. Where a real product's behaviour contradicted the specification, the real behaviour won and a fixture recording it was committed.


Features

HL7 v2

A parser that indexes rather than decodes, so a message is not rebuilt to read one field. Segments, repetitions, components and subcomponents, escape sequences, custom Z-segments and non-standard separators. MLLP in both directions with TLS. A field dictionary means the interface can tell you that PID-5.1 is the patient's family name instead of showing you a path.

FHIR — a first-class feature, not an export format

R4, R4B and R5. An HL7 v2 to FHIR mapper, a FHIR REST server you can point a client at, fhir as a channel destination type, validation, and a browser-based FHIR lab. Search parameters, bundles, transactions and references.

DICOM

C-STORE, C-FIND and C-ECHO, in both directions. Metadata extraction, de-identification steps, and conversion of studies into observations that can travel as v2 or FHIR.

X12

837 professional and institutional, 835 remittance, 270/271 eligibility. Loops, segments and qualifiers parsed properly rather than treated as delimited text.

Clinical documents (C-CDA / CDA)

Read, validated and converted — including documents that arrive base64-encoded inside an MDM^T02, which is how they usually turn up. The narrative text and the coded entries are compared against each other, so a document whose human-readable section disagrees with its structured data is flagged. Nothing else does this.

Delivery that does not lose messages

A durable on-disk queue keeps messages in order when a receiver goes down and delivers when it comes back. Retries with backoff, dead-lettering, and a queue you can inspect, retry and drain from the interface.

Connectors hospitals actually run

MLLP · HTTP/HTTPS · files · SFTP · databases (PostgreSQL, MySQL, SQL Server, Oracle) · DICOM · SMTP · SOAP · message brokers (STOMP/AMQP) · JavaScript Reader · S3 — in both directions.

Transformation and filtering

Ten declarative transformation steps that need no code, a filter expression language, shared mapping tables with a record of who decided each mapping and why, and full JavaScript when you need it — including the Mirth dialect.

Shadow mode

Run a candidate version of a channel beside the live one on real traffic. Perfuse shows precisely where the two differ, field by field, and the candidate delivers nothing. This is how you change a working interface without guessing.

Feed contracts

Declare what a feed is supposed to contain — which fields, which code sets, which cardinalities — and Perfuse tells you when reality drifts. Most interface outages are a sender changing something quietly.

Operations

A live dashboard, metrics with percentiles and Prometheus exposition, alerts that tell you rather than waiting to be found, a message store with retention and search, a flow map, and an audit log of who changed what.

Security

SAML 2.0 (verified against Keycloak and Microsoft Entra, configurable by reading the provider's metadata — no certificate transcription), OpenID Connect, LDAP/Active Directory, passkeys / WebAuthn, TLS with mutual authentication, role-based access, and UDAP / TEFCA support. Refuses to serve patient data over plain HTTP on a public interface unless you explicitly override it.

Fleet

Run more than one instance and see them together — channel counts, health and queue depth across the estate.


Migrating from Mirth Connect

# 1. What would stop you, before you commit to anything
perfuse explain mirth-channel-export.xml

# 2. Convert it
perfuse translate mirth-channel-export.xml -o channels/

# 3. Test it against sample messages
perfuse test channels/labs.yaml

# 4. Run it beside the original on real traffic, delivering nothing
perfuse serve   # then switch the channel to shadow mode in the interface

perfuse explain is the step worth running first. It reads the export and tells you what converts cleanly, what converts with caveats, and what does not convert at all — by name, not as a count. A migration that surprises you in week three is worse than one that refuses on day one.

What does not convert is reported, never silently approximated. Perfuse will refuse a destination type it cannot honour rather than write something close and let you discover the difference in production.

Full detail: Migrating from Mirth · Mirth scripts


Perfuse vs Mirth Connect

Perfuse Mirth Connect 4.6+
Licence Apache 2.0, open source Commercial, paid
Source available Yes No (closed since 4.6)
Runtime Single static binary JVM + application server
Install Copy one file Installer, Java, database setup
Memory at rest Tens of MB Hundreds of MB to GB
Existing Mirth JavaScript Runs unchanged, E4X included Native
FHIR R4/R4B/R5, mapper + REST server built in Add-on / manual
DICOM Built in, both directions Limited
X12 837, 835, 270/271 parsed structurally Text handling
CDA narrative vs coded comparison Yes No
Shadow mode on live traffic Yes No
Feed contracts / drift detection Yes No
Export back to the other engine Yes — writes Mirth channel files a real Mirth accepts N/A
Configuration from the web UI Everything Most things

Perfuse is younger and has a smaller connector catalogue. Where a capability is missing it says so rather than approximating it.


Documentation

Reference Every command, connector, transformation step and configuration key
Manual (HTML) The full book, with worked examples
Manual (PDF) The same, for printing and for aeroplanes
Verification record What was tested against which real software, what it found, and what remains unverified
Security TLS, authentication, audit and what is deliberately refused
HL7 Go API Using the parser as a library in your own Go programs

The manual is also served by the running instance, so an operator never has to find this page.


Using Perfuse as a Go library

The HL7 v2 parser is a standalone package with no dependency on the engine:

import "github.com/biodream-llc/perfuse/hl7"

msg, err := hl7.Parse(raw)
if err != nil {
    return err
}

// Path lookup returns an error for a path that is not valid, rather than an
// empty string that could equally mean "absent" or "you typed it wrong".
family, err := msg.Get("PID-5.1")     // patient's family name
if err != nil {
    return err
}

for _, obx := range msg.Segments("OBX") {
    fmt.Println(obx.Field(3).Component(2).String(), obx.Field(5).String())
}

It indexes rather than decoding, so reading one field does not rebuild the message. API documentation.


FAQ

Is Perfuse really free? What is the licence?

Yes. Apache License 2.0 — commercial use, modification, distribution and private use are all permitted, with no fee and no per-channel or per-interface pricing. See LICENSE and NOTICE.

Will my existing Mirth channels work?

Mirth JavaScript transformers and filters run unchanged, E4X included. Channel exports are converted with perfuse translate. Run perfuse explain on your export first — it tells you by name what will and will not convert. Anything that cannot convert is reported rather than approximated.

Can I go back to Mirth if I change my mind?

Yes. A channel built in Perfuse can be exported as a Mirth channel file, and this is verified against a real Mirth server rather than against our own parser. An engine you cannot leave is the problem, not the solution.

Do I need Java, a database or an application server?

No. One static binary. It uses an embedded database by default and PostgreSQL if you point it at one. The web console is compiled into the executable.

Is it HIPAA compliant?

Compliance is a property of a deployment, not of software, so no product can honestly claim it on your behalf. What Perfuse provides: TLS with mutual authentication, an audit log of who changed what, role-based access control, message-store retention limits, de-identification steps, and a refusal to serve patient data over plain HTTP on a public interface unless you explicitly override it. The security chapter is written for the person who has to sign off on it.

Is this production ready?

It is version 0.1.0 — the first public release. The engine, queue, transports and web interface are complete and tested, and the parts that talk to other people's software are verified against that software rather than against mocks. It has not yet run production traffic at a site other than the author's own testing. Use shadow mode. Run it beside what you have, on real messages, delivering nothing, and read the differences for yourself. That feature exists precisely because you should not take this paragraph's word for it.

What is missing?

A smaller connector catalogue than Mirth's, no clustering yet, and no plugin ecosystem. Filters, transformations, scripts, contracts, shadow comparisons and mapping tables do not survive a round trip out to Mirth and back — each is reported when it cannot be converted. Missing capabilities are refused by name rather than approximated.

How do I get help or report a bug?

Open a GitHub issue. Include the output of perfuse version and, if a message is involved, a de-identified sample. There is also a friction report built into the interface that records where this installation refused you and how often — that is often the fastest way to describe a problem.


Contributing

Pull requests are welcome. Two conventions this repository holds to:

  1. Documentation changes ship in the same commit as the code they describe. Prose that sits next to the wrong file does not reach anybody.
  2. A test that cannot fail is not evidence. New guards are verified by breaking the thing they guard and confirming the test notices.

make check runs formatting, vet, the race detector, cross-compilation, type checking and the unit suites. make e2e runs the browser tests. docs/releasing.md covers cutting a release and lists what the current one could not verify.


Licence

Apache License 2.0. Copyright 2026 BioDream LLC and the Perfuse contributors. See NOTICE.

Perfuse is not affiliated with, endorsed by, or derived from Mirth Connect or NextGen Healthcare. HL7 and FHIR are registered trademarks of Health Level Seven International; DICOM is a registered trademark of NEMA. Those marks are used only to describe what this software reads and writes.

Keywords: healthcare integration engine · interface engine · Mirth Connect alternative · open source HL7 engine · HL7 v2 parser · HL7 to FHIR converter · FHIR server · FHIR R4 R4B R5 · DICOM router · X12 837 835 270 271 · C-CDA CDA validator · MLLP · healthcare interoperability · HIE · health data integration · open source interface engine · Mirth Connect replacement · Go healthcare

Directories

Path Synopsis
cmd
perfuse command
Command perfuse reads and explains healthcare integration configuration.
Command perfuse reads and explains healthcare integration configuration.
perfuse-wasm command
Perfuse in a browser tab.
Perfuse in a browser tab.
perfusedoc command
Command perfusedoc builds the Perfuse reference manual.
Command perfusedoc builds the Perfuse reference manual.
Package hl7 reads HL7 version 2 messages.
Package hl7 reads HL7 version 2 messages.
internal
admit
Package admit bounds how much work is in flight at once.
Package admit bounds how much work is in flight at once.
alerts
Package alerts watches the metrics and says when something is wrong.
Package alerts watches the metrics and says when something is wrong.
analyze
Package analyze turns a parsed Mirth channel into something a human can act on: a plain description of what the channel does, and an honest list of what will not survive a migration.
Package analyze turns a parsed Mirth channel into something a human can act on: a plain description of what the channel does, and an honest list of what will not survive a migration.
api
Package api serves the HTTP interface used by the web front end.
Package api serves the HTTP interface used by the web front end.
attach
Package attach moves large payloads out of a message and puts them back.
Package attach moves large payloads out of a message and puts them back.
authlimit
Package authlimit throttles failed authentication attempts by source address.
Package authlimit throttles failed authentication attempts by source address.
branding
Package branding stores a customer's logo and product name so an installation can present itself as their own product rather than as Perfuse.
Package branding stores a customer's logo and product name so an installation can present itself as their own product rather than as Perfuse.
cda
Package cda reads clinical documents.
Package cda reads clinical documents.
channeltest
Package channeltest runs tests against a channel definition.
Package channeltest runs tests against a channel definition.
codeset
Package codeset holds mapping tables that outlive the channel that first needed one.
Package codeset holds mapping tables that outlive the channel that first needed one.
compliance
Package compliance implements the CMS ADT Event Notification workflow required by 42 CFR 482.24(d) since May 2021.
Package compliance implements the CMS ADT Event Notification workflow required by 42 CFR 482.24(d) since May 2021.
config
Package config loads channel definitions from files.
Package config loads channel definitions from files.
contract
Package contract turns what a feed looks like into what a feed must look like.
Package contract turns what a feed looks like into what a feed must look like.
dbtime
Package dbtime formats timestamps so that sorting them as text sorts them as time.
Package dbtime formats timestamps so that sorting them as text sorts them as time.
delimited
Package delimited parses records separated and split by configured characters.
Package delimited parses records separated and split by configured characters.
dicom
Package dicom reads DICOM data sets.
Package dicom reads DICOM data sets.
drug
Package drug handles the codes and quantities that identify a medicine.
Package drug handles the codes and quantities that identify a medicine.
e4x
Package e4x makes Mirth Connect's JavaScript run unchanged.
Package e4x makes Mirth Connect's JavaScript run unchanged.
egress
Package egress decides whether this engine may connect outward to an address.
Package egress decides whether this engine may connect outward to an address.
engine
Package engine runs configured channels.
Package engine runs configured channels.
eprescribe
Package eprescribe reads and writes NCPDP SCRIPT, the standard prescriptions travel in.
Package eprescribe reads and writes NCPDP SCRIPT, the standard prescriptions travel in.
equiv
Package equiv proves that two engines agree, or says exactly where they do not.
Package equiv proves that two engines agree, or says exactly where they do not.
expr
The HL7 v2 binding.
The HL7 v2 binding.
fdlimit
Package fdlimit finds out how many file descriptors this process may open, and raises the limit if it can.
Package fdlimit finds out how many file descriptors this process may open, and raises the limit if it can.
fhir
Package fhir implements FHIR resources, serialisation and validation.
Package fhir implements FHIR resources, serialisation and validation.
fhirserver
Package fhirserver implements a FHIR REST server.
Package fhirserver implements a FHIR REST server.
framing
Package framing reads and writes messages on a byte stream that is not MLLP.
Package framing reads and writes messages on a byte stream that is not MLLP.
ftpconn
Package ftpconn uploads files over FTP and FTPS using only the standard library.
Package ftpconn uploads files over FTP and FTPS using only the standard library.
generate
Package generate makes synthetic HL7 v2 messages.
Package generate makes synthetic HL7 v2 messages.
hl7dict
Package hl7dict names the fields of HL7 v2 segments.
Package hl7dict names the fields of HL7 v2 segments.
hl7v3
Package hl7v3 reads HL7 version 3 messages.
Package hl7v3 reads HL7 version 3 messages.
hl7xml
Package hl7xml converts HL7 v2 messages to and from the XML shape Mirth Connect uses, and back to ER7 encoding.
Package hl7xml converts HL7 v2 messages to and from the XML shape Mirth Connect uses, and back to ER7 encoding.
ldap
Package ldap speaks enough LDAP to authenticate a person and read their groups.
Package ldap speaks enough LDAP to authenticate a person and read their groups.
manual
Package manual builds the Perfuse reference manual.
Package manual builds the Perfuse reference manual.
mapper
Package mapper suggests field mappings between systems with confidence scores.
Package mapper suggests field mappings between systems with confidence scores.
metrics
Package metrics collects what the engine is doing and keeps enough history to draw it.
Package metrics collects what the engine is doing and keeps enough history to draw it.
mirth
Java analysis for imported Mirth channels.
Java analysis for imported Mirth channels.
msgstore
Package msgstore persists the messages a channel handled.
Package msgstore persists the messages a channel handled.
ncpdp
Writing a field in an NCPDP transmission.
Writing a field in an NCPDP transmission.
oidc
Package oidc verifies OpenID Connect identities.
Package oidc verifies OpenID Connect identities.
parity
Package parity compares what Perfuse produces against what the engine being replaced produced.
Package parity compares what Perfuse produces against what the engine being replaced produced.
pas278
Package pas278 maps between Da Vinci prior authorisation and the X12 278 transaction.
Package pas278 maps between Da Vinci prior authorisation and the X12 278 transaction.
pdf
Package pdf writes simple text documents, using only the standard library.
Package pdf writes simple text documents, using only the standard library.
priorauth
Package priorauth implements the provider-side prior authorization workflow required by CMS-0057.
Package priorauth implements the provider-side prior authorization workflow required by CMS-0057.
publichealth
Package publichealth implements bidirectional public health reporting: electronic case reporting (eCR), electronic lab reporting (ELR), and immunization registry queries.
Package publichealth implements bidirectional public health reporting: electronic case reporting (eCR), electronic lab reporting (ELR), and immunization registry queries.
queue
Package queue is a durable, per-destination delivery queue.
Package queue is a durable, per-destination delivery queue.
s3put
Package s3put writes objects to S3 using only the standard library.
Package s3put writes objects to S3 using only the standard library.
saml
Exclusive XML Canonicalization (exc-c14n) per https://www.w3.org/TR/xml-exc-c14n/
Exclusive XML Canonicalization (exc-c14n) per https://www.w3.org/TR/xml-exc-c14n/
scim
Package scim implements SCIM 2.0, the protocol identity providers use to provision accounts.
Package scim implements SCIM 2.0, the protocol identity providers use to provision accounts.
script
Package script runs Mirth Connect JavaScript.
Package script runs Mirth Connect JavaScript.
settings
Package settings is the single description of everything about a Perfuse server that an operator may change.
Package settings is the single description of everything about a Perfuse server that an operator may change.
sftpconn
Package sftpconn opens SFTP connections.
Package sftpconn opens SFTP connections.
shadow
Package shadow compares a candidate channel against the live one.
Package shadow compares a candidate channel against the live one.
soap
Package soap sends SOAP requests and reads SOAP faults, using only the standard library.
Package soap sends SOAP requests and reads SOAP faults, using only the standard library.
sqldb
Package sqldb opens database connections for the database source and destination.
Package sqldb opens database connections for the database source and destination.
sqlitedb
Package sqlitedb opens SQLite the way a server needs it: one connection for writes and several for reads.
Package sqlitedb opens SQLite the way a server needs it: one connection for writes and several for reads.
steps
Declarative transformation steps, for any message format.
Declarative transformation steps, for any message format.
stomp
Package stomp speaks STOMP 1.2 to a message broker.
Package stomp speaks STOMP 1.2 to a message broker.
store
Package store holds the data that is genuinely stateful: users, sessions and an audit trail.
Package store holds the data that is genuinely stateful: users, sessions and an audit trail.
tefca
Package tefca implements the parts of TEFCA participation that do not require a QHIN connection.
Package tefca implements the parts of TEFCA participation that do not require a QHIN connection.
tenant
Package tenant provides the identity and isolation rules for multi-tenant operation.
Package tenant provides the identity and isolation rules for multi-tenant operation.
tlsconf
Package tlsconf builds TLS configuration from files and describes certificates.
Package tlsconf builds TLS configuration from files and describes certificates.
tomirth
Package tomirth writes a Perfuse channel back out as Mirth channel XML.
Package tomirth writes a Perfuse channel back out as Mirth channel XML.
trace
Package trace produces distributed traces for messages moving through a channel, and exports them over OTLP/HTTP with the JSON encoding.
Package trace produces distributed traces for messages moving through a channel, and exports them over OTLP/HTTP with the JSON encoding.
transform
Package transform applies declarative changes to a message.
Package transform applies declarative changes to a message.
translate
Package translate converts a Mirth channel into a Perfuse channel definition.
Package translate converts a Mirth channel into a Perfuse channel definition.
udap
Package udap implements the client half of HL7 Security for Scalable Registration, Authentication, and Authorization — the specification TEFCA's Facilitated FHIR exchange rests on.
Package udap implements the client half of HL7 Security for Scalable Registration, Authentication, and Authorization — the specification TEFCA's Facilitated FHIR exchange rests on.
v2fhir
Package v2fhir maps HL7 v2 messages to FHIR resources.
Package v2fhir maps HL7 v2 messages to FHIR resources.
vcs
Package vcs reads the history of channel files from git.
Package vcs reads the history of channel files from git.
vfs
Package vfs is the small set of file operations a polling connector needs.
Package vfs is the small set of file operations a polling connector needs.
web
Package web serves the built front end from inside the binary.
Package web serves the built front end from inside the binary.
webauthn
Package webauthn verifies passkeys.
Package webauthn verifies passkeys.
winservice
Package winservice runs Perfuse as a Windows service.
Package winservice runs Perfuse as a Windows service.
x12
Reading and writing values at a path.
Reading and writing values at a path.
x12xml
Package x12xml converts an X12 interchange to and from the node tree the transformation, filter and script layers already work on.
Package x12xml converts an X12 interchange to and from the node tree the transformation, filter and script layers already work on.
xmldsig
Package xmldsig implements XML Digital Signatures and the XAdES profile of them.
Package xmldsig implements XML Digital Signatures and the XAdES profile of them.
xtree
Package xtree is a mutable XML tree.
Package xtree is a mutable XML tree.
Package mllp implements HL7's Minimal Lower Layer Protocol, the framing used to carry v2 messages over TCP.
Package mllp implements HL7's Minimal Lower Layer Protocol, the framing used to carry v2 messages over TCP.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL