care services discovery and health worker information openhie provider registry community call...

9
Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

Upload: unique-batman

Post on 14-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

1

Care Services Discovery and

Health Worker Information

OpenHIE Provider Registry Community Call

September 18, 2013

Page 2: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

2

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

Point of Care Applications

OpenMRS Provider Module

SMS Query for Doctor Certifications

iHRIS asking for Facility List

Find Health Workers in a District

Consolidates information from Service Directories

Exposes information to Service Finders

Facility Registries: DHIS2 Resource Map

Provider Databases RapidSMS iHRIS

Illustrative Examples

Page 3: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

3

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

XML Data Model : CSD document

Page 4: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

4

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

XML Data Model : CSD document

Page 5: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

5

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

Figure 3.73.4-1: Find Matching Service

Page 6: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

6

Info ManagerService Finder

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

Figure 3.73.4-1: Find Matching Service

Submit request as <careServicesRequest/>

Document

Finds requested stored query in library of

<careServicesFunction/> documents

Stored XQuery executed and returned as

<careServicesResponse/>or raw result (e.g. JSON)

Does Something!

<careServicesRequest> <function uuid='4e8bbeb9-f5f5-11e2-b778-0800200c9a66'> <requestParams> <codedType code="2221" codingSchema="ISCO-08" /> <address> <addressLine component='city'>Kigali</addressLine> </address>

<max>5</max> </requestParams> </function></careServicesRequest>

Figure 3.73.4.1.2.2-1: Example Provider Search Request

<careServicesFunction content-type='text/xml' uuid='4e8bbeb9-f5f5-11e2-b778-0800200c9a66'> <description> Performs a search for all providers by name, coded type, address or ID. </description> <definition><xi:include href="provider_search.xq" parse='text'/></definition> <xforms:instance id='instance-4e8bbeb9-f5f5-11e2-b778-0800200c9a66'> <requestParams> <id/> <commonName/> <codedType/> <address/> <start/> <max/> <record/> </requestParams> </xforms:instance> <xforms:bind nodeset="instance(’instance-4e8bbeb9-f5f5-11e2-b778-0800200c9a66’)/requestParams/id" type="csd:uniqueID" id='bind-4e8bbeb9-f5f5-11e2-b778-0800200c9a66-id'/> <!-- A BUNCH MORE OF THESE TO DEFINE PARAMETER TYPES--> </careServicesFunction>

Figure Y.3-2: Provider Search Care Services Function

<CSD xmlns="urn:ihe:iti:csd:2013"> <organizationDirectory/> <serviceDirectory/> <facilityDirectory/> <providerDirectory> <provider oid="2.25.329800735698586629295641978511506172918"> <!--Details of provider record go here--> </provider> </providerDirectory></CSD>

Un-encapsulted/Raw Response

Page 7: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

7

Service Finder Info Manager

Submit request as <careServicesRequest/>

Document

Does Something!Stored XQuery executed

and returned as <careServicesResponse/>or raw result (e.g. JSON)

• Use of UUID to name stored queries

• Contains XQuery function to be executed by XQuery Engine

• Parameters of XQuery function are defined with XForms Core Modelhttp://www.w3.org/TR/xforms/#structure-abstract

• Point is: Build one User Interface with XForms for multiple client systems• RapidSMS uses Django with XForms library• Client-side (web browser) with XSLTForms• Server-side (web browser) Oberon, betterForm java engines• OpenDataKit / JavaRosa for Nokia fun java applications

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

Finds requested stored query in library of

<careServiceFunction/> documents

Figure 3.73.4-1: Find Matching Service

<html> <head> <title>Simple Provider Search Example</title> <xf:model id='simple_search_model'>

<csd:careServicesRequest> <csd:function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66"/> </csd:careServicesRequest>

<xf:submission id="submit-search" method="post" action="4e8bbeb9-f5f5-11e2-b778-0800200c9a66” />

</xf:model> </head> <body> <h1>Simple Provider Search Example</h1> <xf:input ref="instance('instance-4e8bbeb9-f5f5-11e2-b778-0800200c9a66')/requestParams/commonName"

id="search-field-name"> <xf:label>Search By Name:</xf:label> <xf:action ev:event="DOMActivate"> <xf:send submission="submit-provider-search"/> </xf:action> </xf:input> <xf:submit submission="submit-provider-search"> <xf:label>Search</xf:label> </xf:submit> </body></html>

Replace with XForm <instance> from <careServicesFunction>

Page 8: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

8

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

Figure 3.74.4-1: Query for Updated Services

Page 9: Care Services Discovery and Health Worker Information OpenHIE Provider Registry Community Call September 18, 2013 1

9

Service Finder(client system)

Info Manager(XQuery Engine, XML Database)

Services Directory(source of HW,

facility info)

Figure 3.74.4-1: Query for Updated Services

Service DirectoryInfo Manager

Polls (nightly?) all Services Directory for new

information. SOAP with <getModificationsRequest>

Query in local data store for changed/new data.

Returns all new/updates as a <CSD/> document.

iHRIS: XSL transform of

report

Checks for consistency and Puts updated data into XML

database, it’s cache of service directories

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:csd="urn:ihe:iti:csd:2013"> <soap:Header> <wsa:Action soap:mustUnderstand="1" >urn:ihe:iti:csd:2013:GetDirectoryModificationsRequest</wsa:Action> <wsa:MessageID>urn:uuid:def119ad-dc13-49c1-a3c7-e3742531f9b3</wsa:MessageID> <wsa:ReplyTo soap:mustUnderstand="1"> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> </wsa:ReplyTo> <wsa:To soap:mustUnderstand="1">http://host/csDirectory</wsa:To> </soap:Header> <soap:Body> <csd:getModificationsRequest> <csd:lastModified>2002-05-30T09:30:10.5</csd:lastModified> </csd:getModificationsRequest> </soap:Body></soap:Envelope>

Figure 3.74.4.1.2-1: Example SOAP Request

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:csd="urn:ihe:iti:csd:2013"> <soap:Header> <wsa:Action soap:mustUnderstand="1" >urn:ihe:iti:csd:2013:GetDirectoryModificationsResponse</wsa:Action> <wsa:MessageID>urn:uuid:060bf1f5-a5d8-4741-86c6-cb240f887e5b</wsa:MessageID> <wsa:To soap:mustUnderstand="1"> http://www.w3.org/2005/08/addressing/anonymous</wsa:To> <wsa:RelatesTo>urn:uuid:def119ad-dc13-49c1-a3c7-e3742531f9b3</wsa:RelatesTo> </soap:Header> <soap:Body> <csd:getModificationsResponse> <CSD xmlns="urn:ihe:iti:csd:2013"> <organizationDirectory/> <serviceDirectory/> <facilityDirectory/> <providerDirectory> <provider oid="2.25.329800735698586629295641978511506172918"> <!--Details of provider record go here--> </provider> </providerDirectory> </CSD> </csd:getModificationsResponse> </soap:Body></soap:Envelope>

Figure 3.74.4.2.2-1: Example Query for Updated Services Request SOAP message