You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
4.0 KiB
177 lines
4.0 KiB
syntax = "proto3";
|
|
import "okap-errors.proto";
|
|
option go_package = "whiteboxsystems.nl/okap";
|
|
|
|
service OKAP {
|
|
// Onboarding
|
|
rpc GetMetadata (GetMetadataRequest) returns (GetMetadataResponse) {}
|
|
rpc Register (RegisterRequest) returns (RegisterResponse) {}
|
|
rpc CompleteRegistration (CompleteRegistrationRequest) returns (CompleteRegistrationResponse) {}
|
|
|
|
// Configuration
|
|
rpc ConfigureCallback (ConfigureCallbackRequest) returns (ConfigureCallbackResponse) {}
|
|
rpc ListServices (ListServicesRequest) returns (ListServicesResponse) {}
|
|
|
|
rpc UpdatePatientRegistration (UpdatePatientRegistrationRequest) returns (UpdatePatientRegistrationResponse) {}
|
|
rpc ListPatientRegistration (ListPatientRegistrationRequest) returns (ListPatientRegistrationResponse) {}
|
|
}
|
|
|
|
enum XISAuthMethod {
|
|
mTLS = 0;
|
|
BearerToken = 1;
|
|
}
|
|
|
|
message MTLSConfigurationParams {
|
|
string publicKey = 1;
|
|
}
|
|
|
|
message BearerTokenConfigurationParams {
|
|
string token = 1;
|
|
}
|
|
|
|
message XISAuthConfiguration {
|
|
XISAuthMethod method = 1;
|
|
oneof config {
|
|
MTLSConfigurationParams mtlsConfig = 2;
|
|
BearerTokenConfigurationParams apiTokenConfig = 3;
|
|
}
|
|
}
|
|
|
|
message ProtocolAuthConfiguration {
|
|
string method = 1;
|
|
map<string, string> configuration = 2;
|
|
}
|
|
|
|
enum SubscriptionPolicy {
|
|
subnone = 0;
|
|
optin = 1;
|
|
optout = 2;
|
|
}
|
|
|
|
enum ConsentPolicy {
|
|
consentnone = 0;
|
|
explicit = 1;
|
|
presumed = 2;
|
|
}
|
|
|
|
message ProtocolDefinition {
|
|
string protocol = 1;
|
|
repeated string authMethods = 2;
|
|
}
|
|
|
|
message ServiceDefinition {
|
|
string id = 1;
|
|
string name = 2;
|
|
string description = 3;
|
|
SubscriptionPolicy subscriptionPolicy = 4;
|
|
ConsentPolicy consentPolicy = 5;
|
|
repeated ProtocolDefinition fetchProtocols = 6;
|
|
repeated ProtocolDefinition pushProtocols = 7;
|
|
}
|
|
|
|
message GetMetadataRequest {}
|
|
|
|
message GetMetadataResponse {
|
|
string supplierFormalName = 1;
|
|
string supplierDisplayName = 2;
|
|
string productName = 3;
|
|
string version = 4;
|
|
}
|
|
|
|
message RegisterRequest {
|
|
string organisationFormalName = 1;
|
|
string organisationDisplayName = 2;
|
|
string organisationIdentifier = 3;
|
|
string organisationIdentifierType = 4; // Type bijv. AGB, BIG registratie of KvK
|
|
XISAuthConfiguration auth = 5;
|
|
}
|
|
|
|
message RegisterResponse {
|
|
string reference = 1;
|
|
}
|
|
|
|
message CompleteRegistrationRequest {
|
|
string reference = 1;
|
|
string registrationToken = 2;
|
|
}
|
|
|
|
message CompleteRegistrationResponse {}
|
|
|
|
message CallbackConfig {
|
|
string protocol = 1;
|
|
map<string,string> config = 2;
|
|
ProtocolAuthConfiguration auth = 3;
|
|
}
|
|
|
|
message ConfigureCallbackRequest {
|
|
string serviceId = 1;
|
|
bool enabled = 2;
|
|
CallbackConfig fetch = 3;
|
|
CallbackConfig push = 4;
|
|
}
|
|
|
|
message ConfigureCallbackResponse {
|
|
string serviceId = 1;
|
|
bool enabled = 2;
|
|
CallbackConfig fetch = 3;
|
|
CallbackConfig push = 4;
|
|
}
|
|
|
|
message ListServicesRequest {
|
|
}
|
|
|
|
message ServiceConfiguration {
|
|
string serviceId = 1;
|
|
bool enabled = 2;
|
|
CallbackConfig fetch = 3;
|
|
CallbackConfig push = 4;
|
|
}
|
|
|
|
message ListServicesResponse {
|
|
repeated ServiceDefinition availableServices = 1;
|
|
repeated ServiceConfiguration configurations = 2;
|
|
}
|
|
|
|
message PatientMeta {
|
|
string identifier = 1;
|
|
string identifierType = 2;
|
|
string firstname = 3;
|
|
string surname = 4;
|
|
string birthdate = 5;
|
|
string street = 6;
|
|
string streetNumber = 7;
|
|
string streetNumberExtension = 8;
|
|
string postalCode = 9;
|
|
string city = 10;
|
|
string country = 11;
|
|
map<string, string> extra = 12;
|
|
}
|
|
|
|
message PatientRegistrationData {
|
|
PatientMeta subject = 1;
|
|
bool registered = 2;
|
|
map<string, string> callbackProtocolMeta = 3;
|
|
}
|
|
|
|
message PatientRegistrationError {
|
|
int32 index = 1;
|
|
OKAPError error = 2;
|
|
}
|
|
|
|
message UpdatePatientRegistrationRequest {
|
|
string serviceId = 1;
|
|
repeated PatientRegistrationData PatientRegistrationData = 2;
|
|
bool atomicUpdate = 3;
|
|
}
|
|
|
|
message UpdatePatientRegistrationResponse {
|
|
repeated PatientRegistrationError errors = 2;
|
|
}
|
|
|
|
message ListPatientRegistrationRequest {
|
|
string serviceId = 1;
|
|
}
|
|
|
|
message ListPatientRegistrationResponse {
|
|
repeated PatientRegistrationData PatientRegistrationData = 2;
|
|
}
|
|
|