diff --git a/Java-Demo/.gitignore b/Java-Demo/.gitignore
index e3fa4f9..acb6229 100644
--- a/Java-Demo/.gitignore
+++ b/Java-Demo/.gitignore
@@ -1,2 +1,3 @@
target/*
-*.key
\ No newline at end of file
+*.key
+run.bat
\ No newline at end of file
diff --git a/Java-Demo/README.md b/Java-Demo/README.md
index 05f41c7..6ef8558 100644
--- a/Java-Demo/README.md
+++ b/Java-Demo/README.md
@@ -29,7 +29,7 @@ Edit your `.key` file to include only the key, nothing else.
### Optional
To create a deployable Java program, create a `libs` folder and run:
`mvn dependency:copy-dependencies -DoutputDirectory=libs`
-That will put all the dependencies into the libs folder. Then you can run it with something like:
+That will put all the dependencies into the libs folder.
```
mvn compile package
java -cp "target\moh-erx-java-1.0.0.jar;./libs/*" demo.PharmaNetClaim PNET-39999999
diff --git a/Java-Demo/pom.xml b/Java-Demo/pom.xml
index 8883a89..75c3ebb 100644
--- a/Java-Demo/pom.xml
+++ b/Java-Demo/pom.xml
@@ -68,11 +68,33 @@
- gerry.PharmaNetClaim
+ demo.PharmaNetClaim
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.5.3
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ demo.PharmaNetClaim
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Java-Demo/src/main/java/demo/PharmaNetClaim.java b/Java-Demo/src/main/java/demo/PharmaNetClaim.java
index 14b9359..12c9b46 100644
--- a/Java-Demo/src/main/java/demo/PharmaNetClaim.java
+++ b/Java-Demo/src/main/java/demo/PharmaNetClaim.java
@@ -19,18 +19,17 @@
public class PharmaNetClaim {
public static void main(String[] args) throws Exception {
+ boolean debug = false;
+ String KeycloakUrl = "https://common-logon-test.hlth.gov.bc.ca/auth/realms/moh_applications/protocol/openid-connect/token";
+ String PharmaNetUrl = "https://pnet-vs1.api.gov.bc.ca/api/v1/Claim"; // different HL7 message types use
+
if (args.length < 1) {
System.out.println("Usage: java PharmaNetClaim ");
System.exit(1);
}
-
String ClientId = args[0];
- String KeycloakUrl = "https://common-logon-test.hlth.gov.bc.ca/auth/realms/moh_applications/protocol/openid-connect/token";
- String PharmaNetUrl = "https://pnet-vs1.api.gov.bc.ca/api/v1/Claim"; // different HL7 message types use
- String keycloak = "https://common-logon-test.hlth.gov.bc.ca/auth/realms/moh_applications/protocol/openid-connect/token";
- // different endpoints
String Scope = "openid system/Claim.write system/Claim.read"; // different HL7 message types require different
- String quick = JwtService.quick(ClientId, keycloak);
+ String quick = JwtService.quick(ClientId, KeycloakUrl);
String tokenRequestBody = "grant_type=client_credentials"
+ "&client_id=" + URLEncoder.encode(ClientId, StandardCharsets.UTF_8)
@@ -58,10 +57,11 @@ public static void main(String[] args) throws Exception {
System.out.println(tokenResponse.body());
System.exit(1);
}
- // System.out.print("Keycloak access Token: " + accessToken);
+ if (debug)
+ System.out.println("Keycloak access Token: " + accessToken);
- // not a valid HL7 message, but used for testing the FHIR envelope and PharmaNet response
- String hl7 = "MSH|^~&|DESKTOP|PNET-39999999|PNP|PP||GERRYWASHERE,,WL*E5R:SS0AR|ZPN|631708|P|2.1||\n"
+ // not a valid HL7 message
+ String hl7 = "MSH|^~&|DESKTOP|" + ClientId + "|PNP|PP||GERRYWASHERE,,WL*E5R:SS0AR|ZPN|631708|P|2.1||\n"
+ "ZCA|000001|03|00|AR|04\n"
+ "ZCB|BC00000000|260806|631708\n"
+ "ZZZ|TDR||631708|P1|07963|||";
@@ -99,16 +99,15 @@ public static void main(String[] args) throws Exception {
.build();
HttpResponse claimResponse = client.send(claimRequest, HttpResponse.BodyHandlers.ofString());
-
JsonNode responseJson = objectMapper.readTree(claimResponse.body());
String responseData = responseJson.path("content").path(0).path("attachment").path("data").asText();
if (responseData.isEmpty()) {
- System.out.println("Unexpected response from PharmaNet, no data payload received");
- System.out.println(claimResponse.body());
- System.exit(1);
+ System.out.println("HL7v2 Authorization Failed, transaction ignored.");
+ return;
}
-
+ if (debug)
+ System.out.println(claimResponse.body());
String hl7Response = new String(Base64.getDecoder().decode(responseData), "UTF-8");
System.out.println(hl7Response.replace("\r", "\n"));
}