Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Seeking suggestions for implementing PIX V3 using IPF

19 views
Skip to first unread message

刘铭

unread,
Jun 26, 2024, 3:34:00 AM6/26/24
to ipf-user

Hello Everyone, Currently, I need to develop IHE's Patient Identifier Cross-referencing test scenarios. I found your IPF framework and reviewed the documentation, which shows that you support IHE transactions such as ITI-44, ITI-45, and ITI-46. I then looked at the IHE client tutorial to understand some methods of using IPF.

However, I'm having some issues implementing the consumer side of the PIX-related transactions. For example, for the ITI-44 transaction, how should I handle the message on the consumer side? I haven't seen any relevant code examples, so could you please point me to some reference materials?

Additionally, I've reviewed the IPF source code, and the example in the Iti44TestRouteBuilder in the ipf-platform-camel-ihe-hl7v3 module hasn't been very helpful for me. Thank you in advance for your assistance. Best Regards, Ming

Dmytro Rud

unread,
Jun 26, 2024, 3:39:28 AM6/26/24
to ipf-...@googlegroups.com
Hello Ming

The ITI-44 component in IPF handles request and response messages as Strings.  If you would like to use JAXB model classes, take a look at the module ipf-commons-ihe-hl7v3model.  You could also use the Groovy XML Slurper (https://groovy-lang.org/processing-xml.html) or any other technology.

Best regards
Dmytro



--
You received this message because you are subscribed to the Google Groups "ipf-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ipf-user+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ipf-user/df2098a7-e1de-4c1b-b2d4-53a9977cd955n%40googlegroups.com.

刘铭

unread,
Jun 26, 2024, 5:09:12 AM6/26/24
to ipf-user
Hello Dmytro

I have already reviewed the content in the ipf-commons-ihe-hl7v3model module. Does this module contain all the entity classes required for the PIX transactions?

Furthermore, I'm trying to convert between message XML and the corresponding entity classes. I've looked at the unmarshallMessage and marshallMessage methods provided by the HL7V3Transformer class, but I've encountered some issues during testing. For example, when I load the content of the PIX_FEED_REG_Maximal_Request.xml file locally, I'm not sure how to find the entity class that corresponds to this file. Should it be the PRPAIN201301UV02MCCIMT000100UV01Message entity class under the PRPA_IN201301UV02 package? But it doesn't seem to work when I try to convert it. Could you provide some suggestions? Thank you in advance for your assistance. Here's my test code:

public static void main(String[] args) throws JAXBException {
InputStream inputStream = FileUtil.getInputStream("translation/pixfeed/v3/PIX_FEED_REV_Maximal_Request.xml");
PRPAIN201301UV02MCCIMT000100UV01Message message = HL7V3Transformer.unmarshallMessage(PRPAIN201301UV02MCCIMT000100UV01Message.class,inputStream);
log.warn(message.getTypeId().getRoot());
}

I need the right way to convert xml to entity Best Regards Ming

Dmytro Rud

unread,
Jun 26, 2024, 5:38:23 AM6/26/24
to ipf-...@googlegroups.com
My guess would be that you should use the model class net.ihe.gazelle.hl7v3.prpain201301UV02.PRPAIN201301UV02Type.


刘铭

unread,
Jun 26, 2024, 5:38:46 AM6/26/24
to ipf-user

To be honest, I'm not clear about which IPF PIX3 entity class corresponds to the XML file. How should I go about matching them? How can I find the correct entity class?

For example, if I have an XML file like the following, which entity class would it correspond to? 01_PatientRegistryRecordAdded1_20110228.xml

刘铭

unread,
Jun 26, 2024, 5:42:09 AM6/26/24
to ipf-user
I have tried, but it still doesn't work. When trying to convert the XML to an entity class, I still get the error "UnmarshalException: unexpected element".

Dmytro Rud

unread,
Jun 26, 2024, 5:46:00 AM6/26/24
to ipf-...@googlegroups.com
Have you seen the test org.openehealth.ipf.commons.ihe.hl7v3.core.transform.requests.PixV3QueryRequestTransformerTest?

On finding the proper model class:
The name of the root element in your XML document is "PRPA_IN201301UV02".
And there is a class net.ihe.gazelle.hl7v3.prpain201301UV02.PRPAIN201301UV02Type annotated with @XmlRootElement(name = "PRPA_IN201301UV02").
The package name, the class name, and the class annotation reference the root XML element name.


刘铭

unread,
Jun 26, 2024, 5:48:40 AM6/26/24
to ipf-user
Thanks for your help , I got it !!  I'll try it !!!!
Reply all
Reply to author
Forward
0 new messages