Archive for October, 2008

Installing PatientOS on SUN Sparc/Solaris 10

Tuesday, October 28th, 2008

Solaris installation instructions are very similar to the Linux instructions.

The main difference is

a) Download gnu tar and install its dependent packages from ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/ with the pkgadd -d <file> command.

libiconv-1.9.2-sol10-sparc-local
libgcc-3.4.6-sol10-sparc-local
tar-1.16-sol10-sparc-local

b) The PostgreSQL software install of postgresql-8.3.1-S10.sparc-32
https://sun-rfid.dev.java.net/postgresql-install.htm#install

c) The Java install of jdk-6u7-solaris-sparc.sh

download java 1.6.07 for Sparc Solaris 10. Unpack and then replace the patientos java directory

rm -fR /usr/local/patientos/082/jre1.6.0_02
mv jdk1.6.0_07 /usr/local/patientos/082
mv /usr/local/patientos/082/jdk1.6.0_07 /usr/local/patientos/082/jre1.6.0_02

d) Remember, like Linux, running PatientOS using X-Windows over a LAN is slooooow. NX Server/Nx Client allow you to get a fast, snappy application as long as you have a fairly recent CPU (2.2 dual core min recommended). Just install the 3 packages.
http://www.nomachine.com/download.php

e) Create users, login and start patientos (command line or setup a shortcut)

Here is PatientOS running on a Solaris 10 desktop !

PatientOS running on solaris

PatientOS running on solaris

Nursing FIM Worksheet Assessment

Tuesday, October 28th, 2008

Now that the PatientOS tools are becoming more mature I am able to write up instructions for administrators to build clinical documentation content - without requiring a developer to build it for them. Here are the instructions used for the FIM Worksheet Assessment.

Step 1 FIM Assessment Design

The assessment is divided into 20 or more sections, each of which have several questions to assess the patient. Each question is assigned a score and the lowest score in the section becomes the FIM score.

FIM Assessment Eating Section

FIM Assessment Eating Section

We will have one form per section and then a single form which adds the others as sections.

Step 2 Data Elements

In this form will we create 2 new data elements for the FIM assessment and assign the OpenEHR identifier for a global assessment.

  • Evaluations –> SOAP –> Assessment –> System FIM Assessment
    1. System FIM Assessment Item
      - Integer
      - openEHR-EHR-OBSERVATION.global.v1/data[at0001]/events[at0002]/data[at0003]/items[at0067]/value
    2. System FIM Assessment Score
      - Integer
FIM Assessment Data elements

FIM Assessment Data elements

Step 3 Term Subcategories

Ahead of time we create the term subcategories using the reference builder

System - FIM Worksheet Eating
System - FIM Worksheet Grooming
System - FIM Worksheet Bathing
System - FIM Worksheet Upper Body Dressing
System - FIM Worksheet Lower Body Dressing
System - FIM Worksheet Toileting
System - FIM Worksheet Bladder
System - FIM Worksheet Bladder Accidents
System - FIM Worksheet Bowel
System - FIM Worksheet Bowel Accidents
System - FIM Worksheet Transfer Bed Chair Wheelchair
System - FIM Worksheet Transfer Toilet
System - FIM Worksheet Transfer Tub Shower
System - FIM Worksheet Locomotion Ambulation
System - FIM Worksheet Locomotion Wheelchair
System - FIM Worksheet Locomotion Stairs
System - FIM Worksheet Comprehension
System - FIM Worksheet Expression
System - FIM Worksheet Social Interaction
System - FIM Worksheet Problem Solving
System - FIM Worksheet Memory

Step 3 Terms

We open the Term Builder and create a term hierarchy

Evaluations–> FIM Assessment

and right click on the category to get the menu choices.

  1. This time we want “add terms and details to FIM assessment”
  2. We are then prompted and select the appropriate term subcategory
  3. We say no to the prompt for a coded entry
  4. We say yes to apply the same detail to all items
  5. We then search for System FIM Assessment Score

6. Finally we enter the list ensuring one term per line and a semi-colon and the score at the end of the line

