IHE Source
The IHE source implements server-side IHE actor roles, enabling intu to participate in standards-based healthcare data exchange using IHE integration profiles such as XDS.b, PIX, and PDQ.
Each supported profile implements the relevant ITI transactions so that external systems can query or push data into your channel pipeline using the IHE Technical Framework.
Configuration
Section titled “Configuration”source: type: ihe profile: PIX port: 8443 tls: cert_file: ./certs/server.crt key_file: ./certs/server.key auth: type: saml idp_metadata_url: https://idp.hospital.org/metadataProperties
Section titled “Properties”| Property | Type | Required | Default | Description |
|---|---|---|---|---|
profile | "XDS.b" | "PIX" | "PDQ" | Yes | — | IHE integration profile to implement. |
port | int | Yes | — | TCP port the IHE actor binds to. |
tls | object | No | — | TLS certificate and key for HTTPS/ATNA. |
auth | object | No | — | Authentication configuration. |
Authentication
Section titled “Authentication”| Type | Description |
|---|---|
basic | HTTP Basic authentication. |
bearer | Bearer token validation. |
saml | SAML assertion validation against an IdP metadata endpoint. |
Supported Profiles
Section titled “Supported Profiles”| Profile | Actor | Transactions | Description |
|---|---|---|---|
| XDS.b | Document Repository / Registry | ITI-41 (Provide & Register), ITI-42 (Register), ITI-43 (Retrieve) | Cross-Enterprise Document Sharing. Receives and serves clinical documents. |
| PIX | PIX Manager | ITI-8 (Patient Identity Feed), ITI-9 (PIX Query) | Patient Identifier Cross-referencing. Manages patient identity mappings across domains. |
| PDQ | Patient Demographics Supplier | ITI-21 (Patient Demographics Query), ITI-22 (Patient Demographics and Visit Query) | Patient Demographics Query. Responds to demographic search requests. |
Complete Example
Section titled “Complete Example”A PIX Manager that receives patient identity feeds and cross-references them with the hospital’s master patient index:
id: pix-managerenabled: truegroup: patient-identity
source: type: ihe profile: PIX port: 8443 tls: cert_file: ./certs/server.crt key_file: ./certs/server.key auth: type: saml idp_metadata_url: https://idp.hospital.org/metadata
transformer: pix-feed-to-mpi.ts
destinations: - master_patient_index - audit_logTransformer Example
Section titled “Transformer Example”A TypeScript transformer that processes an ITI-8 Patient Identity Feed and prepares a patient record for the master patient index:
export default function transform(msg: IntuMessage): IntuMessage { const iti8 = JSON.parse(msg.payload);
const mpiRecord = { action: iti8.eventType === "A01" || iti8.eventType === "A04" ? "upsert" : "merge", patient: { identifiers: iti8.patientIdentifiers.map((id: any) => ({ domain: id.assigningAuthority, value: id.idNumber, })), name: { family: iti8.patientName.family, given: iti8.patientName.given, }, birthDate: iti8.dateOfBirth, gender: iti8.gender, }, sourceSystem: iti8.sendingFacility, timestamp: new Date().toISOString(), };
msg.payload = JSON.stringify(mpiRecord); return msg;}