diff --git a/adt_companion/mirth/adt-companion-receive-via-http.xml b/adt_companion/mirth/adt-companion-receive-via-http.xml
index 3300047..6790151 100644
--- a/adt_companion/mirth/adt-companion-receive-via-http.xml
+++ b/adt_companion/mirth/adt-companion-receive-via-http.xml
@@ -5,10 +5,10 @@
true
2.1.1.5490
-
+
America/Los_Angeles
- 12
+ 14
sourceConnector
@@ -78,7 +78,10 @@
var decoded = FileUtil.decode(msg['Content'].toString());
var decoded2 = "";
-if (Packages.java.lang.String(decoded).substring(0, 70).match(/[a-zA-Z0-9\+\/]{70}/) != null) {
+var testStr = Packages.java.lang.String(decoded).length() > 70 ? Packages.java.lang.String(decoded).substring(0, 70) : Packages.java.lang.String(decoded);
+var testStrLen = testStr.length();
+var base64RegEx = new RegExp('^[A-Za-z0-9\+\/=]{' + testStrLen + '}$');
+if (base64RegEx.test(testStr)) {
decoded2 = FileUtil.decode(Packages.java.lang.String(decoded));
} else {
decoded2 = decoded;
@@ -100,7 +103,10 @@ channelMap.put('filedata', Packages.java.lang.String(decoded2));
// This script executes once when the channel is undeployed
// You only have access to the globalMap and globalChannelMap here to persist data
return;
-
+
\ No newline at end of file
diff --git a/cpad_companion/mirth/cpad-companion-poll-filesystem.xml b/cpad_companion/mirth/cpad-companion-poll-filesystem.xml
index 53b1374..7febe45 100644
--- a/cpad_companion/mirth/cpad-companion-poll-filesystem.xml
+++ b/cpad_companion/mirth/cpad-companion-poll-filesystem.xml
@@ -5,10 +5,10 @@
true
2.1.1.5490
-
+
America/Los_Angeles
- 560
+ 563
sourceConnector
@@ -4408,104 +4408,124 @@ var idxFamilyBases = {
};
var idxFamOffset = 10;
-var relationLookup = {
- 'Father':{
- 'code':'FTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Father'
- },
- 'Mother':{
- 'code':'MTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Mother'
- },
- 'Wife':{
- 'code':'WIFE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Wife'
- },
- 'Husband':{
- 'code':'HUSB',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Husband'
- },
- 'Daughter':{
- 'code':'DAU',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Daughter'
- },
- 'Son':{
- 'code':'SON',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Son'
- },
- 'Sister':{
- 'code':'SIS',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Sister'
- },
- 'Brother':{
- 'code':'BRO',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Brother'
- },
- 'Cousin':{
- 'code':'COUSN',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Cousin'
- },
- 'Nephew':{
- 'code':'NEPHEW',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Nephew'
- },
- 'Niece':{
- 'code':'NIECE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Niece'
- },
- 'Aunt':{
- 'code':'AUNT',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Aunt'
- },
- 'Uncle':{
- 'code':'UNCLE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Uncle'
- },
- 'Workmate':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Employer':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Other':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
+// This function will attempt to lookup a given relation name and return an object containing:
+// 1) the HL7 FamilyMember code (if a match is found, else FRND)
+// 2) the HL7 FamilyMember code system name
+// 3) the HL7 FamilyMember code system oid
+// 4) the HL7 FamilyMember display name (if match is found, else 'Unrelated Friend')
+function lookupRel(rel) {
+ var relationLookup = {
+ 'Father':{
+ 'code':'FTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Father'
+ },
+ 'Mother':{
+ 'code':'MTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Mother'
+ },
+ 'Wife':{
+ 'code':'WIFE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Wife'
+ },
+ 'Husband':{
+ 'code':'HUSB',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Husband'
+ },
+ 'Daughter':{
+ 'code':'DAU',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Daughter'
+ },
+ 'Son':{
+ 'code':'SON',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Son'
+ },
+ 'Sister':{
+ 'code':'SIS',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Sister'
+ },
+ 'Brother':{
+ 'code':'BRO',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Brother'
+ },
+ 'Cousin':{
+ 'code':'COUSN',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Cousin'
+ },
+ 'Nephew':{
+ 'code':'NEPHEW',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Nephew'
+ },
+ 'Niece':{
+ 'code':'NIECE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Niece'
+ },
+ 'Aunt':{
+ 'code':'AUNT',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Aunt'
+ },
+ 'Uncle':{
+ 'code':'UNCLE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Uncle'
+ },
+ 'Workmate':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Employer':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Other':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ }
+ };
+
+ if (relationLookup[rel]) {
+ var retObj = relationLookup[rel];
+ } else {
+ var retObj = {
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ };
}
-};
+
+ return (retObj);
+}
var textTmpl = tmp['component']['structuredBody']['component'][6]['section']['text'].copy();
var entryTmpl = tmp['component']['structuredBody']['component'][6]['section']['entry'].copy();
@@ -4547,9 +4567,9 @@ for (var i = 0; i < maxFamMembers; i++) {
// Populate entry elements
var relLookup = '';
if (trim(rel) != "" && rel != null) {
- relLookup = relationLookup[trim(rel)];
+ relLookup = lookupRel(trim(rel));
} else {
- relLookup = relationLookup['Other (specify)'];
+ relLookup = lookupRel('Other');
}
tmpEntry['organizer']['subject']['relatedSubject']['code']['@code'] = relLookup['code'];
tmpEntry['organizer']['subject']['relatedSubject']['code']['@displayName'] = relLookup['displayName'];
@@ -4617,104 +4637,124 @@ var idxFamilyBases = {
};
var idxFamOffset = 10;
-var relationLookup = {
- 'Father':{
- 'code':'FTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Father'
- },
- 'Mother':{
- 'code':'MTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Mother'
- },
- 'Wife':{
- 'code':'WIFE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Wife'
- },
- 'Husband':{
- 'code':'HUSB',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Husband'
- },
- 'Daughter':{
- 'code':'DAU',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Daughter'
- },
- 'Son':{
- 'code':'SON',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Son'
- },
- 'Sister':{
- 'code':'SIS',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Sister'
- },
- 'Brother':{
- 'code':'BRO',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Brother'
- },
- 'Cousin':{
- 'code':'COUSN',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Cousin'
- },
- 'Nephew':{
- 'code':'NEPHEW',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Nephew'
- },
- 'Niece':{
- 'code':'NIECE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Niece'
- },
- 'Aunt':{
- 'code':'AUNT',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Aunt'
- },
- 'Uncle':{
- 'code':'UNCLE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Uncle'
- },
- 'Workmate':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Employer':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Other':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
+// This function will attempt to lookup a given relation name and return an object containing:
+// 1) the HL7 FamilyMember code (if a match is found, else FRND)
+// 2) the HL7 FamilyMember code system name
+// 3) the HL7 FamilyMember code system oid
+// 4) the HL7 FamilyMember display name (if match is found, else 'Unrelated Friend')
+function lookupRel(rel) {
+ var relationLookup = {
+ 'Father':{
+ 'code':'FTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Father'
+ },
+ 'Mother':{
+ 'code':'MTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Mother'
+ },
+ 'Wife':{
+ 'code':'WIFE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Wife'
+ },
+ 'Husband':{
+ 'code':'HUSB',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Husband'
+ },
+ 'Daughter':{
+ 'code':'DAU',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Daughter'
+ },
+ 'Son':{
+ 'code':'SON',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Son'
+ },
+ 'Sister':{
+ 'code':'SIS',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Sister'
+ },
+ 'Brother':{
+ 'code':'BRO',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Brother'
+ },
+ 'Cousin':{
+ 'code':'COUSN',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Cousin'
+ },
+ 'Nephew':{
+ 'code':'NEPHEW',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Nephew'
+ },
+ 'Niece':{
+ 'code':'NIECE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Niece'
+ },
+ 'Aunt':{
+ 'code':'AUNT',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Aunt'
+ },
+ 'Uncle':{
+ 'code':'UNCLE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Uncle'
+ },
+ 'Workmate':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Employer':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Other':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ }
+ };
+
+ if (relationLookup[rel]) {
+ var retObj = relationLookup[rel];
+ } else {
+ var retObj = {
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ };
}
-};
+
+ return (retObj);
+}
var textTmpl = tmp['component']['structuredBody']['component'][6]['section']['text'].copy();
var entryTmpl = tmp['component']['structuredBody']['component'][6]['section']['entry'].copy();
@@ -4756,9 +4796,9 @@ for (var i = 0; i < maxFamMembers; i++) {
// Populate entry elements
var relLookup = '';
if (trim(rel) != "" && rel != null) {
- relLookup = relationLookup[trim(rel)];
+ relLookup = lookupRel(trim(rel));
} else {
- relLookup = relationLookup['Other (specify)'];
+ relLookup = lookupRel('Other');
}
tmpEntry['organizer']['subject']['relatedSubject']['code']['@code'] = relLookup['code'];
tmpEntry['organizer']['subject']['relatedSubject']['code']['@displayName'] = relLookup['displayName'];
@@ -11231,104 +11271,124 @@ var idxFamilyBases = {
};
var idxFamOffset = 10;
-var relationLookup = {
- 'Father':{
- 'code':'FTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Father'
- },
- 'Mother':{
- 'code':'MTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Mother'
- },
- 'Wife':{
- 'code':'WIFE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Wife'
- },
- 'Husband':{
- 'code':'HUSB',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Husband'
- },
- 'Daughter':{
- 'code':'DAU',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Daughter'
- },
- 'Son':{
- 'code':'SON',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Son'
- },
- 'Sister':{
- 'code':'SIS',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Sister'
- },
- 'Brother':{
- 'code':'BRO',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Brother'
- },
- 'Cousin':{
- 'code':'COUSN',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Cousin'
- },
- 'Nephew':{
- 'code':'NEPHEW',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Nephew'
- },
- 'Niece':{
- 'code':'NIECE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Niece'
- },
- 'Aunt':{
- 'code':'AUNT',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Aunt'
- },
- 'Uncle':{
- 'code':'UNCLE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Uncle'
- },
- 'Workmate':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Employer':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Other':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
+// This function will attempt to lookup a given relation name and return an object containing:
+// 1) the HL7 FamilyMember code (if a match is found, else FRND)
+// 2) the HL7 FamilyMember code system name
+// 3) the HL7 FamilyMember code system oid
+// 4) the HL7 FamilyMember display name (if match is found, else 'Unrelated Friend')
+function lookupRel(rel) {
+ var relationLookup = {
+ 'Father':{
+ 'code':'FTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Father'
+ },
+ 'Mother':{
+ 'code':'MTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Mother'
+ },
+ 'Wife':{
+ 'code':'WIFE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Wife'
+ },
+ 'Husband':{
+ 'code':'HUSB',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Husband'
+ },
+ 'Daughter':{
+ 'code':'DAU',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Daughter'
+ },
+ 'Son':{
+ 'code':'SON',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Son'
+ },
+ 'Sister':{
+ 'code':'SIS',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Sister'
+ },
+ 'Brother':{
+ 'code':'BRO',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Brother'
+ },
+ 'Cousin':{
+ 'code':'COUSN',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Cousin'
+ },
+ 'Nephew':{
+ 'code':'NEPHEW',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Nephew'
+ },
+ 'Niece':{
+ 'code':'NIECE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Niece'
+ },
+ 'Aunt':{
+ 'code':'AUNT',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Aunt'
+ },
+ 'Uncle':{
+ 'code':'UNCLE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Uncle'
+ },
+ 'Workmate':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Employer':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Other':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ }
+ };
+
+ if (relationLookup[rel]) {
+ var retObj = relationLookup[rel];
+ } else {
+ var retObj = {
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ };
}
-};
+
+ return (retObj);
+}
var textTmpl = tmp['component']['structuredBody']['component'][6]['section']['text'].copy();
var entryTmpl = tmp['component']['structuredBody']['component'][6]['section']['entry'].copy();
@@ -11370,9 +11430,9 @@ for (var i = 0; i < maxFamMembers; i++) {
// Populate entry elements
var relLookup = '';
if (trim(rel) != "" && rel != null) {
- relLookup = relationLookup[trim(rel)];
+ relLookup = lookupRel(trim(rel));
} else {
- relLookup = relationLookup['Other (specify)'];
+ relLookup = lookupRel('Other');
}
tmpEntry['organizer']['subject']['relatedSubject']['code']['@code'] = relLookup['code'];
tmpEntry['organizer']['subject']['relatedSubject']['code']['@displayName'] = relLookup['displayName'];
@@ -11440,104 +11500,124 @@ var idxFamilyBases = {
};
var idxFamOffset = 10;
-var relationLookup = {
- 'Father':{
- 'code':'FTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Father'
- },
- 'Mother':{
- 'code':'MTH',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Mother'
- },
- 'Wife':{
- 'code':'WIFE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Wife'
- },
- 'Husband':{
- 'code':'HUSB',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Husband'
- },
- 'Daughter':{
- 'code':'DAU',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Daughter'
- },
- 'Son':{
- 'code':'SON',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Son'
- },
- 'Sister':{
- 'code':'SIS',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Sister'
- },
- 'Brother':{
- 'code':'BRO',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Brother'
- },
- 'Cousin':{
- 'code':'COUSN',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Cousin'
- },
- 'Nephew':{
- 'code':'NEPHEW',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Nephew'
- },
- 'Niece':{
- 'code':'NIECE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Niece'
- },
- 'Aunt':{
- 'code':'AUNT',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Aunt'
- },
- 'Uncle':{
- 'code':'UNCLE',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Uncle'
- },
- 'Workmate':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Employer':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
- },
- 'Other':{
- 'code':'FRND',
- 'codeSystemName':'HL7 FamilyMember',
- 'codeSystemOid':'2.16.840.1.113883.5.111',
- 'displayName':'Unrelated Friend'
+// This function will attempt to lookup a given relation name and return an object containing:
+// 1) the HL7 FamilyMember code (if a match is found, else FRND)
+// 2) the HL7 FamilyMember code system name
+// 3) the HL7 FamilyMember code system oid
+// 4) the HL7 FamilyMember display name (if match is found, else 'Unrelated Friend')
+function lookupRel(rel) {
+ var relationLookup = {
+ 'Father':{
+ 'code':'FTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Father'
+ },
+ 'Mother':{
+ 'code':'MTH',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Mother'
+ },
+ 'Wife':{
+ 'code':'WIFE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Wife'
+ },
+ 'Husband':{
+ 'code':'HUSB',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Husband'
+ },
+ 'Daughter':{
+ 'code':'DAU',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Daughter'
+ },
+ 'Son':{
+ 'code':'SON',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Son'
+ },
+ 'Sister':{
+ 'code':'SIS',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Sister'
+ },
+ 'Brother':{
+ 'code':'BRO',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Brother'
+ },
+ 'Cousin':{
+ 'code':'COUSN',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Cousin'
+ },
+ 'Nephew':{
+ 'code':'NEPHEW',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Nephew'
+ },
+ 'Niece':{
+ 'code':'NIECE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Niece'
+ },
+ 'Aunt':{
+ 'code':'AUNT',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Aunt'
+ },
+ 'Uncle':{
+ 'code':'UNCLE',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Uncle'
+ },
+ 'Workmate':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Employer':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ },
+ 'Other':{
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ }
+ };
+
+ if (relationLookup[rel]) {
+ var retObj = relationLookup[rel];
+ } else {
+ var retObj = {
+ 'code':'FRND',
+ 'codeSystemName':'HL7 FamilyMember',
+ 'codeSystemOid':'2.16.840.1.113883.5.111',
+ 'displayName':'Unrelated Friend'
+ };
}
-};
+
+ return (retObj);
+}
var textTmpl = tmp['component']['structuredBody']['component'][6]['section']['text'].copy();
var entryTmpl = tmp['component']['structuredBody']['component'][6]['section']['entry'].copy();
@@ -11579,9 +11659,9 @@ for (var i = 0; i < maxFamMembers; i++) {
// Populate entry elements
var relLookup = '';
if (trim(rel) != "" && rel != null) {
- relLookup = relationLookup[trim(rel)];
+ relLookup = lookupRel(trim(rel));
} else {
- relLookup = relationLookup['Other (specify)'];
+ relLookup = lookupRel('Other');
}
tmpEntry['organizer']['subject']['relatedSubject']['code']['@code'] = relLookup['code'];
tmpEntry['organizer']['subject']['relatedSubject']['code']['@displayName'] = relLookup['displayName'];
diff --git a/cpad_companion/mirth/cpad-companion-receive-via-http.xml b/cpad_companion/mirth/cpad-companion-receive-via-http.xml
index b0efb89..35a1cd3 100644
--- a/cpad_companion/mirth/cpad-companion-receive-via-http.xml
+++ b/cpad_companion/mirth/cpad-companion-receive-via-http.xml
@@ -5,10 +5,10 @@
true
2.1.1.5490
-
+
America/Los_Angeles
- 20
+ 24
sourceConnector
@@ -78,7 +78,10 @@
var decoded = FileUtil.decode(msg['Content'].toString());
var decoded2 = "";
-if (Packages.java.lang.String(decoded).substring(0, 70).match(/[a-zA-Z0-9\+\/]{70}/) != null) {
+var testStr = Packages.java.lang.String(decoded).length() > 70 ? Packages.java.lang.String(decoded).substring(0, 70) : Packages.java.lang.String(decoded);
+var testStrLen = testStr.length();
+var base64RegEx = new RegExp('^[A-Za-z0-9\+\/=]{' + testStrLen + '}$');
+if (base64RegEx.test(testStr)) {
decoded2 = FileUtil.decode(Packages.java.lang.String(decoded));
} else {
decoded2 = decoded;
@@ -100,7 +103,10 @@ channelMap.put('filedata', Packages.java.lang.String(decoded2));