source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/PatientCorrelationEJB/src/java/gov/hhs/fha/nhinc/patientcorrelationservice/ack/AckBuilder.java@ 507

Last change on this file since 507 was 507, checked in by George Lilly, 15 years ago

NHIN gateway and adaptor for use on linux with VistA EHR and RPMS

File size: 3.0 KB
Line 
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package gov.hhs.fha.nhinc.patientcorrelationservice.ack;
6
7import gov.hhs.fha.nhinc.patientcorrelationservice.parsers.helpers.*;
8import org.hl7.v3.*;
9
10/**
11 *
12 * @author rayj
13 */
14public class AckBuilder {
15
16 private static final String AcceptAckCodeValue = "NE";
17 private static final String ITSVersion = "XML_1.0";
18 private static final String InteractionIdExtension = "MCCI_IN000002UV01";
19 private static final String MoodCodeValue = "EVN";
20 private static final String PatientClassCode = "PAT";
21 private static final String PatientStatusCode = "active";
22 private static final String ProcessingCodeValue = "P";
23 private static final String ProcessingModeCode = "R";
24 private static final String SubjectTypeCode = "SUBJ";
25
26 public static MCCIIN000002UV01 BuildAck(PRPAIN201301UV originalMessage) {
27 II receiverId = null;
28 II senderId = null;
29 String acknowledgementTypeCode = "CA";
30 II originalMessageId = null;
31
32 if (originalMessage != null) {
33 if ((originalMessage.getSender() != null) && (originalMessage.getSender().getDevice() != null) && (originalMessage.getSender().getDevice().getId() != null) && (originalMessage.getSender().getDevice().getId().size() > 0)) {
34 receiverId = originalMessage.getSender().getDevice().getId().get(0);
35 }
36
37 originalMessageId = originalMessage.getId();
38 }
39
40 senderId = IIHelper.IIFactory(Configuration.getMyCommunityId(), null);
41
42 MCCIIN000002UV01 ack = BuildAck(receiverId, senderId, acknowledgementTypeCode, originalMessageId);
43 return ack;
44
45 }
46
47 public static MCCIIN000002UV01 BuildAck(II receiverId, II senderId, String acknowledgementTypeCode, II originalMessageId) {
48 MCCIIN000002UV01 message = new MCCIIN000002UV01();
49
50 message.setITSVersion(ITSVersion);
51 message.setId(UniqueIdHelper.createUniqueId());
52 message.setCreationTime(CreationTimeHelper.getCreationTime());
53 message.setInteractionId(InteractionIdHelper.createInteractionId(InteractionIdExtension));
54
55 message.setProcessingCode(CSHelper.buildCS(ProcessingCodeValue));
56 message.setProcessingModeCode(CSHelper.buildCS(ProcessingModeCode));
57 message.setAcceptAckCode(CSHelper.buildCS(AcceptAckCodeValue));
58
59 message.getReceiver().add(SenderReceiverHelperMCCIMT000200UV01.CreateReceiver(receiverId));
60 message.setSender(SenderReceiverHelperMCCIMT000200UV01.CreateSender(senderId));
61
62 MCCIMT000200UV01Acknowledgement acknowledgement = new MCCIMT000200UV01Acknowledgement();
63 acknowledgement.setTypeCode(CSHelper.buildCS(acknowledgementTypeCode));
64 MCCIMT000200UV01TargetMessage targetMessage = new MCCIMT000200UV01TargetMessage();
65 targetMessage.setId(originalMessageId);
66 acknowledgement.setTargetMessage(targetMessage);
67 message.getAcknowledgement().add(acknowledgement);
68
69 return message;
70 }
71}
Note: See TracBrowser for help on using the repository browser.