OM_Config

Document Sample
OM_Config Powered By Docstoc
					New Configuration /
Submit Paradigm
Presenter Introduction
   Ian Marshall:
    – Senior Programmer / Analyst
    – 5 years working with Oacis application (3 as implementer, 2 as
      programmer)
    – Part of development team that implemented the new configuration and
      submit paradigm




                                   2
Agenda

 Configuration Approach
 Overview of Widgets and Submit Process

 Overview of Samples




                   3
Configuration Approach




         Configuration
         Approach

                         4
Configuration Approach - Background
   Oacis consists of two main components:
    – Core Framework
    – Configuration
   Historically, configuration was delivered a “Model
    Configuration” or “Canned Product” which could be used
    by clients as is or as a reference.
   This had a number of disadvantages:
    – Design intent was not clear.
    – No clear upgrade path.




                                     5
Configuration Approach – New Paradigm
   Solution: Deliver an “enhanced model” configuration
    consisting of:
    – Two types of configuration:
        Re-useable configuration widgets

           – Implements “standard functionality”
           – Should NOT be modified by sites
           – Includes extension points
           – Upgradeable
          Sample configurations
           – “Starter set” of configuration and extensions
           – Can be modified where needed
           – Not upgradeable
    – Configuration guidelines (documentation)



                                         6
Configuration Approach – New Paradigm
   Advantages:
    – Simpler implementation
        Existing model


        Reusable samples


    – Upgradeable
        Widgets and APIs


        Release Notes


    – Documented




                               7
Configuration Approach – Widget Config
   Used to define and enforce a pre-defined state model
    for orders and worklists.
   Examples of widget configuration:
    – OM and worklist submission scripts
    – OM and worklist gateway configurations
    – “Core” EventAction values
    – “Core” code tables
    – “Core” fields defined in site extension tables (e.g. ZsServ, ZqRx)
    – Data Sources and Sybase temp tables that depend on core table fields.
    – Various helper scripts and utilities that support common core functions.

   Should NOT be modified by a site




                                          8
Configuration Approach – Sample Config
   Provides everything else needed for a basic
    implementation of orders management and worklists for
    Lab, Microbiology, Dietary and Pharmacy.
   Examples of sample configuration include:
    – vTools components:
          Order detail forms
          Order lists
          Order status column for patient lists
    – Default extensions for widget bean-shell scripts.
    – Extensions and wrappers for widget data sources.
    – Detail form bean-shell scripts.

   These can be modified by sites.



                                           9
Overview of Widgets and Submit Process



Overview of Widgets
         and
     Submit Process
                         10
  Widget Config: Order State Model
                         New Order (with verification permissions)                                                                                           Discontinue




                                                                        Verify                                                 Hold                                               Discontinue
                New Order
