1.0.0 • Published 6 months ago

@cef-ebsi/vcdm1.1-dc4eu-medical-training v1.0.0

Weekly downloads
-
License
EUPL-1.2
Repository
-
Last release
6 months ago

EBSI Logo

@cef-ebsi/vcdm1.1-dc4eu-medical-training

EBSI Medical Verifiable Accreditation training

EBSI Medical Verifiable Accreditation training schema for accrediting continuous medical education programmes

The schema is published to the Trusted Schemas Registry with the IDs:

  • 0x4e83a48fe8ac602b66a2421e0b093d142c01b0ea666dde6d81e5ca946c27c9f1 (hexadecimal)
  • z6HVE7GznLyrdvpdJsedSqorPQRcfcHUNtZYpwvDjrYjA (multibase base58btc)

Table of Contents

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "EBSI Medical Verifiable Accreditation training",
  "description": "EBSI Medical Verifiable Accreditation training schema for accrediting continuous medical education programmes",
  "type": "object",
  "allOf": [
    {
      "$ref": "./node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json"
    },
    {
      "properties": {
        "id": {
          "type": "string",
          "format": "uri",
          "description": "Unique identifier for the doctor ID credential"
        },
        "type": {
          "type": "array",
          "description": "Credential type definitions",
          "items": {
            "type": "string"
          },
          "default": [
            "VerifiableCredential",
            "ContinuousMedicalTrainingAccreditation"
          ]
        },
        "issuer": {
          "type": "object",
          "description": "Information about the issuing institution",
          "properties": {
            "id": {
              "type": "string",
              "format": "uri",
              "description": "Unique identifier of the issuing institution"
            },
            "name": {
              "type": "object",
              "description": "Multilingual name of the issuing institution",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "required": ["id", "name"]
        },
        "issuanceDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the doctor ID was issued"
        },
        "expirationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the eCIP expires"
        },
        "credentialSubject": {
          "type": "object",
          "properties": {
            "id": {
              "description": "Defines a unique identifier of the Verifiable attestation",
              "type": "string"
            },
            "authorizationClaims": {
              "description": "Defines a list of claims that define/determine the authorization of an Issuer to issue certain types of VCs. Mandatory",
              "type": "object",
              "properties": {
                "accreditationType": {
                  "description": "Defines the type of accreditation. Mandatory*",
                  "type": "string",
                  "format": "uri"
                },
                "report": {
                  "description": "Includes an accessible report of the quality assurance decision",
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uri"
                  }
                },
                "accreditingAgent": {
                  "type": "object",
                  "description": "Information about the accrediting institution",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uri",
                      "description": "Unique identifier of the accrediting institution"
                    },
                    "name": {
                      "type": "object",
                      "description": "Multilingual name of the accrediting institution",
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  },
                  "required": ["id", "name"]
                },
                "limitQualification": {
                  "description": " Defines The qualification that was accredited ",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "description": "Defines a portable and unique identifier of the qualification",
                        "type": "string",
                        "format": "uri"
                      },
                      "title": {
                        "description": "Defines the title of the qualification",
                        "type": "string"
                      },
                      "alternativeLabel": {
                        "description": "Defines an alternative name of the qualification",
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "EQFLevel": {
                        "description": "Defines the qualification level as specified by the European Qualification Framework.",
                        "type": "string",
                        "format": "uri"
                      },
                      "NQFLevel": {
                        "description": "Defines the qualification level as specified by a National Qualification Framework.",
                        "type": "string",
                        "format": "uri"
                      },
                      "trainingDuration": {
                        "type": "object",
                        "description": "Duration of the study programme",
                        "properties": {
                          "startDate": {
                            "type": "string",
                            "format": "date",
                            "description": "Start date of training activity"
                          },
                          "endDate": {
                            "type": "string",
                            "format": "date",
                            "description": "End date of training activity"
                          }
                        }
                      },
                      "volumeOfLearning": {
                        "type": "string",
                        "format": "duration",
                        "description": "The estimated number of hours the learner is expected to spend engaged in learning to earn the award."
                      },
                      "mode": {
                        "type": "array",
                        "description": "The mode of learning and or assessment",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uri"
                            },
                            "type": {
                              "const": "Concept"
                            },
                            "inScheme": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "type": {
                                  "const": "ConceptScheme"
                                }
                              }
                            },
                            "prefLabel": {
                              "type": "object",
                              "properties": {
                                "category": {
                                  "type": "string",
                                  "enum": ["Presential", "Online", "Hybrid"]
                                }
                              }
                            }
                          },
                          "required": ["id", "type", "inScheme", "prefLabel"]
                        }
                      },
                      "creditPoint": {
                        "type": "array",
                        "description": "The credit points assigned to the learning specification.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uri"
                            },
                            "type": {
                              "const": "CreditPoint"
                            },
                            "framework": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "type": {
                                  "const": "Concept"
                                },
                                "prefLabel": {
                                  "type": "object",
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                },
                                "inScheme": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "format": "uri"
                                    },
                                    "type": {
                                      "const": "ConceptScheme"
                                    }
                                  }
                                }
                              }
                            },
                            "point": {
                              "type": "string"
                            }
                          },
                          "required": ["id", "type", "framework", "point"]
                        }
                      },
                      "limitQFLevel": {
                        "description": "Defines the european qualification level for which the accreditation is valid",
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "limitJurisdiction": {
                        "description": "Defines the jurisdiction for which the accreditation is valid",
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "reviewDate": {
                        "description": "Defines the The date when the accreditation has to be re-viewed",
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  }
                }
              },
              "required": ["accreditationType", "limitQualification"]
            }
          },
          "required": ["id", "authorizationClaims"]
        }
      }
    }
  ]
}

Installation

# with npm
npm add @cef-ebsi/vcdm1.1-dc4eu-medical-training@1.0.0

# with Yarn
yarn add @cef-ebsi/vcdm1.1-dc4eu-medical-training@1.0.0

# with pnpm
pnpm add @cef-ebsi/vcdm1.1-dc4eu-medical-training@1.0.0

Usage

The package exports the schema and its metadata as JavaScript objects:

import { schema, metadata } from "@cef-ebsi/vcdm1.1-dc4eu-medical-training";

// you can now use the schema and metadata

In addition, the package exports a TypeScript type corresponding to the schema:

import type { EBSIMedicalVerifiableAccreditationTraining } from "@cef-ebsi/vcdm1.1-dc4eu-medical-training";

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.

1.0.0

6 months ago