Closed eanders closed 1 month ago
are you thinking of something like /projects?name=${projectName}
?
@kaungst yes, something like that or even simply /projects
which could return the project name ID pairs.
Hi- I'm not a vendor, but I work with HMIS data as a TA provider where we accept exports from around the US for the VA (SSVF data) into a data warehouse. In SSVF reporting, we use ImplementationID plus ProjectID (or any number of other IDs). The ImplementationID is expected to be the same across time for each HMIS implementation/database. In using it since the Data Standards change, I've found there's only one very small vendor not doing this correctly (so I just hard-coded the fix for them.) Thanks, Genelle
We added the following endpoint to address this:
/projectsummary:
get:
tags:
- ProjectSummary
summary: Get a list of Projects by partial Project Information
description: |
Get a list of Projects by partial Project Information.
parameters:
- in: query
name: ProjectSummaryQuery
schema:
$ref: "#/components/schemas/ProjectSummaryQuery"
responses:
'200':
description: A list of proejcts that match the query
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ProjectSummaryResponse"
'404':
description: Project not found
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: The request generated an error and could not process.
This allows the query to use OrganizationID, OrgnaizationName, ProjectID, ProjectName, ProjectCommonName, OperatingStartDate, or OperatingEndDate to help narrow the search of projectIDs. We felt just pulling all ProjectIDs out of a system may not be the most useful endpoint. So we created the endpoint to return a subset based on the search query. The return response will include the ProjectID, ProjectName, ProjectCommonName, OperatingStartDate, OperatingEndDate, and OrganizationID.
We created an endpoint for organization to as well.
/organizationsummary:
get:
tags:
- OrganizationSummary
summary: Get a list of Organizations by partial Organization name
description: |
Get a list of Organizations by partial Organization name
parameters:
- in: query
name: OrganizationSummaryQuery
schema:
$ref: "#/components/schemas/OrganizationSummaryQuery"
responses:
'200':
description: A list of Organizations that match the query
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/OrganizationSummaryResponse"
'404':
description: Organizaiton not found
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: The request generated an error and could not process.
https://github.com/HUD-Data-Lab/Data.Exchange.and.Interoperability/blob/0a60d2ae6eca8cd040f89051eb227712c6954eee/hmis-openapi-spec.yml#L108
Often it is helpful to be able request a list of name-id pairs of projects since you may not know the ProjectID of a project in someone else's system. (Same goes for organization).