Skip to main content

Connect SiVIEW with an Electronic Medical Records application for patients

Electronic Medical Records application for patients

EMR Format (v1.2.5)

In order to be compatible with SiVIEW Exam/Ocular, you must develop an API publicly accessible that complies with the following documentation

It contains a description to start a new exam with an existing patient from an ERP/EMR and a description to receive data from SiVIEW Exam.

For a full specification please follow the below link

https://siview-api-docs.netlify.app/

The GET endpoint is invoked by SiVIEW Exam when starting a new Examination.

The POST endpoint is called by SiVIEW Exam when the examination is completed

Version History

v1.1.0 10/aug/2021 first draft
v1.2.0 06/oct/2021 update with kerato and bino acuities
v1.2.1 09/dec/2021 translation in english and nullable types
v1.2.2 23/jan/2023 Add the reporturl URL to download the PDF report from the web
v1.2.3 07/mar/2023 Amend the POST description with Exit in investigations rules
v1.2.4 22/mar/2023 Exit in investigation code (exitcode) + contact lens export
v1.2.5 08/nov/2023 Add the Red Green values => TODO

Preamble

You must implement a public accessible GET endpoint that looks like HTTPS URL such as

https://your.domain.com/siview/api

GET a list of patients who need an eye exam

In order for SiVIEW Exam to display a list of patients this endpoint shall return an [EmrData].

GET /siview/api

This endpoint can contain fixed parameters. For example 

https://your.domain.com/siview/api?shopid=12&deviceid=2

These parameters can for example, identify which tablet is calling the endpoint and returns the correct patient. Usually it is the current patient/client open file on the CRM/EMR software.

It returns a json array of patients.

  • Empty list [ ] when no patients are to be returned
  • One or more patients [ {patient1}, {patient2}, ... ]

Examples

Return one patient with a current visit and autoref measures
{
  "format": "in",
  "version": "1.2",
  "patients": [
    {
      "id": "L19700",
      "firstname": "Jacques",
      "lastname": "DESMARAIS",
      "birthday": "1966-10-23",
      "currentvisit": {
        "date": "2018-02-10T09:30Z",
        "pdfar": 62.5,
        "pdfarod": 31.5,
        "pdfaros": 31,
        "comment": "Data from EMR version x.y.z",
        "measures": [
          {
            "type": "AUTOREF",
            "sphod": 2.5,
            "cylod": -1.5,
            "axisod": 45,
            "sphos": 2,
            "cylos": -1.25,
            "axisos": 135,
            "kerato": {
              "mm1od": 8.1,
              "axis1od": 50,
              "mm2od": 7.8,
              "mm1os": 7.5,
              "axis1os": 100,
              "mm2os": 8
            }
          },
          {
            "type": "LM",
            "sphod": 2.75,
            "cylod": -1.5,
            "axisod": 45,
            "sphos": 2.25,
            "cylos": -1.25,
            "axisos": 155
          }
        ]
      }
    }
  ]
}


Return one patient with lensmeter measures
{
  "format": "in",
  "version": "1.2",
  "patients": [
    {
      "id": "1A2C",
      "firstname": "Jacques",
      "lastname": "DESMARAIS",
      "birthday": "1966-10-23",
      "currentvisit": {
        "date": "2018-02-10T09:30Z",
        "comment": "Data from EMR version x.y.z",
        "measures": [
          {
            "type": "LM",
            "sphod": 2.75,
            "cylod": -1.5,
            "axisod": 45,
            "sphos": 2.25,
            "cylos": -1.25,
            "axisos": 155
          }
        ]
      }
    }
  ]
}

 

Return an empty list
{
  "format": "in",
  "version": "1.2",
  "patients": []
}