Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FSVP Credential for Agriculture Tech Demo 2024 #973

Merged
merged 5 commits into from
Sep 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/credentials-with-issuer-dependent-terms.json
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,10 @@
"type": "FoodDefenseInspectionCredential",
"count": 0
},
{
"type": "FVSPImporterCredential",
"count": 2
},
{
"type": "FSMATransformingCTECredential",
"count": 0
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,325 @@
$linkedData:
term: FSVPImporterCredential
'@id': https://w3id.org/traceability#FSVPImporterCredential
title: FSVP Importer Credential
tags:
- Agriculture
description: >-
This credential represents a secure digital record of the KDEs (Key Data Elements)
required by an importer when asserting compliance to the Foreign Supplier
Verification Program (FSVP) to meet the requirements of the Food Safety
Modernization Act (FSMA).

Additional information about the Foreign Supplier Verification Program:
https://www.fda.gov/food/food-safety-modernization-act-fsma/fsma-final-rule-foreign-supplier-verification-programs-fsvp-importers-food-humans-and-animals

type: object
properties:
'@context':
type: array
readOnly: true
const:
- https://www.w3.org/2018/credentials/v1
- https://w3id.org/traceability/v1
default:
- https://www.w3.org/2018/credentials/v1
- https://w3id.org/traceability/v1
items:
type: string
enum:
- https://www.w3.org/2018/credentials/v1
- https://w3id.org/traceability/v1
type:
type: array
readOnly: true
const:
- VerifiableCredential
- FSVPImporterCredential
default:
- VerifiableCredential
- FSVPImporterCredential
items:
type: string
enum:
- VerifiableCredential
- FSVPImporterCredential
id:
type: string
name:
type: string
description:
type: string
issuanceDate:
type: string
expirationDate:
type: string
issuer:
$ref: ../common/Organization.yml
credentialSchema:
type: object
properties:
id:
title: Id
description: The URL of the schema file to be used to validate the shape of the JSON object
type: string
format: uri
example: https://w3id.org/traceability/openapi/components/schemas/credentials/FSVPImporterCredential.yml
default: https://w3id.org/traceability/openapi/components/schemas/credentials/FSVPImporterCredential.yml
readOnly: true
type:
title: Type
description: The type of validation to be run against the defined schema
const: OpenApiSpecificationValidator2022
credentialSubject:
type: object
properties:
importer:
$ref: ../common/Organization.yml
importerDUNS:
type: string
title: DUNS number of importer
shipment:
$ref: ../common/AgricultureParcelDelivery.yml
fsvpAssertion:
title: Importer's assertion of FSVP compliance or exemption
type: string
enum:
- FSVP Compliant
- FSVP Exempt
- FSVP Exempt, product is for research and evaluation (R&E)
additionalProperties: false
required:
- importer
- importerDUNS
- shipment
- fsvpAssertion
additionalProperties: false
required:
- '@context'
- type
- id
- issuanceDate
- issuer
- credentialSubject
example: |-
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://w3id.org/traceability/v1"
],
"id": "https://example.com/credential/123",
"type": [
"VerifiableCredential",
"FSVPImporterCredential"
],
"name": "FSVP Importer Credential",
"issuanceDate": "2021-12-11T03:50:55Z",
"issuer": {
"id": "did:web:organization.example.com",
"type": [
"Organization"
]
},
"credentialSubject": {
"importer": {
"type": [
"Organization"
],
"name": "Onwards A/S",
"location": {
"type": [
"Place"
],
"address": {
"type": [
"PostalAddress"
],
"streetAddress": "Sludevej 63",
"addressLocality": "Kgs. Lyngby",
"postalCode": "2800",
"addressCountry": "DK"
}
}
},
"importerDUNS": "00-123-4567",
"shipment": {
"type": [
"AgricultureParcelDelivery"
],
"deliveryAddress": {
"type": [
"PostalAddress"
],
"name": "Bartell - Doyle",
"streetAddress": "84189 Roberts Route",
"addressLocality": "Kautzerstad",
"addressRegion": "Louisiana",
"postalCode": "37950-5855",
"addressCountry": "Mongolia"
},
"originAddress": {
"type": [
"PostalAddress"
],
"name": "Marks, Runte and Bartell",
"streetAddress": "97696 Weissnat Pines",
"addressLocality": "Reynabury",
"addressRegion": "North Dakota",
"postalCode": "51361-9603",
"addressCountry": "Virgin Islands, U.S."
},
"foreignPortExport": {
"type": [
"Place"
],
"globalLocationNumber": "4947538126450",
"geo": {
"type": [
"GeoCoordinates"
],
"latitude": "40.5464",
"longitude": "-37.6146"
},
"address": {
"type": [
"PostalAddress"
],
"name": "Moen - Swift",
"streetAddress": "9746 Laron Gardens",
"addressLocality": "Port Flossie",
"addressRegion": "Hawaii",
"postalCode": "64687",
"addressCountry": "Djibouti"
},
"unLocode": "DKCPH"
},
"portOfEntry": {
"type": [
"Place"
],
"globalLocationNumber": "2184109798407",
"geo": {
"type": [
"GeoCoordinates"
],
"latitude": "38.8485",
"longitude": "-34.0883"
},
"address": {
"type": [
"PostalAddress"
],
"name": "Mills, Daugherty and Nader",
"streetAddress": "39514 Kulas Terrace",
"addressLocality": "East Avis",
"addressRegion": "Utah",
"postalCode": "45553",
"addressCountry": "Northern Mariana Islands"
},
"unLocode": "DKCPH"
},
"deliveryMethod": "Truck transport",
"trackingNumber": "866440000109",
"expectedArrival": "2021-03-14",
"specialInstructions": "The package is top-heavy so handle with appropriate caution.",
"consignee": {
"type": [
"Organization"
],
"name": "Ace Foodstuffs",
"description": "Agricultural goods shipping & distribution",
"email": "Hipolito58@acefoodstuffs.org",
"phoneNumber": "+1-595-555-0996",
"faxNumber": "+1-643-555-2094"
},
"agriculturePackage": [
{
"type": [
"AgriculturePackage"
],
"packageName": "Avocados, Bulk",
"grade": "AA",
"responsibleParty": {
"type": [
"Organization"
],
"name": "Example Responsible Party Organization",
"email": "Chadrick_Gibson@example.com",
"phoneNumber": "+1-470-555-7721"
},
"voicePickCode": "4642",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
{
"type": [
"AgricultureProduct"
],
"plu": "94225",
"product": {
"type": [
"Product"
],
"manufacturer": {
"type": [
"Organization"
],
"email": "Ashlee.Grady@example.net",
"phoneNumber": "+1-300-555-2516"
},
"name": "Avocados",
"description": "Avocados, 4 pack boxes",
"weight": {
"type": [
"QuantitativeValue"
],
"unitCode": "hg/ha",
"value": "6960"
},
"sku": "81055399441"
},
"scientificName": "Persea americana",
"labelImageUrl": "https://img.example.org/033383401508/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
]
}
],
"shipper": {
"type": [
"Organization"
],
"name": "Green Fields",
"description": "Growing & packaging for high quality produce",
"email": "sales@greenfields.org",
"phoneNumber": "+1-474-555-8033"
},
"purchaser": {
"type": [
"Organization"
],
"name": "Ace Foodstuffs",
"description": "Agricultural goods shipping & distribution",
"email": "Hipolito58@acefoodstuffs.org",
"phoneNumber": "+1-351-555-3356",
"faxNumber": "+1-744-555-3782"
},
"carrier": {
"type": [
"Organization"
],
"email": "Adaline29@example.com",
"phoneNumber": "+1-853-555-5644"
},
"broker": {
"type": [
"Organization"
],
"name": "Koch LLC",
"leiCode": "54321351219389121979"
}
},
"fsvpAssertion": "FSVP Compliant"
}
}