12.01.2015 Views

Data Submission and Technical Specifications (PDF - CCIM

Data Submission and Technical Specifications (PDF - CCIM

Data Submission and Technical Specifications (PDF - CCIM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

<strong>Data</strong> <strong>Submission</strong> <strong>and</strong> <strong>Technical</strong><br />

<strong>Specifications</strong><br />

Project: Integrated Assessment Record<br />

Phase: Provincial Solution Rollout<br />

Community Care Information Solutions Group<br />

May 2010<br />

Version 1.0<br />

Prepared by:<br />

IAR Project Team<br />

Security Classification: Medium Sensitivity<br />

1


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

Copyright<br />

`<br />

This document is the property of Community Care Information Management <strong>and</strong> is copyrighted,<br />

<strong>and</strong> all rights are reserved by Community Care Information Management. No part of this<br />

publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or<br />

translated into any language or computer language, in any form or by any means, electronic,<br />

mechanical, magnetic, optical, chemical, manual, or otherwise, without prior written permission of<br />

Community Care Information Management.<br />

Disclaimer<br />

This document is current as of June 04, 2010 <strong>and</strong> any changes to all related applications after<br />

that date will be incorporated into the next version of this document.<br />

Security Notice<br />

This material <strong>and</strong> the information contained herein are proprietary to Community Care Information<br />

Management <strong>and</strong> may not be used, reproduced, stored in electronic retrieval systems, or<br />

disclosed to others, in any form or by any means, except as specifically permitted in writing by<br />

creator of the document. The recipient of this information, by its retention <strong>and</strong> use, agrees to<br />

protect it from any loss, theft or compromise. Please contact the creator of this document if you<br />

wish to share this document with organizations outside of Community Care Information<br />

Management.<br />

This document has a Medium Sensitivity Classification<br />

2


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

Document Details<br />

Revision History<br />

Version Comments Author Date<br />

1.0 Initial Release IAR Project Team June 4, 2010<br />

Intended Audience<br />

Vendors will use this document along with all of the supporting documents to develop data feed<br />

for submitting assessment data to the IAR Provincial solution. The project team is available<br />

throughout the implementation phase via teleconferences for clarifications <strong>and</strong> questions about<br />

these requirements as needed. Any additional questions can be sent to the project team through<br />

the Support Centre.<br />

Organizations should read <strong>and</strong> underst<strong>and</strong> this document <strong>and</strong> all the supporting documents that<br />

make up the data submission requirements. Organizations are responsible for ensuring that their<br />

vendor delivers a solution that meets these requirements.<br />

Organizations <strong>and</strong> vendors should underst<strong>and</strong> that this requirement package is designed for the<br />

purpose of submitting assessment data to the IAR application. Requirements for automating <strong>and</strong><br />

supporting the individual assessment model are provided by the corresponding assessment<br />

st<strong>and</strong>ard.<br />

Documentation<br />

The following documents represent the data submission requirements for the IAR Provincial<br />

solution:<br />

1. <strong>Data</strong> <strong>Submission</strong> <strong>and</strong> <strong>Technical</strong> <strong>Specifications</strong> (<strong>PDF</strong> – This document)<br />

2. IAR <strong>Submission</strong> Schema, (XSD, IAR<strong>Submission</strong>Definitions _version.xsd)<br />

3. PHI <strong>Submission</strong> Schema, (XSD, <strong>CCIM</strong><strong>Submission</strong>PHI_version.xsd)<br />

4. Web Service Definition, (WSDL, IAR_<strong>Submission</strong>_version.wsdl)<br />

3


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

Table of Contents<br />

`<br />

1 IAR Overview .......................................................................................................................... 5<br />

1.1 What is IAR................................................................................................................... 5<br />

1.2 What IAR is Not .............................................................................................................. 5<br />

1.3 What will be stored in IAR .............................................................................................. 5<br />

1.4 IAR Benefits.................................................................................................................... 5<br />

2 <strong>Data</strong> <strong>Submission</strong> Requirements.............................................................................................. 7<br />

2.1 General Information........................................................................................................ 7<br />

2.2 <strong>Submission</strong> Process ....................................................................................................... 7<br />

2.3 Rejections, Corrections <strong>and</strong> Resubmissions.................................................................. 8<br />

2.4 <strong>Technical</strong> Requirements................................................................................................. 9<br />

2.4.1 <strong>Submission</strong> Characteristics........................................................................................ 9<br />

2.4.1.1 <strong>Submission</strong> Header Elements ......................................................................... 11<br />

2.4.1.2 <strong>Submission</strong> Content Elements ........................................................................ 12<br />

2.4.2 Encoding .................................................................................................................. 13<br />

2.4.3 <strong>Submission</strong> Methods................................................................................................ 13<br />

2.4.3.1 Automated <strong>Submission</strong> – Web Service ........................................................... 13<br />

2.4.3.2 Manual <strong>Submission</strong> ......................................................................................... 14<br />

2.4.4 File Naming Convention........................................................................................... 14<br />

2.5 <strong>Submission</strong> Rules......................................................................................................... 15<br />

2.6 Testing Process............................................................................................................ 16<br />

2.7 IAR PHI Validation Tables ............................................................................................ 16<br />

3 Roadmap............................................................................................................................... 17<br />

Appendix A - Assessment Specific Requirements .................................................................... 18<br />

OCAN Assessment Requirements ......................................................................................... 18<br />

RAI-MH Assessment Requirements....................................................................................... 18<br />

Appendix B - IAR<strong>Submission</strong>Service-Client-side ...................................................................... 19<br />

4


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

1 IAR Overview<br />

1.1 What is IAR<br />

`<br />

The Integrated Assessment Record (IAR) is an initiative within <strong>CCIM</strong> to allow assessment<br />

information to be viewed by health service providers within a client’s circle of care in a secure<br />

manner.<br />

As an application, it can be used to access <strong>and</strong> view assessment information that is centrally<br />

housed at a Health Information Network Provider (HINP) identified by the LHIN Steering<br />

Committee.<br />

As a central repository for collected data it is a means to share assessments across community<br />

mental health organizations, hospital emergency departments, primary care <strong>and</strong> hospital mental<br />

health in-patient teams to share assessments with one another in order to provide improved<br />

quality care.<br />

1.2 What IAR is Not<br />

The Integrated Assessment Record (IAR) is not a clinical system of record. This means that the<br />

source systems feeding IAR with assessment data will always be relied upon as the integral<br />

source for person information. In its design, no provisions have been made to permit data<br />

changes to occur from the IAR application; meaning it has been specifically designed to be a<br />

“Read Only” system to view patient assessments.<br />

1.3 What will be stored in IAR<br />

The Integrated Assessment Record (IAR) will capture common assessment information<br />

pertaining to RAI-MH©, OCAN, <strong>and</strong> will over time grow to include assessments from other<br />

community care sectors including addictions <strong>and</strong> problem gambling assessments, as well as<br />

assessment information from the Long Term Care Homes, Community Care Access Centres <strong>and</strong><br />

Community Support Services sectors. Three immediate priorities are:<br />

1. OCAN: The Ontario Common Assessment of Need (OCAN) is a st<strong>and</strong>ardized, consumerled<br />

decision making tool that allows key information to be electronically gathered in a<br />

secure <strong>and</strong> efficient manner.<br />

2. RAI-MH©: The Resident Assessment Instrument - Mental Health is a comprehensive,<br />

st<strong>and</strong>ardized instrument for evaluating the needs, strengths, <strong>and</strong> preferences of patients<br />

in designated adult inpatient mental health beds.<br />

3. ADAT: The Addictions assessment package - is a set of nine assessments that allow<br />

service providers to track their client from intake to discharge using a common set of<br />

assessment tools <strong>and</strong> shared language.<br />

1.4 IAR Benefits<br />

IAR facilitates a common underst<strong>and</strong>ing of a client’s needs <strong>and</strong> helps to improve the continuity of<br />

care across community <strong>and</strong> hospital settings. Anticipated benefits of the IAR for clients, health<br />

service providers <strong>and</strong> the health care system include:<br />

• Identifying other providers within the client’s circle of care <strong>and</strong> providing access to their<br />

most recent assessment<br />

• Improving the quality <strong>and</strong> reliability of information sharing<br />

5


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

• Ensuring a secure exchange of personal health information<br />

• Providing data for health service planning to healthcare providers <strong>and</strong> LHINs<br />

• Supporting networks <strong>and</strong> learning opportunities across organizations<br />

• Providing the basis for coordinated community-based care planning, <strong>and</strong> assisting<br />

organizations to identify service overlaps <strong>and</strong> gaps<br />

6


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

2 <strong>Data</strong> <strong>Submission</strong> Requirements<br />

2.1 General Information<br />

This section provides data <strong>and</strong> technical specifications for use by organizations <strong>and</strong> their<br />

assessment tools vendors in the development of interfaces for data transmission to IAR.<br />

A data transmission to IAR is defined in this <strong>and</strong> subsequent sections as a submission. A<br />

submission contains extracted assessment records <strong>and</strong> these records may or may not be stored<br />

in a file.<br />

This section includes:<br />

<strong>Submission</strong> Process<br />

Rejections, Corrections <strong>and</strong> Resubmissions<br />

<strong>Technical</strong> Requirements<br />

<strong>Submission</strong> Rules<br />

Testing Process<br />

IAR PHI Validation Tables<br />

2.2 <strong>Submission</strong> Process<br />

Organizations have independent control of submission tracking <strong>and</strong> are responsible for ensuring<br />

that all assessment records are accounted for <strong>and</strong> available in their source systems. It is<br />

expected that organizations will use due diligence to ensure that an accurate <strong>and</strong> complete<br />

account of assessment records are successfully transmitted to the IAR repository as regularly as<br />

daily.<br />

IAR maintains an organization profile for the purpose of receiving submissions <strong>and</strong><br />

communicating with the organization. Figure 1 - Overview of Assessment <strong>Submission</strong> Process<br />

presents a high-level view of the process for submitting assessment records for an organization.<br />

IAR h<strong>and</strong>les received submissions in two steps as followed:<br />

Step 1 - Once a submission is sent to IAR, the submitting organization receives a status<br />

indicating if the submission was successfully received <strong>and</strong> queued for further processing in the<br />

IAR. IAR processes submissions in the order they are received <strong>and</strong> the processing may not<br />

happen immediately following the successful transmission.<br />

Step 2 - Schema validations such as XML structure, m<strong>and</strong>atory fields <strong>and</strong> values, expected<br />

values <strong>and</strong> referential integrity validations are performed on the queued submissions at the time<br />

of processing. These validations could lead to a rejection of a submission or individual<br />

assessment records in a submission for which the submitting organization received a status in<br />

step 1 indicating that the transmission to IAR was successful.<br />

7


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

Figure 1 – Overview of Assessment <strong>Submission</strong> Process<br />

Assessment records in a submission must meet data quality edit checks <strong>and</strong> adhere to the predefined<br />

business rules required by the source system. IAR assumes that these requirements are<br />

met <strong>and</strong> does not duplicate any content validations.<br />

2.3 Rejections, Corrections <strong>and</strong> Resubmissions<br />

IAR will reject an entire submission or individual record in a submission if the entire submission or<br />

the individual records do not pass validations at the time of processing. No records in the<br />

submission will be processed if the entire submission is rejected.<br />

In the event that submission rejection or individual record rejection occurs, the submitting<br />

organization will be contacted by the IAR Support Center with details on the nature of the error(s)<br />

<strong>and</strong> the actions to be taken for the record(s) to be accepted by IAR.<br />

IAR requires that rejected records be corrected at source given that source systems are<br />

considered the systems of record for IAR. This requirement has the added benefit of ensuring<br />

that source systems <strong>and</strong> IAR hold consistent data, with all elements completed <strong>and</strong> records<br />

submitted in the correct format.<br />

The submitting organization is not contacted if IAR does not generate an error during the<br />

submission processing<br />

In cases where submissions are not successful due to technical issues (transmission, network or<br />

connectivity failure) extracted records need to be resubmitted with no change by the submitting<br />

organization.<br />

Resubmission of records that were previously rejected or that were not successfully received<br />

(the submitting organization received a status indicating that the transmission was not successful<br />

or the submission failed due to technical issues) is the responsibility of the submitting<br />

organization.<br />

8


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

2.4 <strong>Technical</strong> Requirements<br />

2.4.1 <strong>Submission</strong> Characteristics<br />

IAR will only accept assessment data in formats that conform to st<strong>and</strong>ards specified by the<br />

corresponding assessment. Formats specified by the Canadian Institute for Health Information<br />

(CIHI) for RAI-MH assessment data for example will be accepted as will be formats specified in<br />

OCAN. Assessment data in the original format must be enclosed in a UTF-8 encoded XML<br />

envelope – see Documentation [2] IAR <strong>Submission</strong> Schema - to be accepted by IAR. The<br />

following diagram illustrates the structure of the submission envelope where assessment data<br />

contains Personal Heath Information (PHI) e.g. OCAN 2.0.<br />

<strong>Submission</strong> Envelope<br />

<strong>Submission</strong> Header<br />

Assessment <strong>Data</strong>:<br />

(Conforms to assessment st<strong>and</strong>ard e.g.<br />

OCAN)<br />

The header includes<br />

submission ID,<br />

organization, export time<br />

stamp <strong>and</strong> assessment<br />

type, application ID <strong>and</strong><br />

other attributes<br />

This represents the<br />

transmission envelope <strong>and</strong><br />

must conform to IAR<br />

<strong>Submission</strong> Schema<br />

<strong>Submission</strong> Structure 1: IAR <strong>Submission</strong> Schema<br />

The assessment data must<br />

conform to formats specified in<br />

assessment st<strong>and</strong>ard e.g. OCAN<br />

<strong>Submission</strong> XML Schema or<br />

OMHRS <strong>Submission</strong> XML<br />

Schema<br />

In Cases where assessment data do not contain PHI e.g. RAI-MH or OCAN 2.1, IAR requires<br />

corresponding PHI data to be provided in addition to the assessment data <strong>and</strong> both PHI <strong>and</strong><br />

assessment data must be included in the same submission envelope. Each PHI record is linked<br />

to assessment record by the corresponding assessment ID <strong>and</strong> there must be a PHI record to<br />

accompany each assessment record. The structure of the submission envelope containing<br />

assessment <strong>and</strong> PHI data is shown in the following diagram.<br />

9


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

<strong>Submission</strong> Envelope<br />

<strong>Submission</strong> Header<br />

The header includes<br />

submission ID,<br />

organization, export time<br />

stamp <strong>and</strong> assessment<br />

type, application ID <strong>and</strong><br />

other attributes<br />

PHI <strong>Data</strong><br />

Assessment<br />

<strong>Data</strong><br />

This represents the<br />

transmission envelope <strong>and</strong><br />

must conform to IAR<br />

<strong>Submission</strong> Schema<br />

<strong>Submission</strong> Structure 2: IAR <strong>Submission</strong> Schema<br />

The assessment data must<br />

conform to formats specified in<br />

assessment st<strong>and</strong>ard e.g. OCAN<br />

<strong>Submission</strong> XML Schema or<br />

OMHRS <strong>Submission</strong> XML<br />

Schema<br />

The PHI data must<br />

conform to <strong>CCIM</strong> PHI<br />

<strong>Submission</strong> Schema<br />

The XML structure (XSD) for the submission envelope is defined in Documentation [2] -<br />

<strong>Submission</strong> Schema - <strong>and</strong> the XML structure (XSD) for Personal Health Information is defined in<br />

Documentation [3] - PHI submission schema. Sample XML files are included in the requirements<br />

package.<br />

The following charts outline the content of the IAR <strong>Submission</strong> envelope.<br />

10


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

2.4.1.1 <strong>Submission</strong> Header Elements<br />

Element Type Values Description<br />

<strong>Submission</strong> Header<br />

1 *submissionId xsd:string<br />

2 organization<br />

Complex,<br />

attributes<br />

3 *exportTimestamp xsd:dateTime<br />

4 *assessmentType xsd:string<br />

5 Application<br />

Complex,<br />

attributes<br />

*name, xsd:string<br />

*id, xsd:string<br />

OCAN, RAI-MH, ADAT,<br />

RAI_MDS_2.0,CIAT, RAI<br />

HC<br />

Name, xsd:string<br />

*Id, xsd:string<br />

Version, xsd:string<br />

Vendor, xsd:string<br />

Elements with * are m<strong>and</strong>atory. All other elements are optional.<br />

The submission Id is used to uniquely<br />

identify submission record<br />

Submitting organization id (number)<br />

<strong>and</strong> name<br />

Date <strong>and</strong> time when export was<br />

generated from the source system<br />

Assessment type of submission. Must<br />

be one of supported assessment types.<br />

Assessment version is indicated in the<br />

version attribute of the Record element<br />

of submission content element.<br />

Submitting application id, name,<br />

version <strong>and</strong> vendor<br />

The value of the submitting organization id is dependent upon the assessment type <strong>and</strong>/or<br />

version:<br />

- In the case of OCAN 2.0 this value is represented by the submitting organization number<br />

field, <strong>and</strong> for OCAN 2.1 <strong>and</strong> OCAN 1.0.2 it is represented by the service organization<br />

field from an assessment record.<br />

- In the case of RAI-MH it represents the 3 to 4-digit Facility Number from the Ministry of<br />

Health <strong>and</strong> Long-Term Care (MOH) Master Numbering System not the 4-digit Master<br />

Number that is transferred in the Facility Number field of a RAI-MH assessment record.<br />

11


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

2.4.1.2 <strong>Submission</strong> Content Elements<br />

Element Type Values Description<br />

<strong>Submission</strong> Content<br />

*recordType, xsd:string<br />

Indicates what kind of content is stored<br />

in the record. The wrapper can contain<br />

up to two records.<br />

PersonalInformation indicates a file<br />

containing PI as specified in<br />

<strong>CCIM</strong><strong>Submission</strong>PHI. Assessment<br />

indicates a file containing assessment<br />

data as specified by the corresponding<br />

assessment st<strong>and</strong>ard. The assessment<br />

file may or may not contain PI.<br />

1 Record [1..2]<br />

Complex,<br />

attributes<br />

version, xsd:string<br />

Version of record schema, i.e. 1.0.2 for<br />

OCAN Assessment. This represents<br />

the value of version attribute in OCAN<br />

schema or the year of CIHI schema<br />

edition for RAI-MH e.g. 2010 for the<br />

2010-2011 fiscal year.<br />

Indicates the data format of data<br />

record:<br />

text<br />

1.1 *RecordType OR<br />

binary<br />

xsd:string<br />

base64Binary<br />

*mimeType, xsd:string<br />

delimiter, xsd:string<br />

Attribute<br />

compressionType with<br />

possible values:<br />

application/zip(default if<br />

not specified)<br />

or<br />

none – no compression<br />

Elements with * are m<strong>and</strong>atory. All other elements are optional.<br />

text/xml - XML,<br />

text/x-non xml – other format (commaseparated<br />

values or variable length)<br />

Used if other data format (mimetype) is<br />

specified<br />

XML or other data format to be<br />

enclosed within CDATA section<br />

Base64 encoded for binary<br />

(compressed) data.<br />

12


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

2.4.2 Encoding<br />

<strong>Submission</strong> Envelope<br />

The submission envelope format must use UTF-8 encoding.<br />

Assessment <strong>Data</strong><br />

The assessment data can be either UTF-8 or UTF-16 encoded, in accordance with assessment<br />

st<strong>and</strong>ard. For example, OCAN 2.0 must be UTF-8 encoded <strong>and</strong> OCAN 1.0.2 must be UTF-16 –<br />

encoded. UTF-8 encoded data can be stored in either [CDATA] element or base64<br />

. However, UTF-16 encoded data can only be stored within content element.<br />

Note that according to XML W3C st<strong>and</strong>ard the stream encoded in UTF-16 should contain byte<br />

order mark (BOM). For more information about byte order mark please visit<br />

http://www.w3.org/TR/REC-xml/#charencoding <strong>and</strong> http://www.opentag.com/xfaq_enc.htm.<br />

PHI <strong>Data</strong><br />

The PHI data must be UTF-8 encoded<br />

Please refer to the XSD of the submission envelope for additional information.<br />

2.4.3 <strong>Submission</strong> Methods<br />

IAR offers two secure methods for transmission of electronic assessment records to its repository<br />

as illustrated in figure 1. An organization must have the ability to connect to the internet.<br />

The solution supports an automated method using a web service <strong>and</strong> a manual transmission<br />

method using Microsoft Internet Explorer or Mozilla Firefox. . .<br />

2.4.3.1 Automated <strong>Submission</strong> – Web Service<br />

The automated submission method supported by IAR exposes a web service provider interface<br />

that is available to any participating organization over the internet through HTTPS protocol.<br />

Clients must adhere to the following description in order to consume this web service.<br />

Endpoint<br />

IAR Assessment <strong>Submission</strong> Web Service endpoint URL will be provided to organization at the<br />

implementation time.<br />

Operation<br />

IAR Assessment <strong>Submission</strong> Web Service defines a single SubmitAssessment operation with the<br />

following parameters:<br />

• input: <strong>Submission</strong>Input<br />

• output: <strong>Submission</strong>Response<br />

<strong>Submission</strong>Input is defined by the XML schema see Documentation [2] - IAR <strong>Submission</strong><br />

Schema - <strong>and</strong> described in the “<strong>Submission</strong> file structure definition” section.<br />

<strong>Submission</strong>Response is defined in WSDL – see Documentation [4], Web Service Definition - as<br />

complex type <strong>Submission</strong>ResultType that has three elements:<br />

• Result – of type Boolean that indicates if the operation executed successfully (value<br />

TRUE) or with errors (value FALSE)<br />

13


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

• TransactionId – an attribute of Result element, this is the internal IAR tracking Id that will<br />

be used for support purposes<br />

• ErrorCode – optional, used when Result = FALSE, contains error code defined by IAR<br />

• ErrorMessage – optional, used when Result = FALSE, contains error description returned<br />

by IAR<br />

IAR h<strong>and</strong>les HTTP specific status codes in the way prescribed in WS-I Basic Profile 1.1 Second<br />

Edition (http://www.ws-i.org/Profiles/BasicProfile-1.1.html#SOAPHTTP), section 3.4. The following<br />

http response status codes can be returned by IAR to a web service client:<br />

200 OK<br />

202 Accepted<br />

400 Bad Request<br />

405 Method Not Allowed<br />

415 Unsupported Media Type<br />

500 Internal Server Error<br />

Security requirements are supported by transport level encryption (SSL) through HTTPS protocol.<br />

IAR<strong>Submission</strong>Service is WS-Security compliant. The authentication credentials (user name <strong>and</strong><br />

password) are sent in SOAP header.<br />

Following is an example of a SOAP Header that contains user credentials in WS-Security<br />

compliant format:<br />

<br />

<br />

<br />

uploaduser<br />

uploadpasswd<br />

<br />

<br />

<br />

Communications between each web service client <strong>and</strong> the web service provider will be encrypted<br />

using SSL/TLS over HTTP to prevent authentication credentials to be compromised during<br />

transmissions.<br />

Appendix B describes how the web service client can be implemented in Java.<br />

2.4.3.2 Manual <strong>Submission</strong><br />

The manual submission method allows users who have been authorized <strong>and</strong> authenticated to<br />

upload submission files that meet the specifications described in this document through the IAR<br />

secure web application. The user receives a message indicating if the file transmission was<br />

successful.<br />

Transmission of data can occur 24 hours a day, seven days a week. Once the initial set-up for an<br />

organization has been put into place, authorized <strong>and</strong> authenticated users of this organization can<br />

submit data to IAR at their convenience.<br />

2.4.4 File Naming Convention<br />

For submissions that are delivered in files, names must be st<strong>and</strong>ardized to facilitate the tracking<br />

of the assessment submission. The file-naming convention must be followed to ensure that the<br />

file is accepted by the IAR application.<br />

14


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

The Assessment submission file will be in the format:<br />

[Assessment Type]..xml<br />

Where:<br />

[Assessment Type], possible values are ‘OCAN’, ‘RAI-MH’, ‘ADAT’ - for addictions;<br />

YYYYYMMDD – the date when the export process started;<br />

HHMM - time when the export process started (note 24 hour clock is used);<br />

OOOO – organization ID, or parent organization id used in assessment application in<br />

multi-site environments (in case of OCAN);<br />

ZZ - target system suffix, ‘IA’ for Integrated Assessment;<br />

999 - file sequence number, a sequence number of extracted file if export is broken into<br />

multiple parts, default value 001.<br />

For example, if Organization 1234 is submitting a single part OCAN assessment file on the 1 st of<br />

July 2009, at 5:05 PM the file name will look like this:<br />

OCAN2009070117051234IA.001.xml<br />

For example, if organization 5067 is submitting a single part RAI-MH assessment file on the 21 st<br />

of July 2009, at 6:15 PM the file names will look like this:<br />

RAI-MH2009072118155067IA.001.xml<br />

2.5 <strong>Submission</strong> Rules<br />

1. Each submission must contain at least one assessment record.<br />

2. As assessments are completed, updated or deleted in the source systems, they must be<br />

submitted to IAR as regularly as nightly.<br />

3. The source system must ensure that a submission does not include duplicate records.<br />

Duplicate is defined as two identical records.<br />

4. Each submission must have a unique organization ID <strong>and</strong> can only contain assessment<br />

record(s) for this organization.<br />

5. Each assessment record must have a unique record ID; <strong>and</strong> record IDs must be unique<br />

across the submitting organization.<br />

6. A maximum number of 500 assessment records will be accepted per submission.<br />

7. Each submission must conform to the submission schema [2] <strong>and</strong> be able to past validation<br />

against the XSD files provided as part of the requirements without any errors.<br />

8. Assessment records in each submission must conform to specifications provided by the<br />

corresponding assessment st<strong>and</strong>ard.<br />

9. The source system must provide the ability to resubmit individual assessment records or<br />

complete submissions.<br />

10. The source system must track successful <strong>and</strong> failed submissions as well as web service<br />

communications (attempts <strong>and</strong> responses) <strong>and</strong> store the logs for at least 30 days.<br />

11. Each web service client should be configured to make at least two additional attempts in 15<br />

minutes intervals to consume the web service if the first attempt fails due to connectivity<br />

errors such as connection failure or timeout. If these attempts are not successful, the<br />

submission must be transmitted by the next possible submission cycle.<br />

15


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

2.6 Testing Process<br />

`<br />

IAR’s policy is to only accept submissions that conform to specifications provided to vendors <strong>and</strong><br />

organizations. IAR will not accept live data until organizations’ vendors have successfully<br />

completed the st<strong>and</strong>ard testing process. A successful test is a submission that conforms to the<br />

specified schemas.<br />

The primary objectives of the st<strong>and</strong>ard testing process are to validate:<br />

• XML structure to ensure that it adheres to the specified XSD<br />

• All m<strong>and</strong>atory fields/values to ensure that they are populated<br />

• All expected values to ensure that they validate against expected value lists<br />

• Network Connectivity / ability to establish access to IAR environment<br />

IAR provides an Implementation Validation toolkit that includes test scenarios. Using the<br />

Implementation Validation toolkit, testing will be conducted in 2 phases (vendor testing <strong>and</strong> User<br />

Acceptance Testing) for each organization that uses a vendor external to the organization. If an<br />

organization uses an in-house vendor system, the vendor will be considered part of the<br />

organization <strong>and</strong> testing will be conducted in a single phase.<br />

Organizations using automated submission method:<br />

1. Once the interface is completed <strong>and</strong> tested by the vendor, vendors will generate <strong>and</strong> submit<br />

XML test file(s) to be validated by the IAR project team.<br />

2. Once the web service client is completed by the vendor <strong>and</strong> the XML structure (XSD) is<br />

validated, vendors will transmit test submissions in the IAR test environment using the web<br />

service client.<br />

3. Once the solution is delivered to the organization, a User Acceptance Testing (UAT) phase<br />

will be conducted to ensure that business requirements are met <strong>and</strong> assessment data can be<br />

sent to the IAR data repository.<br />

Organizations using manual submission method:<br />

1. Once the interface is completed <strong>and</strong> tested by the vendor, vendors will generate <strong>and</strong> submit<br />

XML test file(s) to be validated by the IAR project team<br />

2. Once the solution is delivered to the organization, a User Acceptance Testing (UAT) phase<br />

will be conducted to ensure that business requirements are met <strong>and</strong> assessment data can be<br />

sent to the IAR data repository.<br />

2.7 IAR PHI Validation Tables<br />

<strong>CCIM</strong> PHI<br />

<strong>Data</strong> Element Type Status<br />

Client ID (e.g. Chart Number) xsd:string M<strong>and</strong>atory<br />

First Name xsd:string M<strong>and</strong>atory<br />

Last Name xsd:string M<strong>and</strong>atory<br />

Phone Number xsd:string Optional<br />

Health Card Number xsd:string Optional<br />

Country of Residence xsd:string M<strong>and</strong>atory<br />

Province/Territory Issuing Health Card Number xsd:string Optional<br />

Gender xsd:string Optional<br />

Date of Birth(DOB) xsd:date Optional<br />

Estimated Birthday xsd:string Optional (“Yes” is estimated<br />

“No” otherwise<br />

16


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

Country of Residence Values<br />

Country<br />

Canada<br />

USA<br />

Other<br />

Unknown<br />

Valid Code<br />

CA<br />

US<br />

OTH<br />

UNK<br />

Province/Territory Issuing Heath Card Number Values<br />

Province/Territory<br />

Valid Code<br />

Alberta<br />

AB<br />

British Columbia<br />

BC<br />

Manitoba<br />

MB<br />

Newfoundl<strong>and</strong> <strong>and</strong> Labrador<br />

NL<br />

New Brunswick<br />

NB<br />

Nova Scotia<br />

NS<br />

Northwest Territories Saskatchewan SK NT<br />

Nunavut<br />

NU<br />

Ontario<br />

ON<br />

Prince Edward Isl<strong>and</strong><br />

PE<br />

Quebec<br />

QC<br />

Saskatchewan<br />

SK<br />

Yukon<br />

YT<br />

Unknown -70<br />

Not Applicable -90<br />

Gender Values<br />

Gender<br />

Male<br />

Female<br />

Other<br />

Unknown<br />

Valid Code<br />

M<br />

F<br />

O<br />

O<br />

3 Roadmap<br />

The following items are being considered as potential future enhancements of the submission<br />

interface <strong>and</strong> will be reflected in future revisions of this document:<br />

1. Adding date-time stamp to each assessment record within <strong>Submission</strong> <strong>Data</strong><br />

2. Enhanced WS-Security implementation<br />

17


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

Appendix A - Assessment Specific Requirements<br />

OCAN Assessment Requirements<br />

IAR supports the following versions of OCAN: 2.1 (CMHCA), 1.0.2 <strong>and</strong> 2.0. Detailed structure of<br />

submissions was provided by the OCAN project team.<br />

The schema version is stored in the version attribute of root element of submission XML file. This<br />

attribute allows IAR to validate the content of submitted record based on the XML schema.<br />

In the case of OCAN 2.1 IAR requires corresponding client’s personal health information in addition<br />

to assessment data. The PHI data must conform to the schema defined in Documentation [3] - PHI<br />

submission schema <strong>and</strong> both PHI <strong>and</strong> assessment data must be included in the submission<br />

envelope as illustrated in submission structure 2.<br />

Organizations using OCAN 1.0.2 may submit assessment data to the IAR repository in UTF-16<br />

encoding without using the submission envelope.<br />

RAI-MH Assessment Requirements<br />

RAI-MH assessment data layout is based on existing Ontario Mental Health Reporting System<br />

(OMHRS) technical specifications. This specification defines XML that conforms to OMHRS<br />

<strong>Submission</strong> XML Schema <strong>and</strong> single ASCII file containing variable record length as approved<br />

formats. IAR supports the following versions of the Canadian Institute for Health Information (CIHI)<br />

submission specifications: 2008, 2009 <strong>and</strong> 2010<br />

In addition to assessment data IAR requires corresponding client’s personal health information. The<br />

PHI data must conform to the schema defined in Documentation [3] - PHI submission schema <strong>and</strong><br />

both PHI <strong>and</strong> assessment data must be included in the submission envelope as illustrated in<br />

submission structure 2.<br />

The submission header fields – FiscalYearOf<strong>Submission</strong> <strong>and</strong> DateOf<strong>Submission</strong> will indicate the<br />

schema version of assessments in the file as described in the chart below.<br />

Date of <strong>Submission</strong><br />

(not current date)<br />

April 1- May 31<br />

Fiscal year for which data is being submitted<br />

Previous fiscal year<br />

Current fiscal year<br />

Schema Version<br />

Previous fiscal year schema<br />

Current fiscal year schema<br />

June 1 – March 31 Previous or current fiscal year Current fiscal year schema<br />

For example the schema version will be defined as follow for submissions that are sent during<br />

fiscal year 2010:<br />

FiscalYearOf<strong>Submission</strong> 2009 2010 2009 2010<br />

DateOf<strong>Submission</strong><br />

Apr 1, 2010 -<br />

May 31,2010<br />

Apr 1, 2010 -<br />

May 31,2010<br />

June 1, 2010 -<br />

Mar 31,2011<br />

Apr 1, 2010 – Mar<br />

31,2011<br />

Schema version 2009 2010 2010 2010<br />

18


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

Appendix B - IAR<strong>Submission</strong>Service-Client-side<br />

Technology Document<br />

This appendix is intended for vendors’ developers <strong>and</strong> should be used for information purposes<br />

only. It provides an example of how web service clients can be generated using Java. Vendors<br />

are free to choose their implementation as long as it meets the specifications.<br />

The <strong>Submission</strong>Service client Web service stub was built <strong>and</strong> tested with the following<br />

technologies:<br />

1. JDK 1.6.x (http://java.sun.com/javase/downloads/widget/jdk6.jsp)<br />

2. Eclipse Galileo (Java IDE)<br />

(http://www.eclipse.org/downloads/download.phpfile=/technology/epp/downloads/releas<br />

e/galileo/SR2/eclipse-jee-galileo-SR2-win32.zip)<br />

3. Rampart (http://ws.apache.org/axis2/modules/rampart/1_0/security-module.html)<br />

4. Apache Axis2-1.4.1 (http://ws.apache.org/axis2/download/1_4_1/download.cgi)<br />

5. WSDL file (IAR_<strong>Submission</strong>_v1.1.wsdl)<br />

6. Apache Tomcat 5.5.27 (http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.27/bin/)<br />

Creating the Client stub code<br />

The following Web service Eclipse-Axis2 tutorial was used to auto-generate the client stub code:<br />

http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html<br />

Customization to Client stub code<br />

Customization was necessary in the client code to incorporate the WS-Security requirement.<br />

Since the auto-generation by Eclipse does not incorporate WS-Security features out-of-the-box,<br />

Rampart is the WS-Security module that is made to plug into Axis2. A pre-defined WS-Security<br />

client Policy is needed in order for the client stub code to make a proper request. At this time the<br />

credentials (username <strong>and</strong> password) are being sent as plain text only. A different Security Policy<br />

will have to be used if these requirements were to change i.e. if the password is digested<br />

(encrypted). The following is the current Security Policy used by Axis2:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

19


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

<br />

<br />

<br />

<br />

The following Java snippet shows how the Security Policy is loaded into the client <strong>and</strong> a request<br />

being initiated:<br />

public <strong>Submission</strong>ServiceStub() throws org.apache.axis2.AxisFault,<br />

XMLStreamException {<br />

//Web Service end point<br />

this("http://localhost:8181/IAR_Webservice5/services/<strong>Submission</strong>Service"<br />

);<br />

Options options = _serviceClient.getOptions();<br />

//loading client-plain-text-security-policy<br />

options.setProperty(RampartMessage<strong>Data</strong>.KEY_RAMPART_POLICY,Policy.loadPo<br />

licy("plain-policy-client.xml"));<br />

//setting credentials<br />

options.setUserName("libuser");<br />

options.setPassword("books");<br />

//engaging Rampart WS-Security engine<br />

_serviceClient.engageModule("rampart");<br />

}<br />

Testing<br />

In order to confirm that the client side stub code has been configured correctly; the actual endpoint<br />

i.e. the web service needs to be deployed on a server that is accessible to the client stub.<br />

For local testing, an application server like Tomcat is suitable. The server side web service<br />

needs to be deployed as a st<strong>and</strong>ard Java web application archive file (*.WAR). Once the WAR<br />

file has been deployed, the web service will be active <strong>and</strong> be listening for incoming client<br />

requests.<br />

A typical request will look like this:<br />

<br />

<br />

<br />

<br />

libuser<br />

books<br />

<br />

<br />

<br />

<br />

<br />

<br />

20


Community Care Information Management (<strong>CCIM</strong>)<br />

IAR <strong>Data</strong> <strong>Submission</strong><br />

`<br />

`<br />

8899<br />

my organization<br />

2009-10-10T12:00:00-05:00<br />

OCAN<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A sample response when the user is authenticated is:<br />

<br />

<br />

<br />

true<br />

<br />

<br />

<br />

A sample response when the user is not authenticated is:<br />

<br />

<br />

<br />

wsse:InvalidSecurity<br />

The security token could not be authenticated or authorized; nested<br />

exception is:<br />

javax.security.auth.callback.UnsupportedCallbackException: check failed<br />

<br />

<br />

<br />

<br />

Summary<br />

The above technologies outlined how a client stub can be configured to access a web service<br />

defined through a WSDL file. The use of auto-generation in Eclipse aid in producing client code<br />

quickly that is reliable <strong>and</strong> testable. Please refer to the technology links outlined in the start of<br />

this document for further information on the respective technologies. Additionally, the Web<br />

service Eclipse-Axis2 tutorial (link above) was helpful in implementing client <strong>and</strong> server side code<br />

for the web service.<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!