Wallet protocol view schema (dynamic cards view)

The wallet protocol view schema is derived from the network view ( complete network fingerprint). The wallet will consume this protocol view.

Wallet Protocol View

BMI Wallet Protocol View

{
    "network": {
        "id": "aa951837-8e76-42bf-9820-62806ecaa062",
        "name": "CAN",
        "description": "Care Administration Network",
        "status": "Active",
        "version": 6,
        "certificates": "CERT-001",
        "publishDate": "29-06-2021",
        "effectiveDate": "01-07-201",
        "protocolVersionNumber": 13
    },
    "roles": [
        {
            "id": "01001",
            "name": "Patient",
            "description": "Patient role for the CAN",
            "status": "Active",
            "version": 1
        },
        {
            "id": "01002",
            "name": "Doctor",
            "description": "Patient role for the CAN",
            "status": "Active",
            "version": 1
        }
    ],
    "journeys": [
        {
            "id": "02002",
            "name": "BMI Logs",
            "description": "BMI logs of the Patient",
            "status": "Active",
            "version": 1,
            "startCardRefId": "03003"
        },
        {
            "id": "02001",
            "name": "Calculate BMI",
            "description": "Calculate BMI for the Patient",
            "status": "Active",
            "version": 1,
            "startCardRefId": "03002"
        }
    ],
    "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"
        },
        {
            "id": "03001",
            "name": "BMI Journey",
            "description": "BMI Journey landing wallet card for the Patient (Dummy Card)",
            "status": "Active",
            "version": 1,
            "cardDefinitionRef": "card/03001.json"
        },
        {
            "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"
        },
        {
            "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"
        }
    ],
    "events": [
        {
            "id": "04001",
            "name": "Wallet.BMI.Events",
            "code": "WALLET.BMI.INPUT.CARD",
            "description": "Wallet event to open the BMI Input Card in BMI Details Journey ",
            "status": "Active",
            "version": 1,
            "type": "Wallet_Event",
            "eventHandlerDefinitionRef": "event-handler/05001.json"
        }
    ]
}

Wallet Protocol View v1.0

{
  "wallet-protocol": {
    "network": {
      "name": "CAN",
      "description": "Care Administration Network",
      "version": "1.0",
      "publish_date": "25-03-2021",
      "effective_date": "01-04-201",
      "protocol_version_number": "1.0"
    },
    "roles": [
      {
        "id": "01001",
        "name": "Patient",
        "description": "Patient role for the CAN",
        "type": "Wallet",
        "status": "Active",
        "version": "1.0"
      }
    ],
    "journey": [
      {
        "id": "02001",
        "name": "Appointment",
        "description": "Appointment Journey",
        "status": "Active",
        "version": "1.0",
        "start_card_ref_id": "03101"
      },
      {
        "id": "02003",
        "name": "Find Doctor",
        "description": "Find a doctor Journey for patient",
        "status": "Active",
        "version": "1.0",
        "start_card_ref_id": "03201"
      }
    ],
    "cards": [
      {
        "id": "03101",
        "name": "Request_Appointment",
        "description": "Request an appointment wallet card for the Patient ",
        "status": "Active",
        "version": "1.0",
        "card_definition_ref": "03101.json"
      },
      {
        "id": "03103",
        "name": "Find_Doctor_Request",
        "description": "Find a doctor wallet card for the Patient ",
        "status": "Active",
        "version": "1.0",
        "card_definition_ref": "03101.json"
      }
    ],
    "wallet_events": [
      {
        "id": "04101",
        "name": "Available.Doctors",
        "code": "PT.AVAILABLE.DOCTORS",
        "description": "GET available doctors from the wallet node",
        "status": "Active",
        "version": "1.0",
        "event_definition_ref": "04101.json",
        "event_handler_definition_ref": "05001.json"
      },
      {
        "id": "04103",
        "name": "Appointment_Requests",
        "code": "DC.APPOINTMENT.REQUESTS",
        "description": "Get patient appointment requests from doctor node",
        "status": "Active",
        "version": "1.0",
        "event_definition_ref": "04103.json",
        "event_handler_definition_ref": "05003.json"
      }
    ]
  }
}

