Proscia POC

Build the Interface

The message class, transformation, service, operation, router, and end-to-end test.

Message class

Create PROSCIAPKG/SlideOrder.cls:

Saving compiles it automatically. Confirm no errors in the Output panel.

Data transformation

In the portal, switch to the PROSCIA namespace, then: InteroperabilityBuildData TransformationsNew.

FieldValue
PackagePROSCIAPKG
NameORMToSlideOrder
Source ClassEnsLib.HL7.Message
Source Doc Type2.5.1:ORM_O01
Target ClassPROSCIAPKG.SlideOrder

First add a foreach action over ORCgrp() — click the ORCgrp() node in the source tree, then Add Actionforeach. This loops over every order group, so the field paths below need no index.

Then map five fields by dragging each source node onto its target:

TargetSource
MRNPIDgrp.PID:PatientIdentifierList().IDNumber
PatientNamePIDgrp.PID:PatientName().FamilyName
AccessionNumberORCgrp().ORC:PlacerOrderNumber.EntityIdentifier
OrderCodeORCgrp().OBRuniongrp.OBRunion.OBR:UniversalServiceIdentifier.Identifier
OrderDateTimeORCgrp().ORC:DateTimeofTransaction.Time

Then compile.

Test it

Click Test in the DTL editor and paste the sample message:

All five fields should populate. Do not move on until they do.

HL7 input service

In the production config, click + next to Services.

SettingValue
Service ClassEnsLib.HL7.Service.FileService
Service NameFileIn
File Path/durable/hl7/in
Message Schema Category2.5.1
Target Config NamesRouter
Enabledchecked

Click Apply.

JSON output operation

Create PROSCIAPKG/JSONFileOut.cls:

Add it to the production with + next to Operations.

SettingValue
Operation ClassPROSCIAPKG.JSONFileOut
Operation NameJSONFileOut
File Path/durable/json/out
Enabledchecked

Routing process

In the production config, click + next to Processes.

SettingValue
Business Process ClassEnsLib.HL7.MsgRouter.RoutingEngine
Business Process NameRouter
Enabledchecked

For Business Rule Name, click the magnifier → New → package PROSCIAPKG, name RoutingRule. That opens the graphical Rule Editor. Add one rule:

FieldValue
ConditionHL7.{MSH:9.1} = "ORM"
Actionsend
TargetJSONFileOut
TransformPROSCIAPKG.ORMToSlideOrder

Save and compile.

End-to-end test

Download the sample message and copy it into the container:

test.hl7

MSH|^~\&|LIS|LAB|CONCENTRIQ|PROSCIA|20260727120000||ORM^O01^ORM_O01|MSG001|P|2.5.1
PID|1||MRN12345^^^HOSP^MR||DOE^JANE^A||19700101|F
ORC|NW|ACC2026001|||||||20260727115900
OBR|1|ACC2026001||88305^SURGICAL PATHOLOGY^CPT

Check the output:

Then confirm the trace: InteroperabilityViewMessages. The path should read FileIn → Router → JSONFileOut, green, with no errors.

Reference

Useful Docker commands:

In the IRIS terminal:

Full reset — destroys the container and all data: