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));