1 | /*
|
---|
2 | * To change this template, choose Tools | Templates
|
---|
3 | * and open the template in the editor.
|
---|
4 | */
|
---|
5 | package gov.hhs.fha.nhinc.patientcorrelationservice.ack;
|
---|
6 |
|
---|
7 | import gov.hhs.fha.nhinc.patientcorrelationservice.parsers.helpers.*;
|
---|
8 | import org.hl7.v3.*;
|
---|
9 |
|
---|
10 | /**
|
---|
11 | *
|
---|
12 | * @author rayj
|
---|
13 | */
|
---|
14 | public 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 | }
|
---|