Term name with detail value

Term name with detail value

Step 5 Template Form

A form is created for each term subcategory and opening each form we sent the view properties to

  • Columns 11
  • Column spec

We then add 3 rows labels

  1. Row 1
    • Blank label
    • Label “Day 1″ 3 columns wide
    • Label “Day 2″ 3 columns wide
    • Label “Day 3″ 3 columns wide
    • Blank label
  2. Row 2
    • Subcategory label
    • Label for day 1 shift 1
    • Label for day 1 shift 2
    • Label for day 1 shift3
    • Label for day 2 shift 1
    • Label for day 2 shift 2
    • Label for day 2 shift 3
    • Label for day 3 shift 1
    • Label for day 3 shift 2
    • Label for day 4 shift 3
    • Label for FIM score
  3. Row 3
    • Label for first term
    • 3 state (Yes Unvalued N/A) checkbox
      - FIM Assessment record item
      - First term value
      - Term Sequence 1
    • 3 state (Yes Unvalued N/A) checkbox
      - FIM Assessment record item
      - First term value
      - Term Sequence 2
    • 3 state (Yes Unvalued N/A) checkbox
      - FIM Assessment record item
      - First term value
      - Term Sequence 3
    • etc up to Term Sequence 9
    • Integer field with
      - FIM Assessment score record item
      - First term value

The template form now looks like this

FIM assessment header and first term

FIM assessment header and first term

Step 4 Replicating the Form

  1. First we open the FIM Worksheet Eating form and select the last 11 controls
  2. We press the TERM toolbar button
  3. We search and find the first term “Completely Independent”
  4. We apply the term to all 11 controls
  5. We press the copy button
  6. We press the paste button
  7. We then repeat steps 1-4 for the second term
  8. We optionally change the control name (see below)
  9. We do need to update the first controls name (see toolbar with an A)

We then repeat for all terms in this form.

Here is a video of the process to replicate the form design:

FIM assessment replicating the forms

We then repeat for all forms and terms. For each new form we first paste all of the header and first 11 controls (25 in total).

Note to change a control name you can use the command control button and enter the following script

control.setLabel(control.getLabel().replace(”independent”,”fed slower”));

Nursing Documentation - Care Plan

Wednesday, October 22nd, 2008

The care plan is based upon the nursing diagnosis (NANDA) with associated interventions and goals.

In our form design we will divide in form into one section per diagnsosis and then subdivide each section into interventions and goals.

So one diagnosis on the form looks like this.

Care plan single NANDA section

Care plan single NANDA section

Goals Section

Here is the design of a section for goals

Care plan mapping for goals

Care plan mapping for goals

Effectively we have

  • One row maps to one Term
  • One row maps to one record
  • The first column is the active indicator on the record
  • The second column is the term text of the record
  • The third column is a detail record for the goal met date

Data Elements

  • Create a hierarchy
    - Evaluations –> Plan of Care –> Goal
    - Evaluations –> Plan of Care –> Followup
  • Import the OpenEHR Archetype openEHR-EHR-EVALUATION.goal
  • Import the OpenEHR Archetype openEHR-EHR-INSTRUCTION.follow_up
  • Since the followup archetype does not have a qualifying type we add our own specific Nursing Intervention data types - one per diagnsos e.g.
    - Nursing Intervention Barriers to Discharge
Care plan data element record item hierarchy

Care plan data element record item hierarchy

Term Tool

  • Create a hierarchy
    - Evaluations–>Plan of Care –> Plan of Care Goals
    - Evaluations–>Plan of Care –> Plan of Care Followup
  • Create term subcategories, one for each NANDA diagnosis e.g.
    - System Care Plan Barriers to Discharge
  • Add the terms
Care plan term hierarchy

Care plan term hierarchy

