# Validator and dashboard for HSDS / HSDA 3.0 and beyond

**URL:** <https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415>\
**Category:** Technical\
**Tags:** api, validator, dashboard\
**Created:** [July 25, 2023, 5:18pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415 "2023-07-25T17:18:26Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![MikeThacker-iStandUK](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/mikethacker-istanduk/32/8_2.png) [@MikeThacker-iStandUK](https://forum.openreferral.org/u/MikeThacker-iStandUK)\
**Post date:** [July 25, 2023, 5:18pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/1 "2023-07-25T17:18:26Z")

</div>

At @bloom’s request, I’ve drafted [Por11474 - Open Referral Validator and Dashboard specification](https://docs.google.com/document/d/1BJ2qvjxRCQXzEhxJgzvw2_5DbCbEHm4yA_6ulyfoDDM/edit?usp=sharing) with my understanding of what’s needed for a validator for the API and how this should be used in a dashboard modelled on [the current UK dashboard](https://openreferraluk.org/dashboard) of open API feeds.

I think we need this as we migrate UK publishers to the new structure and API which are not radically different from what we have in the UK now, but bring more international consistency. (Consultation on the UK profile is still needed before it is finalised.)

The validator and dashboard ultimately need to work for all future versions of the Standard and for different profiles. The UK has the most immediate need.

We’d welcome comments here and at the new working group meeting.

---

<div class="post-metadata">

**Author:** ![Dan-ODS](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/dan-ods/32/89_2.png) [@Dan-ODS](https://forum.openreferral.org/u/Dan-ODS)\
**Post date:** [July 27, 2023, 4:27pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/2 "2023-07-27T16:27:55Z")

</div>

Thanks @MikeThacker-iStandUK

We will take a look over this and feedback at the August Standing Technical meeting - if not sooner.

Dan

---

<div class="post-metadata">

**Author:** ![devin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/devin/32/16_2.png) [@devin](https://forum.openreferral.org/u/devin)\
**Post date:** [August 3, 2023, 10:37pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/3 "2023-08-03T22:37:24Z")

</div>

I think this is a great proposal.

I wonder if the ORUK API Connector concept can fit into this. If I recall the idea with that was that a feed could be registered in the connector, then used by other tools such as the validator or a directory viewer app or in the future a merge/dedupe tool etc.

---

<div class="post-metadata">

**Author:** ![MikeThacker-iStandUK](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/mikethacker-istanduk/32/8_2.png) [@MikeThacker-iStandUK](https://forum.openreferral.org/u/MikeThacker-iStandUK)\
**Post date:** [August 4, 2023, 8:16am UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/4 "2023-08-04T08:16:44Z")

</div>

Thanks @devin This is the [ORUK Connector](https://tools.openreferraluk.org/APIConnector/). We removed it from our menus because we don’t (yet) have sufficient feeds and consuming tools that meet enough API rules for it to work in many circumstances.

The idea of the connector is to connect any API feed, such as Placecube’s Open Place Directory or TPX Impact’s Outpost to any consuming application such as the Local Government Association’s [Service Finder](https://servicefinder.esd.org.uk/) or TPX Impact’s Scout. However, most front-end tools rely on the search filters for the /services web method being implemented so no local data storage is needed by the consuming application. That is quite rare.

Nevertheless, I think it’s work us exploring bringing back the Connector. The code is very easy to implement and configure.

---

<div class="post-metadata">

**Author:** ![bloom](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/bloom/32/103_2.png) [@bloom](https://forum.openreferral.org/u/bloom)\
**Post date:** [October 13, 2023, 8:23pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/5 "2023-10-13T20:23:33Z")

</div>

So we’ve heard a lot of interest in an updated validator, and I’m going to try to accelerate the process from here.

I’m glad to hear @devin likes @MikeThacker-iStandUK’s proposal, and also I want to get more input from a broader swath of the community as to desired features and related design objectives.

One thing that might help me is updating this proposal to include a set of user stories that are specifically formatted in the standard way – so that we can clearly state our assumptions about who wants to do what. i.e. “As a [database administrator] I want to [take this action] in order to [receive this benefit].” Perhaps mike can help us articulate the user stories that are implicitly assumed by this proposal – and then we can do some polling to get input on which of them are the highest priority, and whether any important stories are missing.

We have some other big questions – such as whether this validator tool should be deployable code or a hosted service, and what language it should be developed in – but perhaps we’ll be better able to have _those_ conversations by first more clearly articulating our assumptions about what the users need.

Thoughts?

---

<div class="post-metadata">

**Author:** ![sasha](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/sasha/32/149_2.png) [@sasha](https://forum.openreferral.org/u/sasha)\
**Post date:** [December 5, 2024, 11:31pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/6 "2024-12-05T23:31:19Z")

</div>

Hi all! Did my best to distill points in [the proposal](https://docs.google.com/document/d/1BJ2qvjxRCQXzEhxJgzvw2_5DbCbEHm4yA_6ulyfoDDM/edit?tab=t.0#heading=h.tl0ye8vxsw0d) and this [Validation Tools spreadsheet](https://docs.google.com/spreadsheets/d/1tszuthH-_xq1vmjOQbUsroGf8R-wScFu6bYhEs9h4eI/edit?gid=1144869875#gid=1144869875) into a starting point for potential [user stories](https://docs.google.com/spreadsheets/d/1tszuthH-_xq1vmjOQbUsroGf8R-wScFu6bYhEs9h4eI/edit?gid=482058597#gid=482058597). I still have a pretty loose grasp on things- especially the technical- so please feel free to edit as needed!

---

<div class="post-metadata">

**Author:** ![kathrynods](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/kathrynods/32/147_2.png) [@kathrynods](https://forum.openreferral.org/u/kathrynods)\
**Post date:** [December 10, 2024, 12:32pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/7 "2024-12-10T12:32:26Z")

</div>

Thanks Sasha 😀 I have added a few comments

---

<div class="post-metadata">

**Author:** ![sasha](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/sasha/32/149_2.png) [@sasha](https://forum.openreferral.org/u/sasha)\
**Post date:** [December 30, 2024, 4:22pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/8 "2024-12-30T16:22:16Z")

</div>

@bloom, @MikeThacker-iStandUK, and I recently had another go at the user stories-- similar rows were merged, estimated value + difficulty were added, as were indicators and notes commenting on which features are to be included in the UK tool.

[When you have a moment, please take a look and provide input](https://docs.google.com/spreadsheets/d/1tszuthH-_xq1vmjOQbUsroGf8R-wScFu6bYhEs9h4eI/edit?gid=482058597#gid=482058597). There are also a few use cases (starting at row 31) that we were unable to comment on and would welcome your thoughts!

---

<div class="post-metadata">

**Author:** ![bloom](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/bloom/32/103_2.png) [@bloom](https://forum.openreferral.org/u/bloom)\
**Post date:** [March 3, 2025, 6:51pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/9 "2025-03-03T18:51:21Z")

</div>

Looping back here, we’re still iterating on the validator stories – aiming to get more precise, because we observed a lot of ambiguity lingering in there.

See the spreadsheet that @sasha has helped iterate on, including these top-level items:

| Action (I want to [take an action]… | Goal (In order to… [receive a benefit]) |
| --- | --- |
| validate a sample subset of my dataset | quickly check that my feed is compliant, without having to load my whole dataset |
| perform a minimal validation of all required fields in my schema | confirm that my data’s schema is minimally compliant with HSDS |
| perform a complete validation of all HSDS fields in my schema | confirm that my schema complies with the entire HSDS specification |
| validate my entire entire dataset for formatting compliance | confirm that my dataset complies with the entire HSDS schema and formatting conventions |
| validate my dataset for compliance with an HSDS profile | confirm that my dataset meets the precise specifications for my subdomain / context. |
| Test my endpoint for valid parameters | confirm that my API enables filters as specified in HSDS |
| perform a full validation of my API endpoint | ensure my API feed is publishing data that is compliant with the HSDS API. |
| | |
| to receive a JSON schema that specifies pass/fail per-field | be alerted to fields that need to be reformatted in order to be compliant |
| to receive machine-readable feedback that includes details about which fields have failed and why | understand what i need to fix in my schema (or dataset?) in order to be compliant. |
| receive human-readable feedback that includes details about which fields have failed and why | understand – without being a code person – what i need to fix in my schema (or dataset?) in order to be compliant. |

(Note that the spreadsheet is a bit awkward in that some stories are duplicated across the different types of users – we’ll clean it up, would welcome suggestions.)

Our next steps will be to 1) confirm the wording for all of the above, then 2) confirm which of these are done by already-existing or in-development tools, then 3) rank the features that have yet to be built according to a) value and b) difficulty.

Please review and give feedback!

---

<div class="post-metadata">

**Author:** ![MikeThacker-iStandUK](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/mikethacker-istanduk/32/8_2.png) [@MikeThacker-iStandUK](https://forum.openreferral.org/u/MikeThacker-iStandUK)\
**Post date:** [March 4, 2025, 11:51am UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/10 "2025-03-04T11:51:16Z")

</div>

> [@bloom](#):
>
> Test my endpoint for valid parameters confirm that my API enables filters as specified in HSDS perform a full validation of my API endpoint

I have two main issues with this list:

1. It’s not clear which apply just to API endpoints (aka web methods), which to HSDS structured data made available in a different way and which to both. I’m only interested in API compliance but people wanting to do offline tests might want different approaches to some points such as getting feedback
2. there’s the case of testing a _few_ key API endpoints (web methods) (e.g. root, /services and /services/{id} which is separate from a _full_ API test and separate from testing parameters. I don’t think this is in the list

---

<div class="post-metadata">

**Author:** ![bloom](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/bloom/32/103_2.png) [@bloom](https://forum.openreferral.org/u/bloom)\
**Post date:** [March 4, 2025, 4:44pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/11 "2025-03-04T16:44:39Z")

</div>

Thanks, Mike. We can talk this through more on the call, but feel free to suggest more specific stories.

If I’m understanding this correctly, you’re saying there might be a distinction to make between validating parameters vs validating methods?

I observed the ambiguity of structured data vs API endpoints, but (forgive my lack of technical acumen here) isn’t validation of a JSON schema file also essentially like validating an API endpoint? Feel free to clarify here if we want to do another round of disambiguation between validating a JSON schema file vs API.

---

<div class="post-metadata">

**Author:** ![skyleryoung](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/skyleryoung/32/212_2.png) [@skyleryoung](https://forum.openreferral.org/u/skyleryoung)\
**Post date:** [March 12, 2025, 5:04pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/12 "2025-03-12T17:04:28Z")

</div>

| Action | Goal |
| --- | --- |
| | |
| perform a full validation of my API endpoint | ensure my API feed is publishing data that is compliant with the HSDS API. |
| to receive a JSON schema that specifies pass/fail per-field | be alerted to fields that need to be reformatted in order to be compliant |
| to receive machine-readable feedback that includes details about which fields have failed and why | understand what i need to fix in my schema (or dataset?) in order to be compliant. |
| receive human-readable feedback that includes details about which fields have failed and why | |

These are the most important first steps from my point of view. There is some overlap here, but my main use case would be to send integration partners to the validator (and they will send me there too!) to confirm whether APIs are in-spec and available to use with our existing connectors/parsers. If not, we want helpful feedback as to what needs to be mended in order to work together.

---

<div class="post-metadata">

**Author:** ![sasha](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/sasha/32/149_2.png) [@sasha](https://forum.openreferral.org/u/sasha)\
**Post date:** [May 1, 2025, 11:49am UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/13 "2025-05-01T11:49:41Z")

</div>

Heya. Thank you to all who have provided feedback on the validator user stories so far-- and special thanks to @mrshll for his latest round of comments! @bloom and I did some more consolidating and think [we’ve got the list down to 21 unique user stories](https://docs.google.com/spreadsheets/d/1tszuthH-_xq1vmjOQbUsroGf8R-wScFu6bYhEs9h4eI/edit?gid=482058597#gid=482058597). Please pop in to review as able and share your thoughts.

As a next step, we may want to reevaluate the estimated value and difficulty for each, in case anything’s shifted as we clarified the language.

---

<div class="post-metadata">

**Author:** ![bloom](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/bloom/32/103_2.png) [@bloom](https://forum.openreferral.org/u/bloom)\
**Post date:** [May 1, 2025, 1:46pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/14 "2025-05-01T13:46:16Z")

</div>

Thanks, Sasha. Just to reiterate – we seem really close to having a clear set of distinct functionalities that we can then prioritize.

End result being a validator that does everything y’all need and hopefully some things y’all want – as long as we know they can be maintained in a sustainable way. (along with clarity about which functionalities _won’t_ be developed by the Initiative but maybe _could_ be developed independently by any of y’all, and maybe contributed back to the community.)

[Please review](https://docs.google.com/spreadsheets/d/1tszuthH-_xq1vmjOQbUsroGf8R-wScFu6bYhEs9h4eI/edit?gid=482058597#gid=482058597) and make sure they’re all clear and on-point, and see if anything is missing!

---

<div class="post-metadata">

**Author:** ![Dan-ODS](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openreferral.org/dan-ods/32/89_2.png) [@Dan-ODS](https://forum.openreferral.org/u/Dan-ODS)\
**Post date:** [June 4, 2025, 12:49pm UTC](https://forum.openreferral.org/t/validator-and-dashboard-for-hsds-hsda-3-0-and-beyond/415/15 "2025-06-04T12:49:48Z")

</div>

> [@bloom](#):
>
> [Please review](https://docs.google.com/spreadsheets/d/1tszuthH-_xq1vmjOQbUsroGf8R-wScFu6bYhEs9h4eI/edit?gid=482058597#gid=482058597) and make sure they’re all clear and on-point, and see if anything is missing!

@MikeThacker-iStandUK @devin @klambacher @skyleryoung

Bringing attention to this ahead of next weeks meeting.

cc @bloom

Thanks,

Dan