No Order   (without verification       Unverified                                              Active                                                   Held                                          Discontinued
               permissions)         placerInfoCd: oaUnver                                 placerInfoCd: oaActive                                  placerInfoCd: oaHeld                                 placerInfoCd: oaDisc
                                                                                 Cancel                                       Release




                                                                                                                                                                               Repeating Parent: derived
                                                                                                                                                                               Others: Mark as Dealt With
                                                                                                 Expire
                                                 Cancel                                     (derived action)
                                                                                                                     Repeating Parent: derived
                                                                                                                     Others: Mark as Dealt With


                                                                                                                          Cancel
                                                                     Cancelled
                                                                placerInfoCd: oaCan
                                                                                                                      Mark as Dealt With
                                                                                                                   (not for Repeating Parent




                                                                                                                                        Expire
                                                                                              Expired                              (derived action)                         Inactive
                                                                                             (derived)                                                                     (derived)
                                                                                          placerInfoCd: various                    Mark as Dealt With                    placerInfoCd: various
                                                                                                                                (not for Repeating Parent




                                                                                               11
Widget Config: Other Order Actions
   Other Order actions that can be taken on orders:
    – Reorder
        Only for inactive orders


    – Modify
        Equivalent to cancel and new order


    – Countersign
    – Deny Countersign




                             12
  Widget Config: Worklist State Model
                    Stop




                                Stopped
                            wlStateCd: oaStop
                                                                       wlStepActionDirectiveCd:
                                                                              oaDirStop


                                     Reset

                                                     Process Step                           wlStepActionDirectiveCd: oaDirFin

                             Stop

                                                                       wlStepActionDirectiveCd:
                                                                              oaDirNxt


                               In Progress                                                                                  Finished
No WorkList   Add                                             Finish
                           wlStateCd: oaInProg                                                                         wlStateCd: oaFinish
                                                                                            Reset


                                                                                                                                             Finish
                              Work List Due Date <
                                 Current Date




                            Overdue (derived)
                           wlStateCd: oaOvrDue




                                                     13
Widget Config: Order Submission
   Essential process has not changed:


    Order XML
                 BEOM-Orders.bsh     DBLoader
    document




                                         CDR




                             14
Widget Config: Historical Order Submission
   Historically BEOM-Orders.bsh created an HL/7
    message:
MSH|^~\&|VOACIS|AHS|OACIS|AHS|20100518164041||ORM^001||P|2.3.1|||AL|NE|CA|||^M
PID|||000096783^^^ADT||DANNIELS^BRIAN^L^||19500413000000426|M|||27 EASTWOOD
   DRIVE^^PETALUMA^CA^94659^^|||||||445555444^^^ADT||||||||||||^M
ORC|NW|201005181640410.6064258575935692^OACIS|||r||^Q12H^D1.0^20100518164000^^R^^^
   ^^^^||20100518164041|001511^^^^^^^^DOC||001511^^^^^^^^DOC|||^M
OBR|1|201005181640410.6064258575935692^OACIS|^LAB|GLU^GLUCOSE^LAB|R|||||||||||001511
   ^^^^^^^^DOC||||||||Lb| |||||||001511^^^^^^^^DOC||||^M
ZSV|||||test comment|||||GLUCOSE^|day^1.0|^M
ZLB|||||||^MZ03|0|||^MZ04||^M




                                        15
Widget Config: Historical Order Submission
   DBLoader parsed the HL/7 and mapped fields to a specified SDA
    structure representing the CDR table fields:
    ExtPat
          MRNum = PID.3.0
          extAppID = PID.3.3
          …
    Svc
          Serv
              placerNum = OBR.2.0
              …
          ExtServtmplt
              extTID = OBR.4.1
          …




                                    16
Widget Config: New Order Submission
   In new paradigm, BEOM-Orders.bsh now creates an XML message
    with a structure that matches the expected SDA node structure:
    <ExtPat>
        <MRNum>000096783</MRNum>
        <extAppID>OACIS</extAppID>
        …
    </ExtPat>
    <Svc>
        <Serv>
            <placerNum>201005181640410.6064258575935692</placerNum>
            …
        </Serv>
        <ExtServTmplt >
             <extTID>GLU</extTID>
             …
        </ExtServTmplt>
    </Svc>



                                       17
Widget Config: New Order Submission
   The DBLoader parses the XML, creates SDA structure dynamically
    based on the XML structure and maps the fields to the XML
    elements:
    ExtPat
           MRNum = value of <MRNum> element
           extAppID = value of <extAppID> element
           …
    Svc
           Serv
               placerNum = value of <placerNum> element
               …
           ExtServtmplt
               extTID = value of <extTID> element
           …
    Etc.



                                           18
Widget Config: Output XML
   The XML is structured in a DBLoader SDA nodes format
    – Clinical services processing for Orders
   BEOM-Orders.bsh script (widget component) creates
    the core structure and populates the required core
    fields.
   BsSwBES_sdfOM.bsh contains all site-defined methods
    for overriding values
    – Site-defined methods called from BEOM-Orders.bsh script
   Structure should not be changed




                                  19
Widget Config: Output XML Structure
   Root Node = <dbl>
   First level children nodes of <dbl>
     – <eventType>
     – <Pat>
     – <ExtPat>
          Extension point: BsSwBES_sdfOMBuildPatientNode

     – <Account>
     – <ExtAccount>
          Extension point: BsSwBES_sdfOMBuildAccountNode

     – <Encntr>
          Extension point: BsSwBES_sdfOMBuildEncounterNode

     – <Svc>
     – <ExtUser>


                               20
Widget Config: Output XML Structure
   First level children nodes of <Svc>
     – <Service>
          Extension point: BsSwBES_sdfOMBuildServiceNode

     – <Status>
          Extension point: BsSwBES_sdfOMBuildStatusNode

     – <ServTmplt>
     – <ExtServTmplt>
          Extension point: BsSwBES_sdfOMBuildServTmpltNode

     – <Serv>
          Extension point: BsSwBES_sdfOMBuildServNode

     – <ServInst>
          Extension point: BsSwBES_sdfOMBuildServInstNode




                               21
Widget Config: Output XML Structure
   First level children nodes of <Svc> (Continued)
     – <Z tables…>
          BsSwBES_sdfOMBuildSdfNode

          BsSwBES_sdfOMBuildWorklistNode




   Note that new orders paradigm includes a number of “Core” fields
    in the ZsServ, ZsServWLParam and ZqRx tables. These fields are
    populated in the “widget” BEOM-Orders.bsh.




                                  22
Widget Config: Sample Submit Output XML
<dbl>
 <eventType>s</eventType>
 <Pat type="node"></Pat>
 <ExtPat>
  <MRNum>2911588</MRNum>
  <extAppID>MR_PCS</extAppID>
 </ExtPat>
 <Account type="node"></Account>
 <ExtAccount>
  <extAccntNum>MC_ADT-00401513</extAccntNum>
  <extAppID>MC_ADT</extAppID>
 </ExtAccount>
 <Encntr>
  <autoCreateFlg>0</autoCreateFlg>
  <fillerNum>MC_ADT-00401513</fillerNum>
  <extAppID>MC_ADT</extAppID>
 </Encntr>
 <Svc>
  <Service>
   <senderAppID>VOACIS</senderAppID>
   <oaExtEventCd>NewOrd</oaExtEventCd>
   <cntrsignflg>0</cntrsignflg>
  </Ser vice>
  <ServTmplt type="node"></ServTmplt>




                                               23
Widget Config: Queued mode vs Live Mode
   Queued Mode
    – Sends message to CMA which forwards it the Queue database.
    – DBLoader reads message from the Queue database and insert
      into the CDR

   Live Mode
    – Sends message to CMA which forwards it to the DBLoader
    – The DBLoader will insert it into the CDR

   Mode determined by parameter in oaconfig.properties
    – orders.submit.mode=[submit mode]




                                 24
Widget Config: Other Widgets
   Code Tables:
    –   placerInfoCd
    –   transTypeCd
    –   senderInfoCd
    –   wlActionCd
    –   wlRepeatOrderUpdateTypeCd
    –   unitOfMeasureCd


   EventAction:
    – All rows where fillerAppID, placerAppID, servTypeCd and senderStsCd
      are all set to null




                                    25
Widget Config: Other Widgets
   “Core” Extension Table Fields:
    – ZsServ.orderDealtWithFlg
    – ZsServ.orderNowFlg
    – ZsServ.swDuration
    – ZsServ.swDurationUnitCd
    – ZsServWLParam.*
        Used for worklist processing

    – ZqRx.sw*
        Core Rx order fields.




                                    26
Widget Config: Other Widgets
   Data Sources:
    – SpSwDtP_OM*
        Stored procedure data sources for order detail forms

    – SpSwOLs_OM* -
        Stored procedure data sources for order lists

        Each has a required extension point – SpSsOLs_sdfOM*

    – SpSwWLs_BuildPatWL
        Stored procedure used by for worklist list data sources


   Bean Shell Scripts:
    – BsSwBES_*
        Helper/utility scripts and methods used by submit scripts.

    – BsSwFE_*
        Helper/utility scripts used by detail forms and worklist lists.




                                       27
Overview of Samples



             Overview
                of
              Samples
                      28
Sample Config: Widget Extensions
   Submit Scripts:
    – Required methods contained in BsSwBES_sdfOM.bsh and
      BsSwBES_sdfWL.bsh. For example:
        BsSwBES_sdfOMBuildPatientNode

        BsSwBES_sdfOMBuildAccountNode

        BsSwBES_sdfOMBuildEncounterNode

        BsSwBES_sdfOMBuildServiceNode

        BsSwBES_sdfOMBuildStatusNode

        BsSwBES_sdfOMBuildServTmpltNode

        BsSwBES_sdfOMBuildServNode

        BsSwBES_sdfOMBuildServInstNode




                                29
Sample Config: Widget Extensions
   Submit Script Extension example:
void BsSwBES_sdfOMBuildPatientNode(Element _inputDocRoot, Element _outputDocRoot){
  logger.debug("execute BsSwBES_sdfOMBuildPatientNode()");

    if (_outputDocRoot!=null){
        Element ePat = _outputDocRoot.getChild("Pat");
        Element eExtPat = _outputDocRoot.getChild("ExtPat");
        if (ePat!=null) {
            // Add site-definted data processing for Pat node here
        }
        if (eExtPat!=null) {
            // Add site-definted data processing for ExtPat node here
        }
    }
} // BsSwBES_sdfOMBuildPatientNode()




                                                   30
Sample Config: Widget Extensions and Wrappers
   Data Sources:
    – SpSwOLs_sdfOM*
        Extend corresponding SpSwOLs_OM* stored procedures.

    – SpSsWLs_*
        Wraps SpSwWLs_BuildPatWL stored proc.

        Used as the data source for configured worklist lists.




                                  31
Sample Config: Detail Forms and Lists
   Order Detail Forms: DnSsDtF_OM*
    – Available for Lab, Microbiology, Dietary, and Pharmacy
    – Samples include:
        Front-end bean-shell scripts

        Data sources for individual components and panels where required.

        Service table extensions (i.e. Zq* tables and fields)

        Submit script extensions




   Order Lists: DnSsOLs_*
    – Available for Active Summary, Active Detail, Inactive Summary, Inactive
      Detail, Countersign and Unverified.
    – Use the widget and sample data sources




                                    32
Sample Config: Detail Forms and Lists
   Worklist Lists: DnSsWLs_*
    – Nurse General and Acknowledgement
    – Use the widget and sample data sources
    – Samples include
        Front-end bean-shell scripts to support dynamic behavior in list

         controls and validation
        Submit bean-shell scripts.




                                     33
Sample Config: Worklists
   Sample worklists:
    –   wlColl – A single step task list.
    –   wlMulCol – A multi-step task list
    –   wlAck – A single step task list used for acknowledging orders.
    –   wlAdmMed – A single step task list used for indicating meds
        administered.




                                       34
Summary
   In Summary:
    – Out of the box configuration divided into Widget and Sample
    – Widget configuration
        Support new clearly defined state models for Orders and Worklists

        Provide extensions for site-specific configuration

        Supported and maintained by Telus Health Solutions

    – Sample configuration
        Serve as examples of how to implement and use the extension

         points.
    – New Submission Paradigm
        XML document based rather than HL/7 message

        Bean-shell oriented

        Gateway configuration is simplified




                                    35
Q&A




      Questions?


          36

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:1
posted:8/10/2012
language:English
pages:36