Form Section Design - Goals

  • Create a form per section e.g.
    - System - Care Plan Barriers to Discharge Goals
  • The goals have 4 columns with the column spec of
    - 4dlu, 4dlu, 4dlu, 10dlu, 4dlu, 4dlu, 4dlu, 75dlu:grow(1), 4dlu, 4dlu, 4dlu, 75dlu:grow(1), 4dlu, 4dlu, 4dlu, 75dlu
  • Goals have the following header fields
    - Empty label, Long term goal, goal resolved
  • Goals have the following fields - each with a blank label to create a table look
    - Active column (Checkbox)
    —- Record Item: Goal Outcome
    —- Term: Patient will be discharged to ______
    —- Model: FORMRECORDS_ACTIVEIND
    —- Default Action Script:

importPackage(Packages.com.patientis.framework.scripting);

lockcontrols = !component.isSelected();
ServiceUtility.setOtherComponentsWithTermLocked(controlpanel, control, lockcontrols);

    • - Long term goal (Text field)
      —- Record Item: Goal Outcome
      —- Term: Patient will be discharged to ______
      —- Model: FORMRECORDS_TERMTEXT
      —- Locked
      - Goal resolved (Calendar)
      —- Record Item: Goal Outcome
      —- Detail Item: Goal Met
      —- Term: Patient will be discharged to ______
      —- Model: FORMRECORDS_VALUEDATE
  • The active indicator checkbox is used to activate or inactivate the goal and will also unlock the text box to allow the goal to be edited and the goal met date to be entered.

Form Section Design - Interventions

  • Create a form per section e.g.
    - System - Care Plan Barriers to Discharge Interventions
  • The interventions have 3 columns with the column spec of
    - 4dlu, 4dlu, 4dlu, 10dlu, 4dlu, 4dlu, 4dlu, 100dlu:grow(1), 4dlu, 4dlu, 4dlu, 100dlu:grow(1)
  • Interventions have the following fields
    - Goal Active (Checkbox)
    —- Record Item: Nursing Intervention Barriers to Discharge
    —- Term: Patient / care giver conference with the interdisciplinary team
    —- FORMRECORDS_ACTIVEIND
    —- Default action script

    importPackage(Packages.com.patientis.framework.scripting);

    lockcontrols = !component.isSelected();
    ServiceUtility.setOtherComponentsWithTermLocked(controlpanel, control, lockcontrols);

  • - Intervention (Text field)
    —- Record Item: Nursing Intervention Barriers to Discharge
    —- Term: Patient / care giver conference with the interdisciplinary team
    —- FORMRECORDS_TERMTEXT

Creating New Sections - Goals

  • Open the first form and select the first 6 controls - 3 header labels and the first 3 controls
  • Create a new form e.g.
    - System - Care Plan Alteration in ADL goals
  • Paste the controls into the form using the toolbar or menu
  • Select the last 3 controls
  • Press the Term toolbar button
  • Enter the name of the new term
  • Click OK and OK to apply to the 3 selected controls

  • Select the last 3 controls again and repeat the process for each goal
  • Save the form

Creating New Sections - Interventions

  • Repeat the process for goals for each intervention

Creating Rollup Sections

  • Once we have all the goal and intervention sections created we create an additional form per NANDA diagnosis
    System - Care Plan Alteration in Mood goals
    System - Care Plan Alteration in Bladder goals
    System - Care Plan Alteration in Bowel goals
    System - Care Plan Alteration of Cognition goals
    System - Care Plan Alteration of Communication goals
    System - Care Plan Alteration in ADL goals
    System - Care Plan Alteration in Mobility goals
    System - Care Plan Alteration in Swallowing goals
    System - Care Plan Alteration in Nutrition goals
    System - Care Plan Alteration in Respiratory goals
    System - Care Plan Potential for Skin Breakdown goals
    System - Care Plan Alteration in Skin Integrity goals
    System - Care Plan Alteration in Mood interventions
    System - Care Plan Alteration in Bladder interventions
    System - Care Plan Alteration in Bowel interventions
    System - Care Plan Alteration of Cognition interventions
    System - Care Plan Alteration of Communication interventions
    System - Care Plan Alteration in ADL interventions
    System - Care Plan Alteration in Mobility interventions
    System - Care Plan Alteration in Swallowing interventions
    System - Care Plan Alteration in Nutrition interventions
    System - Care Plan Alteration in Respiratory interventions
    System - Care Plan Potential for Skin Breakdown interventions
    System - Care Plan Alteration in Skin Integrity interventions
  • In each form we add 2 sections
  • Press Add
  • Click on the Section option
  • Browse for the corresponding goal and intervention form
