azure documentdb for healthcare integration - part 2
TRANSCRIPT
Sponsored & Brought to you by
Azure DocumentDB for Healthcare Integration – Part 2Howard Edidin
https://twitter.com/hsedidin
http://www.linkedin.com/in/hedidin
Azure DocumentDB for Healthcare Integration - Part 2
Howard S. EdidinMicrosoft Partner Technical Specialist (BizTalk, Azure) for Healthcare
Gold Member
About the series
• The overall objective is to utilize DocumentDB as a repository for HL7 FHIR©.
• By developing an “Azure API Connector for DocumentDB” that will be used with an Azure Logic App (Manual) and the HTTP Connector, we will be able to expose the entire DocumentDB REST API.
About the series
• Client applications include BizTalk On-Premise, Office 365, Dynamics CRM, Mobile Engagements and other devices and applications that support the HL7 FHIR© REST API.
• Eventually the Azure solution could act as an HL7 FHIR© Server.
Agenda
• Review of DocumentDB REST API• Understanding the overall problem• High-level Design • How Swagger fits in• Design and development• Next steps
6
REVIEW OF DOCUMENTDB REST APIAzure DocumentDB for Healthcare Integration – Part 1
7
Azure DocumentDB for Healthcare Integration
• Azure DocumentDB, features and capabilities• Creating a DocumentDB database• CRUD operations• API’s
– REST– SQL Query Language– Server-side JavaScript
• Leveraging DocumentDB as a HL7 document repository• Preview API and Logic Apps
8
DocumentDB
• DocumentDB is unique among NoSQL stores– It was developed and delivered as a service– It’s truly schema-free, queryable and JSON aware– Offers transactional processing through language integrated JavaScript– Predictable performance and tunable consistency
9
Resource Model
10
Access Model• RESTful interaction over HTTP
• Standard HTTP verbs & semantics• Can utilize BizTalk as a client
• Built-in support for TCP for smart clients• Designed for Gateway as well as Direct Connectivity options
POSTItem
resource TenantFeedURI
PUTItem
resourceItemURI
DELETE
ItemURI
GET
PATCH
TenantFeed Or Item URI
Item URI
Create a new resource/Execute a sprocs/trigger/query
Replace an existing resource
Delete an existing resource
Read/Query an existing resource
*Selectively Edit an existing resource
Item resource
POST http://myaccount.documents.azure.net/dbs{ "name":"My Company Db"}...[201 Created]{ "name": "My Company Db", "id": "UoEi5w==", "self": "dbs/UoEi5w==/", "colls": "colls/", "users": "users/"}
11
UNDERSTANDING THE OVERALL PROBLEMAzure DocumentDB for Healthcare Integration – Part 2
12
HIGH-LEVEL DESIGNAzure DocumentDB for Healthcare Integration – Part 2
13
High-Level Design - Initial
14
High-Level Design – Rev 1
15
High-Level Design – Rev 1.1
16
High-Level Design – Release 1.0
17
High-Level Design – Release 2.0
18
High-Level Design – Release 3.0
19
High-Level Design – Release 4.0
20
HOW SWAGGER FITS INAzure DocumentDB for Healthcare Integration – Part 2
21
Creating a DocumentDB Swagger
22
Creating a DocumentDB Swagger
23
DESIGN AND DEVELOPMENTAzure DocumentDB for Healthcare Integration – Part 2
24
Logic App
25
Logic App
26
Logic App Demo
27
NEXT STEPSAzure DocumentDB for Healthcare Integration – Part 2
28
Azure DocumentDB for Healthcare Integration
Howard S. Edidin MCTS, MCP, Author, Trainer, TechNet Wiki NinjaMicrosoft Partner - Application Integration|HL7|HIPAAMicrosoft Virtual Technical Specialist (BizTalk, Azure) for [email protected]