diff --git a/manifest.json b/manifest.json index bc0306fb1e448514ee928762c767305f3fe9b1a4..74446cf8f1a450ad8259eb2cbe48fd41f0d57ac8 100644 --- a/manifest.json +++ b/manifest.json @@ -47,6 +47,18 @@ "verification": "Documents & Products", "context": "General" }, + { + "name": "@cef-ebsi/vcdm1.1-onepass-momentum-schema", + "version": "1.0.0", + "title": "Momentum Credential", + "description": "Defines the schema of the Momentum credential used for scoring Start Ups investability", + "idBase16": "0x974236ed695e154ae5c894caff3337ce0375f6804f9297fccf0f7f7861b1ee11", + "idBase58": "zBBT88HQMktUKDwizDJV99LF4XqVagC8bT1nh4wvUKqpC", + "file": "schemas/vcdm1.1/momentum/schema.json", + "vcdm": "1.1", + "verification": "Documents", + "context": "Digital Public Services Access" + }, { "name": "@cef-ebsi/vcdm1.1-presentation-schema", "version": "1.0.4", @@ -311,6 +323,26 @@ "verification": "Documents", "context": "Digital Public Services Access" }, + { + "name": "@cef-ebsi/vcdm1.1-certificate-professional-competence-schema", + "version": "1.0.0", + "title": "Certificate Professional Competence", + "description": "Schema defining a verifiable credential that validates whether a registered physician has an up to date certificate of professional competence", + "idBase16": "0xdb2f27bb0c8d74d9c16190e4de1e22b39e005a00bd1e0aa51f0e29343bfcb4d6", + "idBase58": "zFkbzRiX4Q7vcaMtNpgq7RzkvkhvRTt9KqMHqGWXrGn85", + "file": "schemas/vcdm1.1/medical-certifications/certificate-professional-competence/schema.json", + "vcdm": "1.1" + }, + { + "name": "@cef-ebsi/vcdm1.1-professional-medical-certification-schema", + "version": "1.0.0", + "title": "Professional Medical Certifications", + "description": "Schema defining a verifiable credential associated with a registered physician", + "idBase16": "0x892d34859357311b1a60fa50666ec5ad6961e1a7238b602437d0c7cb628ea78b", + "idBase58": "zAEUqPUrQVE7yiesF8xUVHYh4AnqjfHFxCv6GhZ3uvjkW", + "file": "schemas/vcdm1.1/medical-certifications/professional-medical-certification/schema.json", + "vcdm": "1.1" + }, { "name": "@cef-ebsi/vcdm1.1-multi-uni-pilot-education-verifiable-accreditation-records-schema", "version": "1.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f88d0f25d8e3dbdf6223f7f3e49145b508dc9809..5d77f5c826ee1b074c1a7145d67df73c8eed27aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -195,6 +195,24 @@ importers: specifier: workspace:* version: link:../../attestation + schemas/vcdm1.1/medical-certifications/certificate-professional-competence: + dependencies: + '@cef-ebsi/vcdm1.1-attestation-schema': + specifier: workspace:* + version: link:../../attestation + + schemas/vcdm1.1/medical-certifications/professional-medical-certification: + dependencies: + '@cef-ebsi/vcdm1.1-attestation-schema': + specifier: workspace:* + version: link:../../attestation + + schemas/vcdm1.1/momentum: + dependencies: + '@cef-ebsi/vcdm1.1-attestation-schema': + specifier: workspace:* + version: link:../attestation + schemas/vcdm1.1/multi-uni-pilot/education-verifiable-accreditation-records: dependencies: '@cef-ebsi/vcdm1.1-attestation-schema': @@ -4998,7 +5016,7 @@ packages: debug: 4.3.6 pathe: 1.1.2 picocolors: 1.1.1 - vite: 5.4.6 + vite: 5.4.14 transitivePeerDependencies: - '@types/node' - less @@ -5011,8 +5029,8 @@ packages: - terser dev: true - /vite@5.4.6: - resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} + /vite@5.4.14: + resolution: {integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5091,7 +5109,7 @@ packages: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.6 + vite: 5.4.14 vite-node: 1.6.0 why-is-node-running: 2.3.0 transitivePeerDependencies: diff --git a/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/CHANGELOG.md b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..539c9f226cd939815dfa129dcf23b805b538a3db --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/CHANGELOG.md @@ -0,0 +1,7 @@ +# @cef-ebsi/vcdm1.1-certificate-professional-competence-schema + +## 1.0.0 + +### Major Changes + +- 5185590: Create initial version of the Certificate Professional Competence schema. diff --git a/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/README.md b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a1e66c3038510ab7be978f468026532f4403bcf3 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/README.md @@ -0,0 +1,93 @@ + + +# @cef-ebsi/vcdm1.1-certificate-professional-competence-schema + +> Certificate Professional Competence +> +> Schema defining a verifiable credential that validates whether a registered physician has an up to date certificate of professional competence + +The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/apis/pilot/trusted-schemas-registry) with the IDs: + +- `0xdb2f27bb0c8d74d9c16190e4de1e22b39e005a00bd1e0aa51f0e29343bfcb4d6` (hexadecimal) +- `zFkbzRiX4Q7vcaMtNpgq7RzkvkhvRTt9KqMHqGWXrGn85` (multibase base58btc) + +## Table of Contents + +- [JSON Schema](#json-schema) +- [Installation](#installation) +- [Usage](#usage) +- [License](#license) + +## JSON Schema + +```json +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Certificate Professional Competence", + "description": "Schema defining a verifiable credential that validates whether a registered physician has an up to date certificate of professional competence", + "type": "object", + "allOf": [ + { + "$ref": "./node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json" + }, + { + "properties": { + "credentialSubject": { + "description": "Board Certified Doctor Credential", + "type": "object", + "properties": { + "cip": { + "description": "Indicates whether the registered physician has a current and valid certificate of professional competence.", + "type": "boolean" + } + }, + "required": ["cip"] + } + } + } + ] +} +``` + +## Installation + +```sh +# with npm +npm add @cef-ebsi/vcdm1.1-certificate-professional-competence-schema@1.0.0 + +# with Yarn +yarn add @cef-ebsi/vcdm1.1-certificate-professional-competence-schema@1.0.0 + +# with pnpm +pnpm add @cef-ebsi/vcdm1.1-certificate-professional-competence-schema@1.0.0 +``` + +## Usage + +The package exports the schema and its metadata as JavaScript objects: + +```js +import { + schema, + metadata, +} from "@cef-ebsi/vcdm1.1-certificate-professional-competence-schema"; + +// you can now use the schema and metadata +``` + +In addition, the package exports a TypeScript type corresponding to the schema: + +```ts +import type { CertificateProfessionalCompetence } from "@cef-ebsi/vcdm1.1-certificate-professional-competence-schema"; +``` + +## License + +Copyright (C) 2024 European Union + +This program is free software: you can redistribute it and/or modify it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as published by the European Union. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details. + +You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2. along with this program. If not, see <https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12>. diff --git a/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/examples/example.json b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/examples/example.json new file mode 100644 index 0000000000000000000000000000000000000000..fc2cdb4d8bd1c247719c3b17c7af3425c3618f81 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/examples/example.json @@ -0,0 +1,20 @@ +{ + "@context": ["https://www.w3.org/2018/credentials/v1"], + "id": "urn:credential:47ccde4d-ed74-3338-c6a4-1f14d9c416ec", + "type": [ + "VerifiableCredential", + "VerifiableAttestation", + "ProfessionalCompetenceMicroCredential" + ], + "issuer": "did:ebsi:zhs8QaHif4mPqhEcn5Z8K9E", + "issuanceDate": "2024-11-10T19:19:47.287Z", + "validFrom": "2024-11-10T19:19:47.287Z", + "issued": "2024-11-10T19:19:47.287Z", + "credentialSubject": { + "cip": true + }, + "credentialSchema": { + "id": "https://api-test.ebsi.eu/trusted-schemas-registry/v3/schemas/0xff4f1fa4f0efd4306a218f669c7482d8cfcc7a13ba44f34af69f41889704002a", + "type": "JsonSchema" + } +} diff --git a/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/package.json b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/package.json new file mode 100644 index 0000000000000000000000000000000000000000..6b2f1af0862cbfc3a2b94704ed8712e92299e476 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/package.json @@ -0,0 +1,27 @@ +{ + "name": "@cef-ebsi/vcdm1.1-certificate-professional-competence-schema", + "version": "1.0.0", + "description": "Certificate Professional Competence Verifiable Credential (VCDM 1.1)", + "license": "EUPL-1.2", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://code.europa.eu/ebsi/json-schema.git", + "directory": "schemas/vcdm1.1/medical-certifications/certificate-professional-competence" + }, + "type": "module", + "exports": "./dist/index.js", + "types": "./dist/index.d.ts", + "sideEffects": false, + "files": [ + "dist", + "examples", + "schema.json", + "schema.metadata.json" + ], + "dependencies": { + "@cef-ebsi/vcdm1.1-attestation-schema": "workspace:*" + } +} diff --git a/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/schema.json b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/schema.json new file mode 100644 index 0000000000000000000000000000000000000000..e07f47c8015b2b1878a0a7cb315855d6cffe4543 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/schema.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Certificate Professional Competence", + "description": "Schema defining a verifiable credential that validates whether a registered physician has an up to date certificate of professional competence", + "type": "object", + "allOf": [ + { + "$ref": "./node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json" + }, + { + "properties": { + "credentialSubject": { + "description": "Board Certified Doctor Credential", + "type": "object", + "properties": { + "cip": { + "description": "Indicates whether the registered physician has a current and valid certificate of professional competence.", + "type": "boolean" + } + }, + "required": ["cip"] + } + } + } + ] +} diff --git a/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/schema.metadata.json b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/schema.metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..a77a0ef86a502494457b43cc25a0f209333092a1 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/certificate-professional-competence/schema.metadata.json @@ -0,0 +1,7 @@ +{ + "vcdm": "1.1", + "id": { + "base16": "0xdb2f27bb0c8d74d9c16190e4de1e22b39e005a00bd1e0aa51f0e29343bfcb4d6", + "multibase_base58btc": "zFkbzRiX4Q7vcaMtNpgq7RzkvkhvRTt9KqMHqGWXrGn85" + } +} diff --git a/schemas/vcdm1.1/medical-certifications/professional-medical-certification/CHANGELOG.md b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..fbab92d3f91bf45de0f93c3bf83e4544ad032488 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/CHANGELOG.md @@ -0,0 +1,7 @@ +# @cef-ebsi/vcdm1.1-professional-medical-certification-schema + +## 1.0.0 + +### Major Changes + +- 5185590: Create initial version of the Professional Medical Certification schema. diff --git a/schemas/vcdm1.1/medical-certifications/professional-medical-certification/README.md b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2d8eec9580f9ebaa0597d52ddb853ac6a8c94d71 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/README.md @@ -0,0 +1,182 @@ + + +# @cef-ebsi/vcdm1.1-professional-medical-certification-schema + +> Professional Medical Certifications +> +> Schema defining a verifiable credential associated with a registered physician + +The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/apis/pilot/trusted-schemas-registry) with the IDs: + +- `0x892d34859357311b1a60fa50666ec5ad6961e1a7238b602437d0c7cb628ea78b` (hexadecimal) +- `zAEUqPUrQVE7yiesF8xUVHYh4AnqjfHFxCv6GhZ3uvjkW` (multibase base58btc) + +## Table of Contents + +- [JSON Schema](#json-schema) +- [Installation](#installation) +- [Usage](#usage) +- [License](#license) + +## JSON Schema + +```json +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Professional Medical Certifications", + "description": "Schema defining a verifiable credential associated with a registered physician", + "type": "object", + "allOf": [ + { + "$ref": "./node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json" + }, + { + "properties": { + "credentialSubject": { + "description": "Board Certified Doctor Credential", + "type": "object", + "properties": { + "medical_license_number": { + "description": "Nationally registered physician number", + "type": "string" + }, + "name": { + "description": "Natural person name", + "type": "string" + }, + "surname": { + "description": "Natural person surname", + "type": "string" + }, + "medical_registration_status": { + "description": "The status of the registered physician", + "type": "string", + "enum": ["ACTIVE", "LEAVE", "INHABILITED"] + }, + "medical_practice_authorization": { + "description": "Indicates if the physician is authorized to act", + "type": "string" + }, + "medical_board": { + "description": "Corresponds to the official college of physicians where the professional is registered.", + "type": "boolean" + }, + "medical_specialties": { + "description": "Describes the physician's professional specialization", + "type": "array", + "items": { + "type": "string", + "enum": [ + "Allergology", + "Clinical Analysis", + "Pathological Anatomy", + "Anesthesiology and Reanimation", + "Angiology and Vascular Surgery", + "Digestive System", + "Clinical Biochemistry", + "Cardiology", + "Cardiovascular Surgery", + "General and Digestive Surgery", + "Oral and Maxillofacial Surgery", + "Orthopedic Surgery and Traumatology", + "Pediatric Surgery", + "Plastic, Aesthetic, and Reconstructive Surgery", + "Thoracic Surgery", + "Medical-Surgical Dermatology and Venereology", + "Endocrinology and Nutrition", + "Stomatology", + "Clinical Pharmacology", + "Geriatrics", + "Medical Hydrology", + "Hematology and Hemotherapy", + "Immunology", + "Occupational Medicine", + "Family and Community Medicine", + "Physical Education and Sports Medicine", + "Forensic Medicine", + "Physical Medicine and Rehabilitation", + "Intensive Medicine", + "Internal Medicine", + "Nuclear Medicine", + "Preventive Medicine and Public Health", + "Microbiology and Parasitology", + "Nephrology", + "Pulmonology", + "Neurosurgery", + "Clinical Neurophysiology", + "Neurology", + "Obstetrics and Gynecology", + "Ophthalmology", + "Medical Oncology", + "Radiation Oncology", + "Otorhinolaryngology", + "Pediatrics and its Specific Areas", + "Psychiatry", + "Radiology", + "Rheumatology", + "Urology", + "General Medicine", + "Child and Adolescent Psychiatry", + "Certified General Physician" + ] + } + } + }, + "required": [ + "medical_license_number", + "name", + "surname", + "medical_registration_status", + "medical_practice_authorization", + "medical_board", + "medical_specialties" + ] + } + } + } + ] +} +``` + +## Installation + +```sh +# with npm +npm add @cef-ebsi/vcdm1.1-professional-medical-certification-schema@1.0.0 + +# with Yarn +yarn add @cef-ebsi/vcdm1.1-professional-medical-certification-schema@1.0.0 + +# with pnpm +pnpm add @cef-ebsi/vcdm1.1-professional-medical-certification-schema@1.0.0 +``` + +## Usage + +The package exports the schema and its metadata as JavaScript objects: + +```js +import { + schema, + metadata, +} from "@cef-ebsi/vcdm1.1-professional-medical-certification-schema"; + +// you can now use the schema and metadata +``` + +In addition, the package exports a TypeScript type corresponding to the schema: + +```ts +import type { ProfessionalMedicalCertifications } from "@cef-ebsi/vcdm1.1-professional-medical-certification-schema"; +``` + +## License + +Copyright (C) 2024 European Union + +This program is free software: you can redistribute it and/or modify it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as published by the European Union. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details. + +You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2. along with this program. If not, see <https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12>. diff --git a/schemas/vcdm1.1/medical-certifications/professional-medical-certification/examples/example.json b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/examples/example.json new file mode 100644 index 0000000000000000000000000000000000000000..c13c9396034d7aa7a734e382ca2e496266787e3e --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/examples/example.json @@ -0,0 +1,27 @@ +{ + "@context": ["https://www.w3.org/2018/credentials/v1"], + "id": "urn:credential:47ccde4d-ed74-3338-c6a4-1f14d9c416ec", + "type": [ + "VerifiableCredential", + "VerifiableAttestation", + "ProfessionalMedicalCertification" + ], + "issuer": "did:ebsi:zhs8QaHif4mPqhEcn5Z8K9E", + "issuanceDate": "2024-11-10T19:19:47.287Z", + "validFrom": "2024-11-10T19:19:47.287Z", + "issued": "2024-11-10T19:19:47.287Z", + "credentialSubject": { + "id": "did:ebsi:zgsaCQxPaQwA4VcNRsjwUBFyeHSVwcyCnaXnfKYsSzUkZ", + "medical_license_number": "123456789", + "name": "John", + "surname": "Doe", + "medical_registration_status": "ACTIVE", + "medical_practice_authorization": "Yes", + "medical_board": true, + "medical_specialties": ["Cardiology", "Internal Medicine"] + }, + "credentialSchema": { + "id": "https://api-test.ebsi.eu/trusted-schemas-registry/v3/schemas/0xff4f1fa4f0efd4306a218f669c7482d8cfcc7a13ba44f34af69f41889704002a", + "type": "JsonSchema" + } +} diff --git a/schemas/vcdm1.1/medical-certifications/professional-medical-certification/package.json b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/package.json new file mode 100644 index 0000000000000000000000000000000000000000..e6f2546e21d4b69e4258f27ab731884529e0a023 --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/package.json @@ -0,0 +1,27 @@ +{ + "name": "@cef-ebsi/vcdm1.1-professional-medical-certification-schema", + "version": "1.0.0", + "description": "Professional Medical Certification Verifiable Credential (VCDM 1.1)", + "license": "EUPL-1.2", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://code.europa.eu/ebsi/json-schema.git", + "directory": "schemas/vcdm1.1/medical-certifications/professional-medical-certification" + }, + "type": "module", + "exports": "./dist/index.js", + "types": "./dist/index.d.ts", + "sideEffects": false, + "files": [ + "dist", + "examples", + "schema.json", + "schema.metadata.json" + ], + "dependencies": { + "@cef-ebsi/vcdm1.1-attestation-schema": "workspace:*" + } +} diff --git a/schemas/vcdm1.1/medical-certifications/professional-medical-certification/schema.json b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/schema.json new file mode 100644 index 0000000000000000000000000000000000000000..79015e7fbc44a5ca17cb7dce78a3e3af6cc9a26d --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/schema.json @@ -0,0 +1,115 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Professional Medical Certifications", + "description": "Schema defining a verifiable credential associated with a registered physician", + "type": "object", + "allOf": [ + { + "$ref": "./node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json" + }, + { + "properties": { + "credentialSubject": { + "description": "Board Certified Doctor Credential", + "type": "object", + "properties": { + "medical_license_number": { + "description": "Nationally registered physician number", + "type": "string" + }, + "name": { + "description": "Natural person name", + "type": "string" + }, + "surname": { + "description": "Natural person surname", + "type": "string" + }, + "medical_registration_status": { + "description": "The status of the registered physician", + "type": "string", + "enum": ["ACTIVE", "LEAVE", "INHABILITED"] + }, + "medical_practice_authorization": { + "description": "Indicates if the physician is authorized to act", + "type": "string" + }, + "medical_board": { + "description": "Corresponds to the official college of physicians where the professional is registered.", + "type": "boolean" + }, + "medical_specialties": { + "description": "Describes the physician's professional specialization", + "type": "array", + "items": { + "type": "string", + "enum": [ + "Allergology", + "Clinical Analysis", + "Pathological Anatomy", + "Anesthesiology and Reanimation", + "Angiology and Vascular Surgery", + "Digestive System", + "Clinical Biochemistry", + "Cardiology", + "Cardiovascular Surgery", + "General and Digestive Surgery", + "Oral and Maxillofacial Surgery", + "Orthopedic Surgery and Traumatology", + "Pediatric Surgery", + "Plastic, Aesthetic, and Reconstructive Surgery", + "Thoracic Surgery", + "Medical-Surgical Dermatology and Venereology", + "Endocrinology and Nutrition", + "Stomatology", + "Clinical Pharmacology", + "Geriatrics", + "Medical Hydrology", + "Hematology and Hemotherapy", + "Immunology", + "Occupational Medicine", + "Family and Community Medicine", + "Physical Education and Sports Medicine", + "Forensic Medicine", + "Physical Medicine and Rehabilitation", + "Intensive Medicine", + "Internal Medicine", + "Nuclear Medicine", + "Preventive Medicine and Public Health", + "Microbiology and Parasitology", + "Nephrology", + "Pulmonology", + "Neurosurgery", + "Clinical Neurophysiology", + "Neurology", + "Obstetrics and Gynecology", + "Ophthalmology", + "Medical Oncology", + "Radiation Oncology", + "Otorhinolaryngology", + "Pediatrics and its Specific Areas", + "Psychiatry", + "Radiology", + "Rheumatology", + "Urology", + "General Medicine", + "Child and Adolescent Psychiatry", + "Certified General Physician" + ] + } + } + }, + "required": [ + "medical_license_number", + "name", + "surname", + "medical_registration_status", + "medical_practice_authorization", + "medical_board", + "medical_specialties" + ] + } + } + } + ] +} diff --git a/schemas/vcdm1.1/medical-certifications/professional-medical-certification/schema.metadata.json b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/schema.metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..85ab3b6602375e553fece0c48524fcd0d60f284e --- /dev/null +++ b/schemas/vcdm1.1/medical-certifications/professional-medical-certification/schema.metadata.json @@ -0,0 +1,7 @@ +{ + "vcdm": "1.1", + "id": { + "base16": "0x892d34859357311b1a60fa50666ec5ad6961e1a7238b602437d0c7cb628ea78b", + "multibase_base58btc": "zAEUqPUrQVE7yiesF8xUVHYh4AnqjfHFxCv6GhZ3uvjkW" + } +} diff --git a/schemas/vcdm1.1/momentum/CHANGELOG.md b/schemas/vcdm1.1/momentum/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..95f4d42bfee77cb8147637ab441af1cd3c3016a8 --- /dev/null +++ b/schemas/vcdm1.1/momentum/CHANGELOG.md @@ -0,0 +1,7 @@ +# @cef-ebsi/vcdm1.1-onepass-momentum-schema + +## 1.0.0 + +### Major Changes + +- 5185590: Create initial version of the Momentum credential schema. diff --git a/schemas/vcdm1.1/momentum/README.md b/schemas/vcdm1.1/momentum/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4500562505b6a193b7c6bbf677a5f7121c2d2335 --- /dev/null +++ b/schemas/vcdm1.1/momentum/README.md @@ -0,0 +1,145 @@ + + +# @cef-ebsi/vcdm1.1-onepass-momentum-schema + +> Momentum Credential +> +> Defines the schema of the Momentum credential used for scoring Start Ups investability + +The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/apis/pilot/trusted-schemas-registry) with the IDs: + +- `0x974236ed695e154ae5c894caff3337ce0375f6804f9297fccf0f7f7861b1ee11` (hexadecimal) +- `zBBT88HQMktUKDwizDJV99LF4XqVagC8bT1nh4wvUKqpC` (multibase base58btc) + +## Table of Contents + +- [JSON Schema](#json-schema) +- [Installation](#installation) +- [Usage](#usage) +- [License](#license) + +## JSON Schema + +```json +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Momentum Credential", + "description": "Defines the schema of the Momentum credential used for scoring Start Ups investability", + "type": "object", + "allOf": [ + { + "$ref": "node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json" + }, + { + "properties": { + "credentialSubject": { + "description": "Defines basic information about the subject and the scores in the Momentum VC", + "type": "object", + "properties": { + "id": { + "description": "Defines the DID of the subject that is described by the Credential", + "type": "string", + "format": "uri" + }, + "dataTimestamp": { + "description": "Timestamp of the data received to issue the scores", + "type": "string", + "format": "date-time" + }, + "benchmarkTimestamp": { + "description": "Timestamp when the scores were benchmarked/calculated", + "type": "string", + "format": "date-time" + }, + "legalName": { + "description": "Official legal name of Credential Subject", + "type": "string" + }, + "VATRegistration": { + "description": "VAT number of Credential Subject", + "type": "string" + }, + "scoreTeamSize": { + "description": "Team size score", + "type": "number" + }, + "scoreFoundersExperience": { + "description": "Founder's experience score", + "type": "number" + }, + "scoreDiversity": { + "description": "Diversity score", + "type": "number" + }, + "scoreOriginalInsight": { + "description": "Original insight score", + "type": "number" + }, + "scoreDirectorsBoard": { + "description": "Director's board score", + "type": "number" + }, + "scoreVelocity": { + "description": "Velocity score", + "type": "number" + } + }, + "required": [ + "id", + "legalName", + "dataTimestamp", + "benchmarkTimestamp", + "VATRegistration", + "scoreTeamSize", + "scoreFoundersExperience", + "scoreDiversity", + "scoreOriginalInsight", + "scoreDirectorsBoard", + "scoreVelocity" + ] + } + } + } + ] +} +``` + +## Installation + +```sh +# with npm +npm add @cef-ebsi/vcdm1.1-onepass-momentum-schema@1.0.0 + +# with Yarn +yarn add @cef-ebsi/vcdm1.1-onepass-momentum-schema@1.0.0 + +# with pnpm +pnpm add @cef-ebsi/vcdm1.1-onepass-momentum-schema@1.0.0 +``` + +## Usage + +The package exports the schema and its metadata as JavaScript objects: + +```js +import { schema, metadata } from "@cef-ebsi/vcdm1.1-onepass-momentum-schema"; + +// you can now use the schema and metadata +``` + +In addition, the package exports a TypeScript type corresponding to the schema: + +```ts +import type { MomentumCredential } from "@cef-ebsi/vcdm1.1-onepass-momentum-schema"; +``` + +## License + +Copyright (C) 2024 European Union + +This program is free software: you can redistribute it and/or modify it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as published by the European Union. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details. + +You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2. along with this program. If not, see <https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12>. diff --git a/schemas/vcdm1.1/momentum/examples/momentum.json b/schemas/vcdm1.1/momentum/examples/momentum.json new file mode 100644 index 0000000000000000000000000000000000000000..a78fe6f30a73b955423b76eeea9235efcf9f47d8 --- /dev/null +++ b/schemas/vcdm1.1/momentum/examples/momentum.json @@ -0,0 +1,38 @@ +{ + "@context": ["https://www.w3.org/2018/credentials/v1"], + "credentialSchema": { + "id": "https://schema-registry.example.com/momentum.json", + "type": "FullJsonSchemaValidator2021" + }, + "credentialStatus": { + "id": "https://issuer.example.com/api/v1/issuer/d33987ec-6f41-11ef-ba7b-0a58a9feac02/status/0#0", + "statusListCredential": "https://issuer.example.com/api/v1/issuer/d33987ec-6f41-11ef-ba7b-0a58a9feac02/status/0", + "statusListIndex": "0", + "statusPurpose": "revocation", + "type": "StatusList2021Entry" + }, + "credentialSubject": { + "id": "did:ebsi:zfD5g8wydpKGguxMjhD4HLy", + "dataTimestamp": "2024-09-12T08:17:29.981Z", + "benchmarkTimestamp": "2024-09-12T08:17:29.981Z", + "legalName": "A Company name", + "VATRegistration": "11111111A", + "scoreTeamSize": 2.0, + "scoreFoundersExperience": 2.0, + "scoreDiversity": 2.0, + "scoreOriginalInsight": 2.0, + "scoreDirectorsBoard": 2.0, + "scoreVelocity": 2.0 + }, + "id": "did:ebsi:c83c606d-a03e-4a98-a8b6-df0127a425da", + "issuanceDate": "2024-09-12T08:17:29.981Z", + "issued": "2024-09-12T08:17:29.981Z", + "issuer": "did:ebsi:zfD5g8wydpKGguxMjhD4HLy", + "type": [ + "VerifiableCredential", + "VerifiableAttestation", + "MomentumCredential" + ], + "validFrom": "2024-09-12T08:17:29.981Z", + "validUntil": "2024-10-12T08:17:29.981Z" +} diff --git a/schemas/vcdm1.1/momentum/package.json b/schemas/vcdm1.1/momentum/package.json new file mode 100644 index 0000000000000000000000000000000000000000..ee7d7f94924692aadd1522c7472971f446a508bf --- /dev/null +++ b/schemas/vcdm1.1/momentum/package.json @@ -0,0 +1,27 @@ +{ + "name": "@cef-ebsi/vcdm1.1-onepass-momentum-schema", + "version": "1.0.0", + "description": "Momentum credential (VCDM 1.1)", + "license": "EUPL-1.2", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://code.europa.eu/ebsi/json-schema.git", + "directory": "schemas/vcdm1.1/momentum" + }, + "type": "module", + "exports": "./dist/index.js", + "types": "./dist/index.d.ts", + "sideEffects": false, + "files": [ + "dist", + "examples", + "schema.json", + "schema.metadata.json" + ], + "dependencies": { + "@cef-ebsi/vcdm1.1-attestation-schema": "workspace:*" + } +} diff --git a/schemas/vcdm1.1/momentum/schema.json b/schemas/vcdm1.1/momentum/schema.json new file mode 100644 index 0000000000000000000000000000000000000000..d807b4f161681c5c4b4df5519dfd96ae11494c7e --- /dev/null +++ b/schemas/vcdm1.1/momentum/schema.json @@ -0,0 +1,81 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Momentum Credential", + "description": "Defines the schema of the Momentum credential used for scoring Start Ups investability", + "type": "object", + "allOf": [ + { + "$ref": "node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json" + }, + { + "properties": { + "credentialSubject": { + "description": "Defines basic information about the subject and the scores in the Momentum VC", + "type": "object", + "properties": { + "id": { + "description": "Defines the DID of the subject that is described by the Credential", + "type": "string", + "format": "uri" + }, + "dataTimestamp": { + "description": "Timestamp of the data received to issue the scores", + "type": "string", + "format": "date-time" + }, + "benchmarkTimestamp": { + "description": "Timestamp when the scores were benchmarked/calculated", + "type": "string", + "format": "date-time" + }, + "legalName": { + "description": "Official legal name of Credential Subject", + "type": "string" + }, + "VATRegistration": { + "description": "VAT number of Credential Subject", + "type": "string" + }, + "scoreTeamSize": { + "description": "Team size score", + "type": "number" + }, + "scoreFoundersExperience": { + "description": "Founder's experience score", + "type": "number" + }, + "scoreDiversity": { + "description": "Diversity score", + "type": "number" + }, + "scoreOriginalInsight": { + "description": "Original insight score", + "type": "number" + }, + "scoreDirectorsBoard": { + "description": "Director's board score", + "type": "number" + }, + "scoreVelocity": { + "description": "Velocity score", + "type": "number" + } + }, + "required": [ + "id", + "legalName", + "dataTimestamp", + "benchmarkTimestamp", + "VATRegistration", + "scoreTeamSize", + "scoreFoundersExperience", + "scoreDiversity", + "scoreOriginalInsight", + "scoreDirectorsBoard", + "scoreVelocity" + ] + } + } + } + ] +} diff --git a/schemas/vcdm1.1/momentum/schema.metadata.json b/schemas/vcdm1.1/momentum/schema.metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..225dd8577f01b24becc439a77d923979e7da4a8d --- /dev/null +++ b/schemas/vcdm1.1/momentum/schema.metadata.json @@ -0,0 +1,9 @@ +{ + "vcdm": "1.1", + "id": { + "base16": "0x974236ed695e154ae5c894caff3337ce0375f6804f9297fccf0f7f7861b1ee11", + "multibase_base58btc": "zBBT88HQMktUKDwizDJV99LF4XqVagC8bT1nh4wvUKqpC" + }, + "verification": "Documents", + "context": "Digital Public Services Access" +}