John Lisa · Jul 20, 2020

IDX Groupcast system from Cache'


I posted in another thread a short while back regarding accessing (extracting) data from the Cache' database.

I am now told that the (healthcare) system is IDX Groupcast. The kick off project has not started yet but I would like to do some 'homework' and see the data model. I couldn't find too much about this in a Google search. Would anyone have a link or advise for doing some preliminaries? I am already versed in SQL server.


John Lisa

1 0 8 195
Log in or sign up to continue


I used to work at IDX under the division that produced what was called IDX Flowcast.  IDX Flowcast is a practice management system for large practice/academic medical centers.  Groupcast on the other hand was for the small practice environment, I don't recall the exact # of doctors as the threshold cutoff.  I do not believe Groupcast is based on Intersystems Cache, but I could be incorrect.  If the system is Flowcast aka GE Centricity Business, then most all of the data is exposed via Cache classes that are based on %SQLStorage and hence would be exposed via any SQL client interface connecting to Flowcast/GE Centricity Business using ODBC/JDBC.

Thank you Stephen for your response. The extraction is indeed GE Centricity for sure, but the hospital is advising that it is 'Groupcast'. I will see this week coming. If that's the case, I will see if I can use the IRIS Management system via System Explorer.

I have tried a small sample extract using SQL code in the 'System Explorer' function on the management portal.

With just a few joins and a small sampling of invoices, I get this message:

Is there a more efficient way to extract very large amounts of various data via SQL? 

Can you share one of the SQL statement you wrote?  Based on the table names I'd be able to tell which GE system this is actually against?

An index on  reg.mnr and bar.invnum  will accelerate this.

Ok so this is definetely Centricity Business aka Flowcast and not GroupCast.

Generally speaking your query looks correct but some considerations

The join is incorrect.  Following your exact FROM clause, you would consider

FROM   Registration.Patient reg

       JOIN BAR.Invoice BAR on BAR.GID = Reg.ID

       JOIN Dict.Provider prov on prov.Id=BAR.prov

There is an index on bar.invnum so there is no issue with indices defined.

Note that properties/columns are properly typed in these classes so you could make the statement more concise by doing


                GID->PatNm As Guarantor,

                 GID->MRN As MRN

                  Prov->Name As Provider,


FROM     BAR.Invoice

WHERE  InvNum BETWEEN 63882965 and 64306671

I have another question. Now that the project is underway, It appears that I have over 86 million Invoices to extract into a flat file. When I run the select statement, (Now using DBEAVER) the job bombs out. I'm not a system admin and so I can't add tables to the Cache dB, only pull them out and I was thinking about importing the flat files into SQL server for further manipulation. Is there a best practice for getting this enormous table out of Cache?