Medtech ALEX® Implementation Guide
0.0.1 - draft International flag

Medtech ALEX® Implementation Guide - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: Medtech ALEX v1.0 Capability Statement - JSON Representation

Draft as of 2020-04-01

Raw json | Download


{
  "resourceType" : "CapabilityStatement",
  "id" : "alexV1-0",
  "text" : {
    "status" : "additional",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">Medtech ALEX platform capabilities</div>"
  },
  "url" : "https://fhir.medtechglobal.com/CapabilityStatement/alexV1-0",
  "version" : "0.0.1",
  "name" : "MedtechCapabilityStatement",
  "title" : "Capability Statement describing Medtech ALEX FHIR APIs",
  "status" : "draft",
  "date" : "2020-04-01",
  "publisher" : "Medtech Global",
  "contact" : [
    {
      "name" : "Medtech Global",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://medtechglobal.com"
        },
        {
          "system" : "email",
          "value" : "support@medtechglobal.com"
        }
      ]
    },
    {
      "name" : "Medtech Support",
      "telecom" : [
        {
          "system" : "email",
          "value" : "support@medtechglobal.com",
          "use" : "work"
        }
      ]
    }
  ],
  "description" : "This is the computable resource that describes the FHIR compliant RESTful endpoint exposed by the ALEX infrastructure\n\nNote that all API interactions will be routed to a single Practice Management System as ALEX is effectively\na facade layer in front of each PMS - ie it is not an aggregator accross different PMS systems. This means that if\nthere is data about a single patient in different PMS's then a call will be required to each one to retrieve all\nthe data (assuming the client has the permission to do so). It is the responsibility of the client to perform any aggregation and de-duplication.\n\nIt is important that clients making API calls examine the resource type of all resources returned by a query - in particular\nthe ALEX framework will add OperationOutcome resources in some calls - for example when a search returns no resources,\nALEX will add an OperationOutcome resource to the Bundle to be explicit that there were no matching resources. (All queries\nwill return a bundle - even if there were no matching resources).\n\nRefer to the spec for details on using the [API](http://hl7.org/fhir/http.html) and \n[search](http://hl7.org/fhir/search.html), though note that this API supports only a subset of the defined queries.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001",
          "display" : "World"
        }
      ]
    }
  ],
  "kind" : "instance",
  "implementation" : {
    "description" : "The ALEX endpoint",
    "url" : "https://alexapi.medtechglobal.com/FHIR"
  },
  "fhirVersion" : "4.0.1",
  "format" : [
    "json",
    "xml"
  ],
  "rest" : [
    {
      "mode" : "server",
      "resource" : [
        {
          "type" : "Patient",
          "documentation" : "The [Patient](http://hl7.org/fhir/patient.html) resource represents patient demographics.\n\n",
          "interaction" : [
            {
              "code" : "read",
              "documentation" : "Used to retrieve a Patient resource by Id."
            }
          ],
          "searchParam" : [
            {
              "name" : "name",
              "type" : "string"
            },
            {
              "name" : "family",
              "type" : "string",
              "documentation" : "Not case sensitive"
            },
            {
              "name" : "birthDate",
              "type" : "string",
              "documentation" : "Not case sensitive"
            },
            {
              "name" : "identifier",
              "type" : "token",
              "documentation" : "If the system is not supplied, then the NHI is assumed"
            }
          ],
          "operation" : [
            {
              "name" : "PatientSummary",
              "definition" : "https://fhir.medtechglobal.com/OperationDefinition/MedtechIps",
              "documentation" : "Returns the IPS document for the patient. Only supported as a parameter against patient, using the NHI\nas the query parameter - eg\n\n[host]/Patient/$summary?identifier=https://standards.digital.health.nz/ns/nhi-id|WER4568\n\nThe system value should be included, though the NHI will be assumed if it is absent.\n"
            }
          ]
        },
        {
          "type" : "Condition",
          "documentation" : "\nThe [Condition](http://hl7.org/fhir/condition.html) resource is used to represent patient problems\n",
          "interaction" : [
            {
              "code" : "read",
              "documentation" : "\nhow to do 'since'"
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/Condition?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\n\nThere is also support for a chained query on patient id with the syntax:\n[host]/Condition?patient._id = {id} where {id} is the patients id\n\n\n"
            },
            {
              "name" : "clinical-status",
              "type" : "token",
              "documentation" : "The clinical status of the Condition. Only 'active' or 'inactive' values are supported"
            },
            {
              "name" : "long-term-condition",
              "definition" : "http://hl7.org.nz/fhir/SearchParameter/long-term-condition",
              "type" : "token",
              "documentation" : "Whether the Condition has been marked by the Practitioner as a long term one. This is indicated\nin the resource as an extension."
            }
          ]
        },
        {
          "type" : "MedicationRequest",
          "documentation" : "These are the FHIR representation of prescriptions in medTech\n",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/MedicationRequest?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\n\nThere is also support for a chained query on patient id with the syntax:\n[host]/MedicationRequest?patient._id = {id} where {id} is the patients id\n"
            },
            {
              "name" : "_security",
              "type" : "token",
              "documentation" : "By default, MedicationRequest resources marked as confidential will not be retuned in a query. This parameter allows a user to specify that they want the confidential records. There are security and provacy constraints that must be met as well.\n"
            },
            {
              "name" : "status",
              "type" : "token",
              "documentation" : "By default, prescriptions that are not active will not be returned. This search parameter allows for non-active prescriptions to be returned - specifically through the :not modifier\n"
            },
            {
              "name" : "long-term-medication",
              "definition" : "http://hl7.org.nz/fhir/hpi/SearchParameter/long-term-medication",
              "type" : "token",
              "documentation" : "This is a search for MedicationRequests that have the 'long-term-medication' extension set to true. It\nis defined by a custom search parameter\n"
            }
          ]
        },
        {
          "type" : "Observation",
          "documentation" : "Observations are used in 2 main ways: as the details for lab results (such as a haemoglobin result)\nand for screening data.\n",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/Condition?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\n\nThere is also support for a chained query on patient id with the syntax:\n[host]/Observation?patient._id = {id} where {id} is the patients id\n\nA query on the Observation identifier is NOT supported"
            },
            {
              "name" : "date",
              "type" : "date",
              "documentation" : "The API also supports searching by date range - ge (Greater than or equal to)\nand le (less than or equal to)"
            }
          ]
        },
        {
          "type" : "Encounter",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/Encounter?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\n\nThere is also support for a chained query on patient id with the syntax:\n[host]/Encounter?patient._id = {id} where {id} is the patients id"
            },
            {
              "name" : "date",
              "type" : "date",
              "documentation" : "The API also supports searching by date range - ge (Greater than or equal to)\nand le (less than or equal to)"
            }
          ]
        },
        {
          "type" : "Immunization",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "token",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/Immunization?patient.identifier={system|value}\nIf the system is absent, the NHI is assumed\n\nThere is also support for a chained query on patient id with the syntax:\n[host]/Immunization?patient._id = {id} where {id} is the patients id\n"
            }
          ]
        },
        {
          "type" : "DiagnosticReport",
          "documentation" : "The search queries support the _include value of 'result' to allow the Observation resources to be returned in the same\ncall",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ],
          "searchInclude" : [
            "result"
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/DiagnosticReport?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\nThere is also support for a chained query on patient id with the syntax:\n[host]/DiagnosticReport?patient._id = {id} where {id} is the patients id"
            },
            {
              "name" : "date",
              "type" : "date",
              "documentation" : "The API also supports searching by date range - ge (Greater than or equal to)\nand le (less than or equal to)"
            }
          ]
        },
        {
          "type" : "AllergyIntolerance",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/AllergyIntolerance?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\nThere is also support for a chained query on patient id with the syntax:\n[host]/AllergyIntolerance?patient._id = {id} where {id} is the patients id"
            },
            {
              "name" : "clinical-status",
              "type" : "token",
              "documentation" : "The clinical status of the Condition. Only 'active' or 'inactive' values are supported"
            }
          ]
        },
        {
          "type" : "Schedule",
          "documentation" : "Represents a schedule of appointment slots (eg the slots for a morning session).\nThis endpoint may noyt be supported",
          "interaction" : [
            {
              "code" : "search-type"
            }
          ]
        },
        {
          "type" : "Slot",
          "documentation" : "Represents a single possible appointment slot that is available for booking.\n",
          "interaction" : [
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "schedule",
              "type" : "reference",
              "documentation" : "Used to allow the practitioner to be specified in the query using a chained request:\n\n[host]/Slot?schedule.practitioner.identifer = {}"
            },
            {
              "name" : "start",
              "type" : "token",
              "documentation" : "Allows the user to specify the date for which available slots are to be returned. A range can be\nspecified using the greater than / less than modifiers"
            },
            {
              "name" : "status",
              "type" : "token",
              "documentation" : "Allows the user to specify the status of the slot to be specified in the query. Generally this will \nbe set to 'free' to return only available slots."
            }
          ]
        },
        {
          "type" : "Appointment",
          "documentation" : "Represents an appointment for a Patient with a Practitioner.",
          "interaction" : [
            {
              "code" : "search-type",
              "documentation" : "Allows appointments to be queried. Note that the are security / privacy constraints that will\ngovern which appointments can be returned to which client."
            },
            {
              "code" : "create",
              "documentation" : "Allows a new appointment to be created. The server may choose not to allow the Appointment to be\nmade - for example if the slot is no longer available."
            },
            {
              "code" : "delete",
              "documentation" : "Allows an existing appointment to be removed. The Appointment id must be known, so a client will generally\nneed to search for appointments for a patient to get the id before deleting.\n\nThere will be security mechanisms to ensure that deletion is controlled."
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/Appointment?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\nThere is also support for a chained query on patient id with the syntax:\n[host]/Appointment?patient._id = {id} where {id} is the patients id"
            },
            {
              "name" : "date",
              "type" : "date",
              "documentation" : "Return all appointments over a date range (using ge / le modifiers). The patient must also be included."
            }
          ]
        },
        {
          "type" : "DocumentReference",
          "documentation" : "Used to represent clinical notes and external documents such as Discharge Summaries. For a clincial note, the note will be \nin the content.attachment.data element. For external files the url will be a reference to a Binary endpoint from where the\ndocument can be retrieved.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "patient",
              "type" : "reference",
              "documentation" : "The API supports a chained query on the patient identifier (NHI) \nThis has the syntax:\n[host]/DocumentReference?patient.identifier={system|value}\n\nIf the system is absent, the NHI is assumed\n\nThere is also support for a chained query on patient id with the syntax:\n[host]/Appointment?patient._id = {id} where {id} is the patients id"
            },
            {
              "name" : "_security",
              "type" : "token",
              "documentation" : "By default, DocumentReference resources marked as confidential will not be retuned in a query. This parameter allows a user to specify that they want the confidential records. There are security and privacy constraints that must be met as well.\n"
            }
          ]
        },
        {
          "type" : "Binary",
          "documentation" : "Used to return documents such as PDF files. Generally in response to a url contained in a DocumentReference\nthat refers to a discharge summary or other external document.",
          "interaction" : [
            {
              "code" : "read"
            }
          ]
        },
        {
          "type" : "Practitioner",
          "supportedProfile" : [
            "http://hl7.org.nz/healthalliance/medTechPractitioner"
          ],
          "documentation" : "Practitioner query\n",
          "interaction" : [
            {
              "code" : "read",
              "documentation" : "Used to retrieve a Practitioner resource by Id."
            },
            {
              "code" : "search-type"
            }
          ],
          "searchParam" : [
            {
              "name" : "name",
              "type" : "string",
              "documentation" : "Not case sensitive"
            },
            {
              "name" : "identifier",
              "type" : "token",
              "documentation" : "Will only return active identifiers"
            },
            {
              "name" : "family",
              "type" : "string"
            }
          ]
        }
      ]
    }
  ]
}