Skip to content

Commit

Permalink
Merge pull request #140 from openreferral/1.1-dev
Browse files Browse the repository at this point in the history
Making 1.1 Live
  • Loading branch information
timgdavies authored Apr 13, 2017
2 parents e22d2b4 + 395f26c commit 283253e
Show file tree
Hide file tree
Showing 10 changed files with 459 additions and 196 deletions.
7 changes: 0 additions & 7 deletions Human Services Data Specification v1.0.md

This file was deleted.

Binary file removed Logical10landscape.png
Binary file not shown.
32 changes: 0 additions & 32 deletions TODO.md

This file was deleted.

390 changes: 250 additions & 140 deletions datapackage.json

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions docs/.tx/config
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,64 @@ source_lang = en
file_filter = locale/<lang>/LC_MESSAGES/entities.po
source_file = _build/locale/entities.pot
source_lang = en

[open-referral-1-0.changelog]
file_filter = locale/<lang>/LC_MESSAGES/changelog.po
source_file = _build/locale/changelog.pot
source_lang = en

[open-referral-1-0.credits]
file_filter = locale/<lang>/LC_MESSAGES/credits.po
source_file = _build/locale/credits.pot
source_lang = en

[open-referral-1-0.current_capabilities]
file_filter = locale/<lang>/LC_MESSAGES/current_capabilities.po
source_file = _build/locale/current_capabilities.pot
source_lang = en

[open-referral-1-0.design_principles]
file_filter = locale/<lang>/LC_MESSAGES/design_principles.po
source_file = _build/locale/design_principles.pot
source_lang = en

[open-referral-1-0.faq]
file_filter = locale/<lang>/LC_MESSAGES/faq.po
source_file = _build/locale/faq.pot
source_lang = en

[open-referral-1-0.governance]
file_filter = locale/<lang>/LC_MESSAGES/governance.po
source_file = _build/locale/governance.pot
source_lang = en

[open-referral-1-0.logical_model]
file_filter = locale/<lang>/LC_MESSAGES/logical_model.po
source_file = _build/locale/logical_model.pot
source_lang = en

[open-referral-1-0.producing_sharing]
file_filter = locale/<lang>/LC_MESSAGES/producing_sharing.po
source_file = _build/locale/producing_sharing.pot
source_lang = en

[open-referral-1-0.related_standards]
file_filter = locale/<lang>/LC_MESSAGES/related_standards.po
source_file = _build/locale/related_standards.pot
source_lang = en

[open-referral-1-0.roadmap]
file_filter = locale/<lang>/LC_MESSAGES/roadmap.po
source_file = _build/locale/roadmap.pot
source_lang = en

[open-referral-1-0.use_cases]
file_filter = locale/<lang>/LC_MESSAGES/use_cases.po
source_file = _build/locale/use_cases.pot
source_lang = en

[open-referral-1-0.vocabulary]
file_filter = locale/<lang>/LC_MESSAGES/vocabulary.po
source_file = _build/locale/vocabulary.pot
source_lang = en

