Download presentation
Presentation is loading. Please wait.
1
VistA on Douglas K. Martin, MD dkmartin@regenstrief.org
Regenstrief Center for Biomedical Informatics Indiana University School of Medicine
2
Introducing Fast Healthcare Interoperability Resources
Defines a common clinical domain model Resources Normative attributes by 80% rule Remaining 20% covered via extensions Defines standard operations (API) CRUDS (create, read, update, delete, search) Resource-specific operations ($expand) RESTful interface (easy to implement) Current specification is STU-3
3
RESTful Web Service Henry"
4
Patient Resource <Patient xmlns=" <id value=”1234"/> <identifier> <use value="usual"/> <type> <coding> <system value=" <code value="MRN"/> </coding> </type> <system value="urn:oid: "/> <value value="12345"/> </identifier> <name> <family value="Levin"/> <given value="Henry"/> </name> <gender value="male"/> <birthDate value=" "/> <managingOrganization> <reference value="Organization/ "/> <display value="Good Health Clinic"/> </managingOrganization> <active value="true"/> </Patient>
5
NETSERV Unified TCP Connection Services
TCP Connection Manager WEB Server RPC Broker OAuth2 Service*
6
NETSERV TCP Connection Manager
Handles socket allocation and hand-off Protocol independent Single place to define listeners Single set of tools for managing listeners Caché and GT.M support API’s for I/O (handles caching of output)
7
NETSERV TCP Listener File
Field Datatype Example NAME Free Text HTTP Endpoint PORT Number 9030 UCI FOIA DISABLE Yes/No NO MAXIMUM 100 HANDLER M Entry Point NETSERV^RGNETWWW
8
NETSERV Web Server Serve web pages Service REST requests
Authentication/authorization Customizable handlers
9
NETSERV HTTP Endpoint File
Field Datatype Example URL Free Text DSTU#/* METHOD Http Method GET AUTH BASIC/BEARER/BOTH BOTH HANDLER M Entry Point MGET^RGSER ACCESS CONTROL Access Control Expression K.XUPROG!P.RGCWENCX PROVIDER DESCRIPTION Word Processing FHIR service endpoint
10
URL Pattern Examples / CWF/* DSTU#/* UTILITY/RPC UTILITY/RTN
oauth2/authorize oauth2/token
11
Access Control Expression
An access control expression allows you to constrain access to an endpoint based upon security keys, parameters, and options held (or not held) by a user. An expression can consist of: Operands K.<name> Security key of the specified name O.<name> Option of the specified name P.<name> Parameter of the specified name Operators & Logical AND of two results ! Logical OR of two results ’ Negate a logical result Parentheses to control the order of sub-expression evaluation
12
VistA Serialization Framework
Originally developed to serialize VistA objects to JSON via RPC broker Expanded to support multiple formats XML and JSON FHIR DSTU1, DSTU2, and STU3? Added REST interface via NETSERV via HTTP via RPC broker
13
Serialization Control File
(#.01) NAME [F] ^ (#1) CONTENT TYPE [F] ^ (#2) SERIALIZER [F] ^ (#3) VERSION [F] (#10) RESOURCE (#.01) RESOURCE [F] ^ (#1) INTERNAL [YN] ^ (#2) SOURCE [N] (#10) CUSTOM SERIALIZER [M] ^ (#20) PREFETCH LOGIC [M] ^ (#21) POSTFETCH LOGIC [M] (#30) PROPERTY (#.01) PROPERTY [F] ^ (#1) FIELD [F] ^ (#2) TYPE [S] ^ (#3) SEQUENCE [N] (#10) CONTROL [F] (#40) PARAMETER (#.01) PARAMETER [F] ^ (#1) FIELD [F] ^ (#2) TYPE [S] ^ (#3) SEQUENCE [N] (#10) CONTROL [M] (#20) COHORT [M] (#50) TEMPLATE (#.01) TEMPLATE [F] ^ (#1) CONTENT [W] ^ (#99) DESCRIPTION [F] (#20) HEADER FIELDS [1W] (#99) DESCRIPTION [1W]
14
http://acme. org/DSTU2/Patient/1. _format=xml http://acme
NAME: DSTU2 CONTENT TYPE: application/xml+fhir,application/xml,text/xml,xml SERIALIZER: RGSEFHIX VERSION: RESOURCE: Patient INTERNAL: N SOURCE: 2 (PATIENT) PROPERTY: name FIELD: .01 TYPE: CUSTOM SEQUENCE: 10 CONTROL: D NAME(VL("I")) PROPERTY: birthdate FIELD: .03 TYPE: DATE SEQUENCE: 30 CONTROL: PARAMETER: family TYPE: STRING SEQUENCE: 20 CONTROL: D OPRNAME(VL("E"),1) K PVAL COHORT: S X="$$NAMEITER^RGSERPAT"
15
Supported Formats CWF application/json,text/json
DSTU1 application/xml+fhir,application/xml,text/xml,xml DSTU1 application/json+fhir,application/json,text/json,json DSTU2 application/xml+fhir,application/xml,text/xml,xml DSTU2 application/json+fhir,application/json,text/json,json STU3* application/fhir+xml,application/xml,text/xml,xml STU3* application/fhir+json,application/json,text/json,json
16
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.