PatientOS
PatientOS
System
Administration Guide
Version 1.0
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
Revision History
Date Version Description Author
05/28/08 0.80 Initial for PatientOS version 0.80 Greg Caulton
Page 1 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
Contents
1. OVERVIEW........................................................................................................................................................................ 3
1.1 DEFAULT SETTINGS ...................................................................................................................................................... 3
1.2 DEFINITIONS ................................................................................................................................................................. 3
2. SYSTEM SETTINGS ......................................................................................................................................................... 4
2.1 SETTINGS TOOL ............................................................................................................................................................ 4
2.2 CHANGING A SETTING .................................................................................................................................................. 4
2.3 ADDING A SETTING ....................................................................................................................................................... 5
3. BATCH JOBS ..................................................................................................................................................................... 6
3.1 ADDING BATCH JOBS .................................................................................................................................................... 6
3.2 SCHEDULING BATCH JOBS ............................................................................................................................................ 7
4. SYSTEM IDENTIFIERS ................................................................................................................................................... 8
4.1 IDENTIFIER SOURCE TOOL ............................................................................................................................................ 8
4.2 ADDING AN IDENTFIER SOURCE ................................................................................................................................... 8
5. PATIENT PORTAL ........................................................................................................................................................... 9
5.1 LOGIN............................................................................................................................................................................ 9
6. EMAIL CONFIGURATION ............................................................................................................................................. 9
7. INTERFACE INTEGRATION ......................................................................................................................................... 9
7.1 INTERFACES .................................................................................................................................................................. 9
7.2 OVERVIEW .................................................................................................................................................................... 9
7.3 MIRTH SETUP .............................................................................................................................................................. 10
7.4 PATIENTOS PROCESSING ............................................................................................................................................ 20
8. LANGUAGE TRANSLATION ....................................................................................................................................... 22
8.1 TRANSLATION SPREADSHEET ..................................................................................................................................... 22
8.2 TRANSLATION TOOL ................................................................................................................................................... 23
8.3 TRANSLATION IMPORT ............................................................................................................................................... 23
8.4 APPLICATION SERVER................................................................................................................................................. 24
8.5 CHANGING THE DEFAULT FONT ................................................................................................................................. 25
8.6 LOGIN.......................................................................................................................................................................... 26
9. APPENDIX........................................................................................................................................................................ 27
9.1 APPENDIX I REFERENCE KEYS FOR LANGUAGES ........................................................................................................ 27
Page 2 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
System Administration Guide
1. Overview
1.1 Default Settings
This document reflects the default functionality available in the standard distribution of PatientOS version 0.60. The
distribution may be customized to fit the workflow and requirements of the healthcare organization.
1.2 Definitions
POS Refers to the PatientOS software as a system.
Page 3 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
2. System Settings
2.1 Settings Tool
To access the settings tool:
a) Login as administrator (admin/admin is the system default username/password).
b) Select the Settings link under Reference Applications.
The screen is split with settings above and the setting values for the selected setting shown below.
Figure 1 Settings Tool
2.2 Changing a Setting
To change a setting.
a) Select a setting from the list.
b) Change the value appropriate to the data type
e.g. for a Boolean setting enter 1 or 0 in the Value int field for the setting.
c) Press apply to save the setting.
Page 4 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
2.3 Adding a Setting
To add a new setting. Only developers should add settings to this tool as setting names are part of the core system. Custom
user defined settings will be available in later versions.
a) Press the + Setting toolbar button
b) Select the application group to categorize the setting.
c) Select the application to further categorize the setting.
Note the application/app group does not impact the setting.
d) Enter the Setting name. Code generation will update the ApplicationSettingReference.java file with the key for this
setting name.
e) Select the data type.
f) Press + Value toolbar button
g) The data type will default.
h) Enter the value appropriate to the data type e.g. for a Boolean setting enter 1 or 0 in the Value int field for the setting.
i) Repeat steps f)-h) for additional setting values.
Press apply to save the setting.
Page 5 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
3. Batch Jobs
3.1 Adding Batch Jobs
Login as an administrator and select Job Builder. Enter the batch job name and script.
Page 6 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
3.2 Scheduling Batch Jobs
To access the Identifier Source tool:
a) Login as administrator (admin/admin is the system default username/password).
b) Select Job Scheduler
c) Select the job name
d) Scheduler is not required
e) Start date
f) Stop date
g) Frequency
Page 7 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
4. System Identifiers
4.1 Identifier Source Tool
To access the Identifier Source tool:
a) Login as administrator (admin/admin is the system default username/password).
b) Select the Identifier Sources link under Reference Applications.
The screen is split with sources on the left and the source values for the selected source shown on the right
4.2 Adding an Identfier Source
Identifiers are added for patients as Medical Record Numbers, National Social Security numbers, as user identifiers and
effectively any external database identifier for an entity.
Page 8 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
5. Patient Portal
5.1 Login
In version 1.0 the default patient login is the patients email address and last four digits of their social security number.
6. Email Configuration
The application includes the functionality to (optionally) email patients. The JBoss application server needs to be configured
with the email server details.
7. Interface Integration
7.1 Interfaces
There are a number of inbound and outbound interfaces for PatientOS using Mirth for the majority of the integration
points. The list is not limited to:
a) Standard HL7 Interfaces.
a. ADT Inbound
b. ADT Outbound
c. Lab Results Inbound
d. Lab Orders Outbound
b) XML or any other format supporting by Mirth
a. XML Forms/Clinical Results Inbound
b. XML Clinical
c) Web development
a. Patient Portal running within the JBoss container
d) Batch processing
a. Scheduled scripts which can directly reference the EJB services
e) JDBC
a. Direct SQL (not recommended except for read only access)
7.2 Overview
Mirth is an enterprise class integration engine with which PatientOS integrates. For inbound forms the basic flow is
i) Mirth receives the XML file (from filesystem, JDBC, or port, etc)
ii) Mirth maps the XML content into the PatientOS XML format for ‘Records’
iii) Mirth inserts the XML into the interface_messages table
iv) PatientOS interface controller (running as a JBoss service) picks up the file
v) The appropriate Converter is called to map the XML to the PatientOS FormRecordModel
vi) The model is stored – writing to the records and record_details (if populated).
Page 9 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
7.3 Mirth Setup
7.3.1 Start Mirth
To setup mirth start Mirth using Start Program Files PatientOS version Interface Engine
Figure 2 Starting Mirth
For a production implementation Mirth would be installed as a service.
7.3.2 Start Mirth Manager
To setup the interface channels start the Mirth Manager using Start Program Files PatientOS version Interface
Manager. Login with
admin/admin
Figure 3 admin/admin
7.3.3 Channels
Select the channels tab and view the existing channels (if the channels were not included download from
http://www.patientos.org/documentation . Download the file oru_xml_file_pos_db.xml. The file name indicates it is a
results file reading XML from a file and posting it into the PatientOS database.
Select the channel ORU XML File POS DB and Edit Channel to edit the properties.
Page 10 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
Figure 4 Channels
The first tab defines that XML is being read and this channel will auto start.
Figure 5 Summary tab
7.3.4 XML Inbound Directory
Clicking on the Source tab will show which directory is being read to find the XML content and the file name format
required to process.
Note that the directory is defined as a relative path. It is relative from where the interface engine started (interfaces.bat or
Page 11 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
interfaces.sh). On windows this path would be
C:\Program Files\PatientOS\\server\interfaces\bin
Figure 6 Source tab
In the figure above you can see that the channel will search for xml files in the directory
C:\Program Files\PatientOS\\server\interfaces\activity\oru_xml_in
every second.
Page 12 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
7.3.5 Destination
On the destinations tab you can see the SQL used to insert into the PatientOS interface_messages table.
Take careful note of the URL and ensure the correct database is being accessed. In this case qapos is shown though the
default should be demopos with the correct username and password.
Figure 7 Destination tab
Click on the Edit Transformer link to open the Transformer. Paste your XML into the top right frame and the XML elements
will be parsed and displayed in a tree below. It helps if your XML is populated with sample data.
Figure 8 Transformer incoming
Page 13 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
7.3.6 Transformer
PatientOS is setup with Javascript to map the incoming XML elements to the PatientOS XML elements.
The Outgoing tab serves to display a template XML which is populated by the Javascript. For this reason we want as little
data as possible (most is not needed).
However in order to see all the fields you might like to populate you can paste into the frame the RecordTransaction.xml file
from http://www.patientos.org/documentation
When have finished mapping replace the contents with the original XML You may need to tailor the XML (for example we
will add RecordDetailModel rows.
Figure 9 Outgoing data tab
The goal is to populate
a) Enough of the PatientModel to match the patient – name and MRN (matching is a large topic) unless you have the
patient_id from the patients table.
b) A single FormModel to reflect the form
c) As many RecordModel has you have fields on this virtual form.
d) As many RecordDetailModel if you have details for a specific Record.
The concept of Record and RecordDetail is that the Record value is the significant value e.g. height, weight, lab results etc
where as the RecordDetail are child details e.g. Clothing the patient had on when weighed or comments on the lab result.
The script is written in Javascript and obviously you need some programming skills to understand the nuances of iterating
through the XML elements and building up the target XML which is this tmp structure.
Page 14 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
7.3.7 Example Mapping
We will work with this sample XML
4
300
motion
2008-01-18T00:00:00.000+01:00
2008-01-18T00:15:00.000+01:00
89,22,0,0,0,0,0,0,0,2,22,24,4,12,99,140,120,94,2,0,0,0,4,5,32,4,0,0,0,0,0,0,0,0,0,0,32,12,1,0,0,
3,0,0,0,2,5,0,0,0,0,1,4,9,10,4,0,0,0,0
commaSeparatedValues and sensorType are real:)!
hammed motion
minutes
The patientId is actually the MRN and so in the javascript we first create the MRN mapping by dragging the XML patientID
over to the javascript page. If you have setup a facility other than the default you would enter the reference key (your facility
name uppercase with spaces removed).
Figure 10 Drag patientid to be MRN
7.3.8 Records
On version 1.6 of Mith one way of creating the many iterations of RecordModel is to have the first defined in the template
and then copy it each time to add to the XML. This section of Javascript will likely change to an easier to perform this in
later version of Mirth.
But essentially we know there are 8 records needed so we loop 8 times and within the loop duplicate the first RecordModel,
map the values and where possible set common values outside each if statement. Not great but it works…
Page 15 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
You must setup an Identifier Source (login to PatientOS as admin/admin and select Identifier Sources) specific to where this
incoming data is coming from. PatientOS supports multiple interfaces and the source is a unique identifier for all external
identifiers.
In this example ‘Porcupine Sensor’ was used as the identifier source.
Figure 11 Create identifier source
7.3.9 Javascript
Ideally all the record_items have been created in PatientOS. The display must be unique in the database in order to reduce
confusion with multiple items with the same name (it is possible to have dups but not recommended).
The short display is typically used on controls, reports etc. The display being the formal name.
The interface will add these items on the fly (writes to the record_items and record_item_details tables). Ideally preload
using a reference spreadsheet, then import the record items.
Note dates must be formatted YYYYMMDD and mapped to the date component or YYYYMMDDHHMMSS and mapped to
the date/time format. Rather than parsing we will hard code it to get started with testing
// map the MRN to match the patient
tmp['PatientModel']['IdentifierModel']['sourceRef']['idvalue'] = "DEFAULTFACILITY";
tmp['PatientModel']['IdentifierModel']['idvalue'] =
msg['ns1:patientId'].toString();
for (i=0; i Server Properties and choose EDIT
On Linux
vi /patientos/0.60/server/appserver/bin/pos.server.properties
Remove the # for the user language line shown below. Use the reference key from Appendix I which will also match your
translation spreadsheet.
pos.user.language=JPN
Page 24 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
8.5 Changing the Default Font
To change the default font uncomment the font and/or font size lines in the pos.server.properties file. Japanese, chinese and
other character sets require the correct font to display properly.
#
# Internationalization. Select * from refs where reference_group = 'UserLanguage'
# use the ref_key Upload the translation.csv for the matching key
#
# Use a font that can display your character set (if needed)
#
pos.user.language=JPN
pos.client.font.name=Arial Unicode MS
pos.client.font.size=10
Page 25 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
8.6 Login
After login clear cache and restart in order to get the new translation into the local cache.
The spreadsheet does not contain all translations – upload new displays as needed.
Page 26 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
9. Appendix
9.1 Appendix I Reference Keys for languages
Abkhazian ABK
Afar AAR
Afrikaans AFR
Akan AKA
Albanian SQI
Albanian ALB
Amharic AMH
Arabic ARA
Aragonese ARG
Armenian ARM
Armenian HYE
Assamese ASM
Avaric AVA
Avestan AVE
Aymara AYM
Azerbaijani AZE
Bambara BAM
Bashkir BAK
Basque BAQ
Basque EUS
Belarusian BEL
Bengali BEN
Bihari BIH
Bislama BIS
Bokmål, NOB
Bosnian BOS
Breton BRE
Bulgarian BUL
Burmese MYA
Burmese BUR
Catalan CAT
Central KHM
Chamorro CHA
Chechen CHE
Chichewa NYA
Chinese ZHO
Church CHU
Chuvash CHV
Cornish COR
Corsican COS
Cree CRE
Croatian HRV
Croatian SCR
Czech CZE
Czech CES
Danish DAN
Divehi DIV
Dutch DUT
Page 27 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
Dutch NLD
Dzongkha DZO
English ENG
Esperanto EPO
Estonian EST
Ewe EWE
Faroese FAO
Fijian FIJ
Finnish FIN
French FRA
French FRE
Fulah FUL
ga GAA
Gaelic GLA
Galician GLG
Ganda LUG
Georgian GEO
Georgian KAT
German DEU
German GER
Greek, GRE
Greek, ELL
Guarani GRN
Gujarati GUJ
Haitian HAT
Hausa HAU
Hebrew HEB
Herero HER
Hindi HIN
Hiri HMO
Hungarian HUN
Icelandic ICE
Icelandic ISL
Ido IDO
Igbo IBO
Indonesian IND
Interlingua INA
Interlingue ILE
Inuktitut IKU
Inupiaq IPK
Irish GLE
Italian ITA
Japanese JPN
Javanese JAV
Kalaallisut KAL
Kannada KAN
Kanuri KAU
Kashmiri KAS
Kazakh KAZ
Kikuyu KIK
Kinyarwanda KIN
Kirghiz KIR
Komi KOM
Page 28 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
Kongo KON
Korean KOR
Kuanyama KUA
Kurdish KUR
Lao LAO
Latin LAT
Latvian LAV
Limburgan LIM
Lingala LIN
Lithuanian LIT
Luba-Katanga LUB
Luxembourgish LTZ
Macedonian MKD
Macedonian MAC
Malagasy MLG
Malay MAY
Malay MSA
Malayalam MAL
Maltese MLT
Manx GLV
Maori MRI
Maori MAO
Marathi MAR
Marshallese MAH
Moldavian MOL
Mongolian MON
Nauru NAU
Navajo NAV
Ndebele, NBL
Ndebele, NDE
Ndonga NDO
Nepali NEP
Northern SME
Norwegian NOR
Norwegian NNO
Occitan OCI
Ojibwa OJI
Oriya ORI
Oromo ORM
Ossetian OSS
Pali PLI
Panjabi PAN
Persian PER
Persian FAS
Polish POL
Portuguese POR
Pushto PUS
Quechua QUE
Romanian RUM
Romanian RON
Romansh ROH
Rundi RUN
Russian RUS
Page 29 of 31
System Last printed 11/3/2011 4:56:00 PM
Administration Guide Version 1.0
Samoan SMO
Sango SAG
Sanskrit SAN
Sardinian SRD
Serbian SCC
Serbian SRP
Shona SNA
Sichuan III
Sindhi SND
Sinhala SIN
Slovak SLK
Slovak SLO
Slovenian SLV
Somali SOM
Sotho, SOT
Spanish SPA
Sundanese SUN
Swahili SWA
Swati SSW
Swedish SWE
Tagalog TGL
Tahitian TAH
Tajik TGK
Tamil TAM
Tatar TAT
Telugu TEL
Thai THA
Tibetan BOD
Tibetan TIB
Tigrinya TIR
Tonga TON
Tsonga TSO
Tswana TSN
Turkish TUR
Turkmen TUK
Twi TWI
Uighur UIG
Ukrainian UKR
Urdu URD
Uzbek UZB
Venda VEN
Vietnamese VIE
Volapük VOL
Walloon WLN
Welsh WEL
Welsh CYM
Western FRY
Wolof WOL
Xhosa XHO
Yiddish YID
Yoruba YOR
Page 30 of 31