Wallet event handler definition:

This wallet event handler’s definition is getting referred from the wallet protocol view.

BMI Calculate and Report Wallet Handler

{
  "walletEventHandler": [
    {
      "refId": "events-001",
      "walletEvents": [
        {
          "actions": [
            {
              "name": "submit",
              "order": 1,
              "parameter": [
                {
                  "method": "POST",
                  "url": "https://solvecare-4d0de-default-rtdb.firebaseio.com/bmi-data.json"
                }
              ]
            }
          ],
          "postAction": "HOME",
          "refId": "event-001"
        }
      ]
    },
    {
      "refId": "events-002",
      "walletEvents": [
        {
          "actions": [
            {
              "name": "getbmilogs",
              "order": 1,
              "parameter": [
                {
                  "method": "GET",
                  "url": "https://solvecare-4d0de-default-rtdb.firebaseio.com/bmi-data.json"
                }
              ]
            }
          ],
          "postAction": "card-03",
          "refId": "event-002"
        }
      ]
    },
    {
      "refId": "events-003",
      "walletEvents": [
        {
          "postAction": "card-002",
          "refId": "event-002"
        }
      ]
    }
  ]
}

Wallet Event Handler Definition v1.0

{
  "wallet_event_handler": [
    {
      "id": "04101",
      "name": "Available.Doctors",
      "description": "Wallet Event Handler for GET available doctors from the wallet node",
      "actions": [
        {
          "name": "sort",
          "order": 1
        },
        {
          "name": "upload",
          "order": 2,
          "parameter": [
            {
              "url": "https://solvecare-4d0de-default-rtdb.firebaseio.com/vitalData.json"
            }
          ]
        }
      ],
      "post_action": "03103",
      "ref_id": "event-001"
    },
    {
      "id": "04103",
      "name": "Appointment_Requests",
      "description": "Wallet Event Handler for Get patient appointment requests from doctor node",
      "actions": [
        {
          "name": "sort",
          "order": 1
        },
        {
          "name": "upload",
          "order": 2,
          "parameter": [
            {
              "url": "https://solvecare-4d0de-default-rtdb.firebaseio.com/vitalData.json"
            }
          ]
        }
      ],
      "post_action": "card-002",
      "ref_id": "04103"
    }
  ]
}

UI Card Ref Definition

BMI Journey - UI Cards Ref

BMI Calculate Card Ref

// 20210628153636
// https://solvecare-4d0de-default-rtdb.firebaseio.com/bmi.json
{
  "cardData": {
    "00f1v1": "Send",
    "00t1v1": "Date",
    "00t1v2": "Weight",
    "00t1v3": "Height"
  },
  "cardLayout": {
    "body": [
      {
        "id": "000t1",
        "name": "first tile",
        "tileComponent": [
          {
            "id": "",
            "orientation": "HORIZONTAL",
            "subView": [
              {
                "id": "${00t1v1}",
                "position": "START",
                "text_color": "default_color",
                "text_size": "header1",
                "type": "LABEL",
                "uiAction": ""
              },
              {
                "id": "${00t1v1}",
                "position": "START",
                "text_color": "default_color",
                "text_size": "header1",
                "type": "date",
                "uiAction": ""
              }
            ],
            "type": "CONTAINER",
            "uiAction": ""
          },
          {
            "capture": "weight",
            "id": "${00t1v2}",
            "isCapturable": true,
            "isValidation": true,
            "text_color": "default_color",
            "text_size": "header4",
            "tileType": "Wrap",
            "type": "TEXT",
            "uiAction": "",
            "validation": {
              "length": "3",
              "message": ""
            }
          },
          {
            "capture": "height",
            "id": "${00t1v3}",
            "isCapturable": true,
            "isValidation": true,
            "text_color": "default_color",
            "text_size": "header4",
            "tileType": "Wrap",
            "type": "TEXT",
            "uiAction": "",
            "validation": {
              "length": "3",
              "message": ""
            }
          }
        ],
        "tileType": "Wrap",
        "uiAction": ""
      }
    ],
    "footer": {
      "menu": [
        {
          "id": "${00f1v1}",
          "type": "BUTTON",
          "uiAction": "${action1}"
        }
      ],
      "orientation": "HORIZONTAL"
    }
  },
  "cardUIAction": {
    "action1": {
      "action": "event-001"
    },
    "action2": {
      "action": "event-002"
    }
  },
  "id": "00jc1",
  "name": "Calculate BMI"
}

