Question Scott Beeson · Mar 1, 2016

I'll be doing my first xml transform soon and I'm hoping to find a good graphical mapping tool to generate the XSLT.  Does anyone have any recommendations?  I've tried the demo of Altova MapForce and it's exactly what I want but it's super expensive.  Working for a non-profit it would be nice if I could find a free or cheap solution.

5
0 3290
Question Scott Beeson · Feb 24, 2016

If you go to your profile and click the "Friends" tab there are 3 sub tabs: 

For me, the first two tabs are identical.  Given the "pending" URL, I'm assuming the second tab is supposed to be pending requests.  So that's one issue.  I'm not even sure what /flagged is supposed to be, but it lists 4 of my 5 friends.  On top of that, the layout is reversed (icons on the right, names on the left).

4
0 174
Question Scott Beeson · Feb 16, 2016

Here is my original query:

SELECT EventType, InitiatedAt, COUNT(*) as cnt
FROM HS_IHE_ATNA_Repository.Aggregation
WHERE EventType = 'LOGIN'
AND LocalDateTime > '2016-02-16 11:00:00'
GROUP BY EventType, InitiatedAt

This gives me data like this:

LOGIN %SYSTEM 69918
LOGIN OTHER 39


However, I need to get the data back as two columns with all but the last concatenated and delimited, more like this:

LOGIN;%SYSTEM 69918
LOGIN;OTHER 39

I tried this:

3
0 7143
Question Scott Beeson · Feb 12, 2016

 Error:

    [SQLCODE: <-400>:<Fatal error occurred>]
    [Cache Error: <<SUBSCRIPT>%0AmEdun+4^%sqlcq.HSREGISTRY.cls966.1 ^||%sql.temp(1,"")>]
    [Location: <ServerLoop - Query Fetch>]
    [%msg: <Unexpected error occurred:  <SUBSCRIPT>%0AmEdun+4^%sqlcq.HSREGISTRY.cls966.1 ^||%sql.temp(1,"")>]

Here is an example of a query that gives the error:

    SELECT COUNT(DISTINCT Criteria) as Relevance FROM HS_IHE_ATNA_Repository.Aggregation
    WHERE EventType = 'CROSS GATEWAY QUERY'

The content of the actual field is XML, but the query simply returns a number.  Here is one that works:

10
0 4876
Question Scott Beeson · Feb 12, 2016

In MSSQL I think you can do something like this:

select *
from HS_IHE_ATNA_Repository.COLUMNS
where TABLE_NAME='Aggregation'

 

How can I do this in Cache SQL?

[%msg: < Table 'HS_IHE_ATNA_REPOSITORY.COLUMNS' not found>]

11
1 2388
Question Scott Beeson · Feb 8, 2016

Given the following code:

start
    set tstVar = "Green"
    do TestIt()
 
TestIt() {
    write tstVar
}

I get <UNDEFINED>start+4^DeploymentTool *tstVar
 

I also tried setting the variable outside the start method but that doesn't work either.  I realize I could pass tstVar to the TestIt() routine but I'm trying to create a couple variables that will be reused repeatedly so that doesn't really work.

11
0 699
Question Scott Beeson · Feb 8, 2016

I've searched the ObjectScript reference for any instances of Upper, Lower or Case and the only thing is a case/switch statement.  In all the documentation I can only find SQL and Cache Basic references for things like UCASE.

So how do I do this in ObjectScript?

For instance, if (ucase(dtype)="G") { }

2
0 419
Question Scott Beeson · Feb 5, 2016
selecttype ; select gateway or ihe
     read "Deployment Type? (G)ateway or (I)HE: ", dtype
