CL 6.1 SMAT file extensions?

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf CL 6.1 SMAT file extensions?

  • Creator
    Topic
  • #54450
    Mary Kobis
    Participant

    We just loaded CL 6.1 and our first load of inbound HL7 messages resulted in our IB/OB smat files with extension of .smatdb, .smatdb-shm, and .smatdb-wal. Anybody know what they are? I’ve looked around and  found that the smat setup for the site was set to “save into DB” and “data encryption enabled”. Would this be the cause? If so, why are they so different from previous versions? Thank you in advance of any help on the subject…Mary.

    ps: I’m turning them off to see what happens.

Viewing 15 reply threads
  • Author
    Replies
    • #81516
      Mary Kobis
      Participant

      Shut them off and I’ve got the usual .idx & .msg. Still what are they? and who uses them? Thanks!

    • #81517
      James Cobane
      Participant

      I believe that is the sqlite database files when the database option for saved messages is enabled.

      Jim Cobane

      Henry Ford Health

    • #81518
      Mary Kobis
      Participant

      thank you…

    • #81519
      Steve Williams
      Participant

      Mary, this is a “new” feature built in to v6.1 and documentation is sparse.

      It appears to be a site wide setting affecting all site processes and threads.

      By default, new sites have this turned on. In the SiteInit GUI, the are check boxes at the bottom for activating/deactivating this feature (see screenshot 1).

      In the Site Options GUI dialog, the a section at the top for changing the settings (see screenshot 2).

      There’s also a new GUI tool called SMAT Database that provides some primitive access to saved messages in the SQLite db files. I’m still trying to figure it out.

      SQLite is not a concurrent writable database, but for reading purposes, it works just fine. My guess is Infor is looking to solve the “SMAT refresh” issue with SMAT files by using SQLite queries which should “reread” the file data whenever a query is refreshed. Over time the tools should get better.

      Meanwhile, SQL tools like AquaData Studio or SQLite Studio should be able to *slice and dice* the SMAT_db files with ease.

      You can read this short document for information when to use SQLite and not: http://www.sqlite.org/whentouse.html

      A resource on SQLite Studio is http://sqlitestudio.pl/docs/manual.pdf

    • #81520
      Terry Kellum
      Participant

      This grew out of conversations a couple of years back regarding message archives.  IMHO, this will be a great help to the analyst in looking at HL7 files.  Imagine a TCL proc that reads that SQLite database table every 2 minutes and puts the transactions into a bigger database system.  You can then have a script that looks at the new transactions and creates index tables from the fields in the transaction.  Now imagine someone asks you what orders came from SCU between 9 and 10.  You type;

      Code:

      select * from transindex
      where msh09 = ‘OMG^O19’
      and pv103 like ‘SCU%’
      and msh07 like ‘2014110609%’
      order by msh07 desc

      Want the messages?  Join in the raw message table, and you can view or export them.

      No big deal.  I can get that from SMAT.  How about matching up Lab Orders to Lab Results to find unfulfilled orders?  Can your smat do that?

      Code:


      SELECT *
      FROM (
      SELECT obr.msgnum AS Message , msh07 AS OrderDate, orc04 AS OrderNumber, msh06 AS Fac, `obr04-4` AS Test
      FROM outobr AS obr
      LEFT JOIN outtrans AS tr ON tr.msgnum = obr.msgnum
      LEFT JOIN outorc AS orc ON orc.msgnum = obr.msgnum
      LEFT JOIN outindex AS idx ON idx.msgnum = obr.msgnum
      WHERE `obr04-4` = ‘TACRO’
      AND msh09 = ‘ORM^O01’
      ORDER BY obr.msgnum DESC
      ) AS Orders
      LEFT JOIN (
      SELECT obr.msgnum AS Message , msh07 AS ResultDate, obr03 AS OrderNumber, msh06 AS Fac, `obr04-4` AS Test
      FROM outobr AS obr
      LEFT JOIN outtrans AS tr ON tr.msgnum = obr.msgnum
      LEFT JOIN outorc AS orc ON orc.msgnum = obr.msgnum
      LEFT JOIN outindex AS idx ON idx.msgnum = obr.msgnum
      WHERE `obr04-4` = ‘TACRO’
      AND msh09 = ‘ORU^R01’
      ORDER BY obr.msgnum DESC
      ) AS Results ON Orders.OrderNumber = Results.OrderNumber
      WHERE Results.Message IS NULL

    • #81521
      Jim Kosloskey
      Participant

      I guess the real question is – should this new behavior be turned on by default?

      My take is no – it will cause issues for those shops which are not yet ready to migrate.

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #81522
      Steve Williams
      Participant

      Hi Terry,

        I was not criticizing the change. The inclusion of SMAT into SQLite is a good one. I was simply pointing out that Infor changed the “default” behavior “out of the box”. A process they have done in the past that tends to catch people off guard and they’ll need to learn a new skill. 🙂

    • #81523
      Terry Kellum
      Participant

      I agree that it should not be the “Default” setting.  There is more that they need to do, first of which is to replace the full SMAT GUI Functionality (plus the catch-up they need to do) with the SQLite Backend.  That needs to include a quick way added to the GUI to generate the old style SMAT files out of the DB tables, and full training of the current analysts in the field.

      THEN they might THINK about making it the default, but we are still a long way from that gate.

      Still, If I had the new version, I would create a site with the DB option turned on and raw-route some data to play with.

    • #81524
      Alice Kazin
      Participant

      You can use “hcismatconvert” to convert the database to .idx and .msg files.  

      For example:   smatdb file name is “alicein.smatdb”

      “hcismatconvert alicein -o alicein2”

      Now you will have “alicein2.idx” and “alicein2.msg”.

    • #81525
      glen goldsmith
      Participant

      The SQLite website discusses hthe -wal files (write ahead logs) and -shm (shared memory) files…

      https://www.sqlite.org/tempfiles.html

    • #81526
      Peter Heggie
      Participant

      Thank you – very helpful. So when using some kind of script to manage SQLite SMAT databases, we may not have to include them in the process.

      Technically, we should not be ignoring them while a database is in use (at least one connection remains). It would be nice if we could shutdown the processes using them, ensure these files no longer exist (all connections closed cleanly) and then perform the maintenance (move them to long-term storage location). It is good that we do not have to compress them. It may not be easy to find a time to shutdown all threads that feed them, but if we separate them by thread, or by process, and not have one smat db per site, then that should make it easier to do a quick stop, archive and  start for each set.

      Peter Heggie

    • #81527
      glen goldsmith
      Participant

      Actually, you don’t have to do this.

      When you issue a save_cycle command, either from the GUI or via hcicmd, it takes care of these tmp files.

      These are not actual databases.

      When you invoke the sqlite command on a DB that has these tmp files, they empty themselves and go away automatically, and gracefully.  (IE no lost data, the temp files populate the smatdb like it should)

      What this means…… on the old .msg/.idx files, we have a live SMAT viewer, you could see transactions being saved in real time — it was useful in troubleshooting.  This won’t work on the new smatdb’s…..

    • #81528

      In my opinion, it’s going to be painful to not move to the new best practice model for SMAT introduced in CIS 6.1 and further improved in CIS 6.1.1. You’ll be fighting the current so to speak.

      The combination of these 4 steps will make SMAT much more powerful that it has every been in the past. Management will by much easier. Performance is much faster. And searching is much better.

      1. Enable SMAT DB (and hopefully encryption) under Site Options.

      -- Max Drown (Infor)

    • #81529
      Keith McLeod
      Participant

      I found that if I moved forward or backward in the smatdb, current messages would be there.  I just don’t see a refresh menu selection….

    • #81530
      Elijah Park
      Participant

      We just upgraded to 6.1 this weekend and used SMAT DB right out the chute – we found searching across multiple files super helpful during testing.

      The Java regex it uses takes a little getting used to. For example, if I wanted to search for an “&” after the PID segment and cross carriage returns, I would key this:

      Code:

      (?s)PID.*&

      One question: Is there a way to run SQLite queries directly against the encrypted db files?

    • #81531

      Shoot me an email, and I’ll send you the instructions.

      -- Max Drown (Infor)

Viewing 15 reply threads
  • The forum ‘Cloverleaf’ is closed to new topics and replies.

Forum Statistics

Registered Users
5,117
Forums
28
Topics
9,292
Replies
34,432
Topic Tags
286
Empty Topic Tags
10