VistA in the Web of Data

Caregraf

Press key to advance.

Zoom in/out: Ctrl or Command + +/-

Data - a Web native

Many Names - Similar Approach

  • Web of Data
  • Semantic Web
  • Linked Data
  • Nosql
  • RDF Triple Store
  • CouchDB
  • Indexed DB
FileMan before its time
FMQL

FileMan Query Language

FileMan has age issues

A "Web of Data" Veneer

  • SPARQL subset as FileMan's Query Language - extent is an open question
  • RDF as FileMan's serialization format
  • OWL, RDFS as FileMan's schema definition format
FMQL

Reference Implementation

Let's take a walk ...
FMQL

Describe Patient Christopher

Query

DESCRIBE <http://vista.caregraf.org/2-9>

Response

{
  "head": { "vars": [ "name", "date_of_birth", "marital_status" ... ]
  } ,
  "results": {
    "bindings": [
      {
        "name": { "type": "literal" , "value": "JONES,CHRISTOPHER" },
        "date_of_birth": { "type": "typed-literal" , "value": "1950-11-23T00:00:00Z"
        datatype="&xsd:datetime" },
        "marital_status": { "type": "url" , "value": "http://vista.caregraf.org/11-2"
        "fmqlLabel": "MARRIED" },
		...
      }
    ]
  }
}
Format is w3c Standard JSON for SPARQL
FMQL

FileMan Data Export

<rdf:Description rdf:about="http://vista.caregraf.org/2-1">
    <vistacg:name>BAKER,OLIVIA</vistacg:name>
    <vistacg:street_address_line_1>50 THIRD AVENUE</vistacg:street_address_line_1>
    <vistacg:city>DALLAS</vistacg:city>
    <vistacg:state rdf:resource="http://vista.caregraf.org/5-48"/>
    <vistacg:zip_code>75202</vistacg:zip_code>
    <vistacg:phone_number_residence>214-111-1234</vistacg:phone_number_residence>
    <vistacg:sex>F</vistacg:sex>  
    <vistacg:marital_status rdf:resource="http://vista.caregraf.org/11-2"/>
    <vistacg:date_of_birth>19690313</vistacg:date_of_birth>
    <vistacg:social_security_number>111112005</vistacg:social_security_number>
    <vistacg:who_entered_patient rdf:resource="http://vista.caregraf.org/200-11"/>
    ....
</rdf:Description>
	
Serialize in standard w3c RDF
FMQL

FileMan Patient Schema

FMQL

"Standard" Patient Schema

TIE

Linking Out

Let's tie ... VistA