UI_Card_Ref_Definition_v1.0

{
  "cardData": {
    "00fv1": "NEXT",
    "00fv2": "BACK",
    "00i1": "ddd",
    "00i2": "Find Doctor",
    "00sv1": "New Request",
    "00sv2": "Pending",
    "00sv3": "How are you feeling today?",
    "00sv6": "add",
    "00v3": "Tile2Value1",
    "00v4": "Anna Smith, HR cares about you",
    "00v5": "Doctor name",
    "00v6": "Status",
    "00v7": "person"
  },
  "cardLayout": {
    "body": [
      {
        "id": "00t1",
        "tileComponent": [
          {
            "id": "",
            "isCapturable": true,
            "key": "question1",
            "orientation": "HORIZONTAL",
            "subView": [
              {
                "id": "${00sv6}",
                "position": "START",
                "ratio": "1",
                "type": "IMAGE",
                "uiAction": ""
              },
              {
                "id": "${00sv1}",
                "position": "START",
                "ratio": "2",
                "text_bg": "default_color",
                "text_color": "default_color",
                "text_size": "header1",
                "type": "LABEL",
                "uiAction": ""
              }
            ],
            "type": "CONTAINER",
            "uiAction": ""
          }
        ],
        "tileType": "Wrap",
        "uiAction": "${listAction2}"
      },
      {
        "id": "00t2",
        "name": "Patient",
        "tileComponent": [
          {
            "id": "",
            "isSearchable": false,
            "subView": [
              {
                "id": "${00v7}",
                "position": "START",
                "ratio": "1",
                "type": "IMAGE",
                "uiAction": ""
              },
              {
                "bind": "name",
                "id": "${00v5}",
                "position": "START",
                "ratio": "2",
                "text_bg": "default_color",
                "text_color": "default_color",
                "text_size": "header1",
                "type": "LABEL",
                "uiAction": ""
              },
              {
                "bind": "count",
                "id": "${00v6}",
                "position": "CENTER",
                "ratio": "1",
                "text_bg": "default_color",
                "text_color": "default_color",
                "text_size": "header1",
                "type": "LABEL",
                "uiAction": ""
              }
            ],
            "type": "LIST",
            "uiAction": "${listAction1}"
          }
        ],
        "tileType": "Wrap",
        "uiAction": ""
      }
    ],
    "footer": {
      "menu": [
        {
          "id": "00fv1",
          "type": "BUTTON",
          "uiAction": "${action1}"
        },
        {
          "id": "00fv2",
          "type": "BUTTON",
          "uiAction": "${action2}"
        }
      ],
      "orientation": "HORIZONTAL"
    },
    "header": {
      "menus": [
        {
          "id": "00m1",
          "items": [
            {
              "id": "${00i2}",
              "isEnable": true,
              "menuAction": "",
              "type": "LABEL",
              "uiAction": "",
              "visible": true
            }
          ],
          "orientation": "HORIZONTAL",
          "position": "START",
          "visible": true
        }
      ]
    }
  },
  "cardUIAction": {
    "action1": {
      "action": "event-002"
    },
    "action2": {
      "action": "event-001"
    },
    "listAction1": {
      "action": "event-001"
    },
    "listAction2": {
      "action": "event-001"
    }
  },
  "id": "00c1",
  "pipe_action": "patienList"
}