17 changes: 16 additions & 1 deletion docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,19 @@ No changes.
[v1.0.1](https://github.com/openreferral/specification/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A%221.0%20Tidy%20Up%22%20)

* Bug fixes to schema and documentation
* Removed redundant documentation pages
* Removed redundant documentation pages

[v1.1.0](https://github.com/openreferral/specification/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A%221.1%20Release%22%20)

* Updated logical model: providing guidance on handling multiple foreign keys, and clarifying use of service_at_location;
* Removing direct location_id from service so that services should always be connected to locations via the service_at_location table;
* Adding the service_taxonomy table (missing from earlier releases);
* Adding description to service_area;
* Updates to the description of the funding table;
* Updates to the address block to include region, and deprecate additional address fields;
* Moving fees and interpretations into the service table;
* Adding missing accreditations and licenses fields;
* Adding a language field to phone;
* Adding a missing primary key to the taxonomy table;
* Fixing the foreign key on accessibility_for_disabilities;
* Adding format validation for URIs and e-mail addresses to the schema;
3 changes: 3 additions & 0 deletions docs/examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Examples

TODO
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Open Referral

![HSDS Logical Model](assets/OpenReferral_Logo_Green.png)

Human Services Data Specification v1.0
Human Services Data Specification v1.1
======================================

The Human Services Data Specification (Open Referral) is an exchange format for publishing machine readable data about health, human, and social services, their locations, and the organizations that provide them. For the purposes of this specification, human services are broadly defined, ranging from food assistance to job training and health care.
Expand Down
143 changes: 128 additions & 15 deletions docs/logical_model.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,139 @@
Logical Model
=============

There are three key concepts in HSDS:
There are four core tables in HSDS:

1. **Services** - which may have descriptions, contact details, opening times, target groups, eligibility requirements, accessibility information, and other important facts about them published so that people are able to identify and access services that can meet their needs.
2. **Organisations** - who provide those services.
3. **Locations** - where those services are delivered - either physically, or virtually (over the phone or Internet).
1. **organization** - that provide services;
2. **service** - that have descriptions, classifications and other information to allow potential service users to identify those services that can meet their needs;
3. **location** - where services are delivered - either physically, or virtually (over the phone or Internet);
4. **service_at_location** - a link table used to record where particular services are available, and to over-ride any default service or location information, with information specific to the service at a specific location.

In addition, HSDS can be used to capture extra information about the **programs** that organisations use to organise and fund collections of services.
Additional information about organisations, locations and services is held in separate tables and linked by a foreign key. Some tables only have a single foreign key for a single core table. Others can be linked to different core tables.

The central model is represented below:
The table below indicates the foreign keys that exist.

![HSDS Logical Model](assets/simple-logical-model.png)
<table class="docutils">
<thead>
<tr>
<th class="head">Table</th>
<th class="head">organization</th>
<th class="head">service</th>
<th class="head">location</th>
<th class="head">service_at_location</th>
</tr>
</thead>
<tbody>
<tr>
<td>programs</td>
<td>X</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>funding</td>
<td>X</td>
<td>X</td>
<td></td>
<td></td>
</tr>
<tr>
<td>service_taxonomy</td>
<td></td>
<td>X</td>
<td></td>
<td></td>
</tr>
<tr>
<td>phone*</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>X</td>
</tr>
<tr>
<td>contact</td>
<td>X</td>
<td>X</td>
<td></td>
<td>X</td>
</tr>
<tr>
<td>regular_schedule</td>
<td></td>
<td>X</td>
<td>X</td>
<td>X</td>
</tr>
<tr>
<td>holiday_schedule</td>
<td></td>
<td>X</td>
<td>X</td>
<td>X</td>
</tr>
<tr>
<td>eligibility</td>
<td></td>
<td>X</td>
<td></td>
<td></td>
</tr>
<tr>
<td>service_area</td>
<td></td>
<td>X</td>
<td></td>
<td></td>
</tr>
<tr>
<td>required_document</td>
<td></td>
<td>X</td>
<td></td>
<td></td>
</tr>
<tr>
<td>payment_accepted</td>
<td></td>
<td>X</td>
<td></td>
<td></td>
</tr>
<tr>
<td>language</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
</tr>
<tr>
<td>physical_address</td>
<td></td>
<td></td>
<td>X</td>
<td></td>
</tr>
<tr>
<td>postal_address</td>
<td></td>
<td></td>
<td>X</td>
<td></td>
</tr>
<tr>
<td>accessibility_for_disabilities</td>
<td></td>
<td></td>
<td>X</td>
<td></td>
</tr>
</tbody>
</table>

Alongside tables describing each organisation, location and service, a number of more loosely coupled tables exist. These may include foreign keys for one or more of organisations, services and locations.
*Phone can also be linked to **contact**.

For example, the [phone](reference.md#phone) table can link a phone number to a location, a service, or an organization **or** to a combination of those (e.g. to specify that it is the phone number of a specific service *at* a specific location).
When a single row contains multiple foreign keys, these will be interpreted as 'OR' relationships.

### Draft model
E.g. a phone number applies to the service OR the organisation OR the service_at_location.

The model below is now deprecated and should not be used. It is maintained here until version 1.1 for reference.

![HSDS Logical Model](https://github.com/openreferral/specification/raw/master/Logical10landscape.png)

* Note that although the relationships are not depicted, metadata.resource_id is the foreign key to all entities
Binary file removed image_1.png
Binary file not shown.

0 comments on commit 283253e

Please sign in to comment.