dataentry ; first data entry routine
     if (dtype="G") {
          set dtypeFull = "Gateway"
     elseif (dtype="I") {
          set dtypeFull = "IHE"
     else {
          write !,"Invalid Choice",!
          goto selecttype
     }
     Write !, "Starting ", dtypeFull," deployment..."

This was what I first wrote.  Here is the test, first putting in an invalid value:

Deployment Type? (G)ateway or (I)HE: F
Invalid Choice
Deployment Type? (G)ateway or (I)HE: G
Starting Gateway deployment...

 

19
0 754
Question Scott Beeson · Feb 5, 2016
The minimum interval between invocations of the adapter by the Ensemble framework. For adapters that poll for external events, this is the polling interval. However, most polling adapters will process all inputs immediately if several are detected at one time. This is also the interval at which each Business Service will check for shutdown requests.

Is it seconds or what?  The default is 15  

1
0 526
Question Scott Beeson · Feb 4, 2016

I'm working on a proposal for a deployment tool development project and I was wondering if anyone had any experience with such a thing.  

We use Healthshare and implementations for new clients are tedius and lengthy.  Lots of ensemble service, registry value, lookup tables, namespaces and other things have to be created and configured. 

I would like to create a Zen or CSP page based deployment tool that can do all this with a few parameters and some custom code.

Has anyone done this?  What are some pitfalls you ran into?  Any unique ideas you included?  Other general thoughts?

15
0 1023
Question Scott Beeson · Feb 2, 2016

I'm designing a workflow for PHR via FTP.  What I've done is create a single FTP adapter to pick up files from multiple customers.  A router then accesses a lookup table and determines if a particular customer is allowed to send a particular message type to the state.  If not, the message doesn't go out.  It seems like everyone is against this approach (other than my CEO, thankfully), including Intersystems:

5
0 374
Question Scott Beeson · Jan 21, 2016

So calling this lookup manually from the console works as expected:

PHR>set key = "WMMC_IMM"
PHR>w ##class(Ens.Util.FunctionSet).Lookup("BlockFeed",key)
1

However, calling it from a method with some concatination to build the key is giving me problems:

ClassMethod canSendToState(iParticipant As %String, iFeed As %String) As %Boolean
{
    set = iParticipant _ "_" _ iFeed
    w "Looking up " _ k,!
    set = ..Lookup("BlockFeed",k,"not found")
    w "x = " _ x,!
}
PHR>w ##class("Custom.MHC.Common.Functions").canSendToState("WMMC","IMM")
Looking up WMMC_IMM
x = not found
8
0 430
Question Scott Beeson · Jan 21, 2016

I'm working on some custom utility functions that I can utilize in Business Rules as well as other places.  I saw this line in the docs:

For each function you wish to define, add a class method to your new function set class. There is no support for polymorphism, so to be precise, you must mark these class methods as final.

 but I didn't really know what it meant.  I didn't run into any problems until I tried calling one of my new methods from another method.  Removing the [ Final ] fixed the issue, but I'm guessing that means I can't call them from Business Rules now?

2
0 265
Question Scott Beeson · Jan 21, 2016

Here is the function I'm writing:

/// Returns the participant code based on MSH-4
ClassMethod getParticipant(iSendingFacility As %String) As %String [ Final ]
{
   set = $PIECE(iSendingFacility,"^",1)
   set = $PIECE(iSendingFacility,"^",2)
   set sc1 = Lookup("ParticipantCodeMap",a)
   if sc1 = "" {
      set sc1 = Lookup("ParticipantCodeMap",b)
   }
   q sc1
}

For some reason when I try to run it I get the following error:

 set sc1 = Lookup("ParticipantCodeMap",a)
 ^
<UNDEFINED> 

I tried adding the the default parameter in case it's not finding it but it didn't help.  What am I missing?

5
0 308
Question Scott Beeson · Jan 21, 2016

I want to do some logic based on what environment code is running in. I can't find a built-in function to retrieve this so I'd like to write a custom function. Does anyone know of a command that would get the current environment?

9
0 766
Question Scott Beeson · Jan 14, 2016

I have a service named FTP_In that is of class EnsLib.HL7.Service.FTPService.   It picks up files from multiple subfolders and sends them to an EnsLib.HL7.MsgRouter.RoutingEngine.   What I want to do is somehow capture the subfolder as a variable for use in the routing rules.  Is this possible?

Let's say I have the following files and directory structure on my FTP Server

/incoming/green/apple.dat
/incoming/yellow/banana.dat

I want the Routing Rule to be able to send anything that came from the /green/ folder to one operation and from /yellow/ to another.

6
0 658
Question Scott Beeson · Jan 13, 2016

I created a Zen page with a header. All is good. I then created a new Zen page and during the wizard specified that it was a "subclass of a template page". So now I have Class Custom.App.HomePage Extends Custom.App.TemplateMaster. If I visit HomePage.cls I see the header from the template. However, the HomePage class has no XData Contents section so I have no idea how to actually add content. I tried adding the section but once I do then I don't see the template content anymore.

So, how do I put content in a page that extends another page as a template?

2
0 351
Question Scott Beeson · Jan 13, 2016

New to CSP and Zen.  I've been going through tutorials and have made some progress.  Using the "Contacts" tutorial as an example, I'm trying to create a "ViewContact" page.  I want this to be linkable so I'm using URI Parameters, which I understand.  However, what I'm not sure about is how to retrieve a specific record.  Should I use a SQL statement?  If so, how?

Let's say I just wanted to display the property "Name" for the contact with ID 12.  What would be the best way to do so?

5
0 365