Care plan add an existing section

Care plan add an existing section

  • View the properties of each section and change the section to be system expand only.
  • This removes the expanding arrows
Remove user expand arrows

Remove user expand arrows

Create the Care Plan Form

  • Create a new form System Care Plan
  • Add each NANDA diagnosis section

We now have the basic care plan form.

Designing Physician Documentation - Family History

Monday, October 20th, 2008

We create new clinical document forms by building one reusable section at a time and then combining them into a single form.

First we login as admin/admin and click on the clinical sections link.


Step 1 Form Design

In this example we are going to create a new system form called Family History with the following goals in mind.

  • Break the form into reusable sections.
  • Add the data elements using OpenEHR archetypes where possible.
  • Map terms to SNOMED where possible.

Step 2 Family Health History Design

  • Sections - we will break the form by site.
  • Data elements will come from the openEHR-EHR-EVALUATION.risk-family_history archetype.
  • (EDIT) Due to disparities in the archetype we added a new group of data elements called Family History.
  • SNOMED findings will be used for each record.

One site section to build

Step 3 Data Elements

  1. Login as admin/admin
  2. Open the Data Elements tool (right click on nodes to get the menu).
  3. Create subcategory History and Physical –> Past Medical History –> Risk Family History
  4. Find the archetype using http://www.openehr.org/knowledge/
  5. Import the Archetype into that category.
  6. (EDIT) we added a subcategory History and Physical –> Past Medical History –> Family History
  7. (EDIT) we added 3 data elements
    - Family History Condition
    —- Integer
    —- Positive/Negative
    - Family History Patient Relative
    —- String
    —- Value List: PatientRelative
    - Family History Condition Notes
    —- String

Step 4 Terms

  1. Open the Terms tool (right click on tree nodes).
  2. Create term category History and Physical –> Past Medical History –> Family History.
  3. Create all new subcategories e.g. System Family History Eyes.
  4. Find the concept ids using http://eagl.unige.ch/SNOCat/.
  5. Add terms selecting the appropriate subcategory
  6. Search for the concepts in PatientOS in the format <conceptid>|<conceptid>|.. etc.
  7. Repeat with each new subcategory.
  8. We also add a free text term ‘Other’ for the subcategory.

Multiple concept SNOMED search

Multiple concept SNOMED search

Concept search by multiple IDs

Concept search by multiple IDs

Step 5 Create Form

  1. Open the Clinical Sections tool
  2. Create a new form for the first section System - Family History Eyes
  3. We view the form properties
    - change the columns to 4.
    - add a custom column definition “1dlu, 1dlu, 1dlu, max(75dlu;p), 1dlu, 1dlu, 1dlu, max(25dlu;p), 1dlu, 1dlu, 1dlu, max(50dlu;p), 1dlu, 1dlu, 1dlu, max(75dlu;p)”
  4. We add 4 labels, one per column
    - Condition
    - Present?
    - Relation
    - Notes
  5. We then add 4 controls
    - Condition
    —- Custom Term Display Field
    —- Record Item: Family History Condition
    —- Term: Cataract
    - Present?
    —- Custom 3 state field
    —- Record Item: Family History Condition
    —- Term: Cataract
    - Relation
    —- Pick list
    —- Record item: Family History Relation
    —- Term: Cataract
    - Notes
    —- Free Text field
    —- Record Item: Family History Condition Notes
    —- Term: Cataract
  6. We then copy the 4 controls and paste as 4 new controls
  7. Select the 4 new controls and press the Term toolbar button to change the term to Glaucoma for all 4
  8. Repeat 6-8 for the term Other in the Family History Eyes category
  9. Save the form
  10. Repeat for all form sections

  • Categories