Protocol schema with example
The protocol schema with dummy Care Administration Network example. The JSON represents all the components mention in the protocol_specification document.
Protocol Specification for BMI
{
"name": "CAN",
"description": "Care Administration Network",
"version": 6,
"certificates": "CERT-001",
"publishDate": "29-06-2021",
"effectiveDate": "01-07-201",
"protocolVersionNumber": 13,
"networkSettings": {
"solveTokenUsage": {
"solveGasSettings": {
"eventWiseCost": [
{
"event": "04001"
},
{
"event": "04002"
}
]
}
}
},
"roles": [
{
"id": "01001",
"name": "Patient",
"description": "Patient role for the CAN",
"status": "Active",
"version": 1,
"network": "Patient role for the CAN",
"allowEventsWithRole": [
"01002"
]
},
{
"id": "01002",
"name": "Doctor",
"description": "Patient role for the CAN",
"status": "Active",
"version": 1,
"network": "Patient role for the CAN",
"allowEventsWithRole": [
"01001"
]
}
],
"journeys": [
{
"id": "02002",
"name": "BMI Logs",
"description": "BMI logs of the Patient",
"status": "Active",
"version": 1,
"startCardRefId": "03003",
"roles": [
"01001",
"01002"
]
},
{
"id": "02001",
"name": "Calculate BMI",
"description": "Calculate BMI for the Patient",
"status": "Active",
"version": 1,
"startCardRefId": "03002",
"roles": [
"01002",
"01001"
]
}
],
"cards": [
{
"id": "03002",
"name": "BMI Calculate",
"description": "Submit the details require to Calculate BMI, wallet card for the Patient ",
"status": "Active",
"version": 1,
"cardDefinitionRef": "card/03002.json",
"transactionDataRef": "td/06001.json",
"journey": "02001",
"role": "01001",
"walletEvents": [
"04001"
],
"nodeEvents": [
"04002"
]
},
{
"id": "03001",
"name": "BMI Journey",
"description": "BMI Journey landing wallet card for the Patient (Dummy Card)",
"status": "Active",
"version": 1,
"cardDefinitionRef": "card/03001.json",
"journey": "02001",
"role": "01001",
"walletEvents": [
"04001"
],
"nodeEvents": []
},
{
"id": "03004",
"name": "My BMI Report",
"description": "Generate My BMI Report, wallet card for the Patient ",
"status": "Active",
"version": 1,
"cardDefinitionRef": "card/03004.json",
"transactionDataRef": "td/06001.json",
"journey": "02002",
"role": "01001",
"walletEvents": [
"04001"
],
"nodeEvents": []
},
{
"id": "03003",
"name": "BMI Report",
"description": "BMI Report, wallet card for the Patient ",
"status": "Active",
"version": 1,
"cardDefinitionRef": "card/03003.json",
"transactionDataRef": "td/06001.json",
"journey": "02002",
"role": "01001",
"walletEvents": [
"04001"
],
"nodeEvents": [
"04002"
]
}
],
"events": [
{
"id": "04001",
"name": "Wallet.BMI.Events",
"description": "Wallet event to open the BMI Input Card in BMI Details Journey ",
"status": "Active",
"version": 1,
"type": "Wallet_Event",
"code": "WALLET.BMI.INPUT.CARD",
"walletEventHandlers": [
"05001"
],
"nodeEventHandlers": []
},
{
"id": "04002",
"name": "Patient.BMI.Submitted",
"description": "Submit Patient's BMI data for BMI calcuation.",
"status": "Active",
"version": 2,
"type": "Node_Event",
"code": "PT.BMI.SUBMITTED",
"fromRole": "01001",
"toRole": "01001",
"eventDefinitionRef": "event/04002.json",
"walletEventHandlers": [
"05001"
],
"nodeEventHandlers": [
"05002"
]
}
],
"eventHandlers": [
{
"id": "05002",
"name": "BMI.Calculate",
"description": "Event handler to Calculate BMI on node.",
"status": "Active",
"version": 2,
"type": "Node_Event_Handler",
"eventHandlerDefinitionRef": "event-handler/05002.json",
"event": "04002"
},
{
"id": "05001",
"name": "BMI.Input.Card",
"description": "Event handler for BMI Journeys Cards",
"status": "Active",
"version": 2,
"type": "Wallet_Event_Handler",
"eventHandlerDefinitionRef": "event-handler/05001.json",
"event": "04001"
}
],
"careTags": [
{}
],
"solveToken": {
"transferFromOtherNetwork": {},
"transferWithinNetwork": {
"transferMapping": []
},
"withdrawalTokensFromNetwork": {}
},
"careLedger": {
"excludedJourneys": [],
"journeyWiseEvents": []
}
}
Protocol_Schema.json
{
"care_protocol": {
"name": "CAN",
"description": "Care Administration Network",
"version": "1.0",
"certificates": "CERT-001",
"publish_date": "25-03-2021",
"effective_date": "01-04-201",
"protocol_version_number": 1.0,
"network_settings": {
"solve_token_usage": {
"deposit_value": "Market",
"redemption_value": "Deposit",
"solve_gas_setting": {
"event_wise_cost": [
{
"event": "04001",
"cost": 10
},
{
"event": "04002",
"cost": 20
},
{
"event": "04003",
"cost": 10
},
{
"event": "04004",
"cost": 20
},
{
"event": "04005",
"cost": 21
},
{
"event": "04006",
"cost": 10.5
}
]
}
}
},
"roles": [
{
"id": "01001",
"name": "Patient",
"description": "Patient role for the CAN",
"type": "Wallet",
"status": "Active",
"version": 1.0,
"network": "CAN",
"allow_events_with_role": [
"01002"
]
},
{
"id": "01002",
"name": "Doctor",
"description": "Patient role for the CAN",
"type": "Wallet",
"status": "Active",
"version": 1.0,
"network": "CAN",
"allow_events_with_role": [
"01001"
]
}
],
"journeys": [
{
"id": "02001",
"name": "Appointment",
"description": "Appointment Journey",
"status": "Active",
"version": 1.0,
"start_card_ref_id": "03101",
"roles": [
"01001",
"01002"
]
},
{
"id": "02003",
"name": "Find Doctor",
"description": "Find a doctor Journey for patient",
"status": "Active",
"version": 1.0,
"start_card_ref_id": "03201",
"roles": [
"01001",
"01002"
]
}
],
"cards": [
{
"id": "03101",
"name": "Request_Appointment",
"description": "Request an appointment wallet card for the Patient ",
"status": "Active",
"version": 1.0,
"role": "01001",
"journey": "02001",
"card_definition_ref": "03101.json",
"wallet_events": [
"04101"
],
"node_events": [
"04102"
]
},
{
"id": "03102",
"name": "Complete_Appointment",
"description": "Appointment complete wallet card for the Doctor ",
"status": "Active",
"version": 1.0,
"role": "01002",
"journey": "02001",
"care_tag_id": 2928839,
"card_definition_ref": "03102.json",
"wallet_events": [
"04103"
],
"node_events": [
"04104"
]
},
{
"id": "03103",
"name": "Find_Doctor_Request",
"description": "Find a doctor wallet card for the Patient ",
"status": "Active",
"version": 1.0,
"role": "01001",
"journey": "02002",
"card_Definition_Ref": "03103.json",
"wallet_Events": [
"04106",
"04107"
],
"node_events": [
"04108"
]
},
{
"id": "03104",
"name": "Doctor_Available",
"description": "Doctor wallet card to shared the profile, availability appointment type and cost",
"status": "Active",
"version": 1.0,
"role": "01002",
"journey": "02002",
"card_definition_ref": "03104.json",
"node_events": [
"04109"
]
}
],
"care_tags": [
{
"id": "2928839",
"allowed_networks": "global",
"data_tags": [
"Referred speciality",
"Pre-authorization",
"Urgency",
"Reason"
]
}
],
"events": [
{
"id": "04101",
"name": "Available.Doctors",
"code": "PT.AVAILABLE.DOCTORS",
"description": "GET available doctors from the wallet node",
"status": "Active",
"version": 1.0,
"type": "Wallet_Event",
"card": "03101",
"event_definition_ref": "04101.json",
"wallet_event_handlers": [
"05001"
],
"next_event": "04102"
},
{
"id": "04102",
"name": "Appointment.Request",
"description": "Book an appointment with Doctor",
"code": "PT.APPOINTMENT.REQUEST",
"status": "Active",
"version": 1.0,
"type": "Node_Event",
"event_definition_ref": "04102.json",
"distribution_type": "node_to_node",
"from_role": "01001",
"to_role": "01002",
"wallet_event_handlers": [
"05002"
],
"node_event_handlers": [
"05003"
],
"next_event": "04103"
},
{
"id": "04103",
"name": "Appointment_Requests",
"code": "DC.APPOINTMENT.REQUESTS",
"description": "Get patient appointment requests from doctor node",
"status": "Active",
"version": 1.0,
"type": "Wallet_Event",
"event_definition_ref": "04103.json",
"wallet_event_handlers": [
"05004"
],
"next_event": "04104"
},
{
"id": "04104",
"name": "Appointment_Completed",
"code": "DC.APPOINTMENT.COMPLETED",
"description": "Appointment completed event for patient node",
"status": "Active",
"version": 1.0,
"type": "Node_Event",
"event_definition_ref": "04104.json",
"distribution_type": "node_to_node",
"from_role": "01001",
"to_role": "01002",
"wallet_event_handlers": [
"05005"
],
"node_event_handlers": [
"05006"
],
"next_event": "04110"
},
{
"id": "04105",
"name": "Find_Doctor_Request",
"code": "PT.FIND.DOCTOR",
"description": "Find a doctor event for wallet card",
"status": "Active",
"version": 1.0,
"type": "Wallet_Event",
"event_Definition_Ref": "04105.json",
"wallet_event_handlers": [
"05007"
],
"next_event": "04106"
},
{
"id": "04106",
"name": "Find_Doctor_Request",
"code": "PT.FIND.DOCTOR",
"description": "Find a doctor event to search doctors on the network. ",
"status": "Active",
"version": 1.0,
"type": "Node_Event",
"event_definition_ref": "04106.json",
"distribution_type": "node_to_node",
"from_role": "01001",
"to_role": "01002",
"wallet_event_handlers": [
"05008"
],
"node_event_handlers": [
"05009"
],
"next_event": "04112"
}
],
"event_handlers": [
{
"id": "05001",
"name": "Available.Doctors.Event.Handler",
"description": "Get available doctors from the wallet node",
"status": "Active",
"version": 1.0,
"event": "04101",
"type": "Wallet_Event_Handler",
"event_handler_definition_ref": "05001.json"
},
{
"id": "05002",
"name": "Appointment.Request",
"description": "Create an appointment event",
"status": "Active",
"version": 1.0,
"event": "04102",
"type": "Wallet_Event_Handler",
"event_handler_definition_ref": "05001.json"
},
{
"id": "05003",
"name": "Appointment.Request.Create",
"description": "Send an appointment event",
"status": "Active",
"version": 1.0,
"event": "04103",
"type": "Node_Event_Handler",
"event_handler_definition_ref": "05003.json"
},
{
"id": "05004",
"name": "Appointment.Completed",
"description": "Appointment Completed",
"status": "Active",
"version": 1.0,
"event": "04104",
"type": "Wallet_Event_Handler",
"event_handler_definition_ref": "05004.json"
},
{
"id": "05005",
"name": "Appointment.Completed",
"description": "Appointment Completed",
"status": "Active",
"version": 1.0,
"event": "04105",
"type": "Node_Event_Handler",
"event_handler_definition_ref": "05005.json"
}
],
"solve_token": {
"transfer_from_other_network": {
"allow": "Yes",
"payment_options": [
"CC",
"PayTM",
"Transferwise"
]
},
"transfer_within_network": {
"allow": "Yes",
"transfer_mapping": [
{
"from_role": "01001",
"to_role": "01002"
},
{
"from_role": "01001",
"to_role": "01003"
}
]
},
"withdrawn_tokens_from_network": {
"allow": "Yes"
}
},
"care_circle": {
"role_allow": [
"01001",
"01002",
"01003"
],
"journeys_allow": [
"02001",
"02002"
]
},
"care_ledger": {
"journeys_allow_to_publish": "All",
"excluded_journeys": [
"02003",
"02009"
],
"journey_wise_events": [
{
"journey": "02001",
"events": [
"04002",
"04003"
]
},
{
"journey": "02002",
"events": [
"04005",
"04006"
]
}
]
},
"vault": {
"backup_options": {
"free": "yes",
"upgrade": "Yes"
},
"upgrade_options": {
"tier_1": {
"backup_size": "100GB",
"upgrade_cost": "100 SOLVE/MONTH"
},
"tier_2": {
"backup_size": "200GB",
"upgrade_cost": "200 SOLVE/MONTH"
}
}
},
"geographic_availability": {
"countries": [
"India",
"USA"
],
"countries_excluded": [
"Australia",
"UK"
]
}
}
}