OpenReferralUK / human-services

Extensions proposed by the English Local Government Association (LGA) and the local government OpenCommunity project to the OpenReferral standard for human services data. Schema generator code is given to express the schema in various formats. Data conversion routines to make it conform to the standard. API that serves the data in a format compliant with the standard.
11 stars 6 forks source link

Human Services standard and API

Summary

This repository provides source code, resources and utilities for English extensions to the Open Referral standard for human services data. It contains:

For the English Local Government Association (LGA) pilot work on Loneliness (supporting the Department for Digital, Culture, Media and Sport (DCMS) Tackling Loneliness Strategy) we will provide an application profile and API on a database taking data from three pilot local authorities. The blog Not another directory of services! describes how the content here fits into the LGA project.

For Open Community alpha work led by Buckinghamshire County Council, we will provide an application profile and test approaches recommended by the OpenCommunity Discovery Report - The case for a community-based services data standard. We will provide API calls to update data and provide sample data entry tools.

By comparing the two application profiles we can test the viability of moving fast to a single English standard that builds on (and whose core is compatible with) Open referral.

The approach

The Local Digital Declaration insists on “modular building blocks for the IT we rely on, and open standards to give a common structure to the data we create”. The human service standard is intended to support the modular approach illustrated below.

Consolidated data feeds queried by service finder applications

Data consumers query service data via an API (see below) from directories that output in a format compliant with the standard. Aggregators take data from compliant directories and merge it to provide more comprehensive data for consuming applications.

The Loneliness project will test taking data from three pilot local authorities and serving it to a sample Service Finder application (to come here). The Project is also testing the usefulness of specific taxonomies and the viability of inferring the types of service most suitable to a user based on their needs and circumstances. We’ll also assess compatibility with the OpenActive opportunity data model and the feasibility of transforming open active data feeds to be compliant with the services standard.

Open Community work is testing data capture software, de-duplication of merged data and how easily the data can be consumed by applications.

The standard

The OpenReferral schema defines a structure for human services data. We extend the schema to support richer data where prior work indicates it is needed. We constrain the resultant schema by means of an application profile which says what fields are recommended for English use and what external vocabularies to reference.

Schema extension and constraint

For the LGA/DCMS Loneliness project application profile, these resources describe the schema:

For Open Community alpha work led by Buckinghamshire County Council, we compared the proposed changes to Open Referral arising from the discovery phase work with those proposed by LGA work. The document BUCKS Community Services Data as an Application Profile of Open Referral details the comparison and resultant application profile changes with a MoSCoW rating. These changes are recorded in machine readable format as a second application profile in the Tabular data package with extensions and application profiles. From this we auto-generated:

We are assessing the LGA/DCMS and Open Community application profiles against refined user stories, illustrative applications and smaple imported data with aview to recommending a unified schema for English services.

The SchemaGenerator folder gives more schemas and code for generating them and other resources from a tabular data package.

The API

An alpha API is being developed to get and post data in the standard format.

Here is Swagger documentation for the API based on alpha web-sevices. API responses for methods which get services, organizations, etc are in the schema’s JSON format.

Different API endpoints will be supported for different databases. Currently the http://api.porism.com/ServiceDirectoryService/ end point serves historic Bristol services data for illustration with no guarantees on accuracy. A few demonstration services with all properties populated are being added to the end point http://api.porism.com/ServiceDirectoryServiceDemo/.

We’ll provide a tool to help construct API calls and visualise results.

Here are some sample API calls:

The API is freely available for reasonable use for public and private organisations. It is subject to ongoing development and there are no guarantees on its stability or longevity. It may be modified to require credentials in future.

See the API query tool that illistrates some API calls and shows the structure of data found. The page source can be found here and run from anywhere.