Skip to main content

REST

Configuration, content, structure (as of: December 2020).

In addition to standardized interfaces such as GDT and HL7, we also offer a range of REST interfaces that can be used to connect external systems.

Import of patient data#

Patients cannot be created in our software. We rely on them being transferred to us from the patient management software.

Individual patients but also complete patient lists can be created. E.g. the current waiting room or the current ward list can be transmitted to us.

Configuration#

In ControlCenter, select REST API as the import interface and provide the necessary data.

Import

Create patient#

Creating a single patient - if the patient already exists in our software, the patient data will be automatically updated with the new data. The patient identifier is the external PatientID. If cases or orders are used, the caseID or orderID must be specified.

Each patient transferred into our system through this interface is attached to the current patient list in ControlCenter's dashboard.

POST /api/v1/integration/importPatient

Request headers

Authorization - SessionID S123456789!

Standard query

The fields included in the basic query are mandatory. The patientID is the unique identifier of the patient provided by the medical information system. The practiceNumber is the same as the client ID in the ControlCenter (client).

{
"firstname": "Ivonne",
"lastname": "Schmidt",
"patientID": "1",
"birthdate": "1980-01-15",
"gender": "F",
"practiceNumber": "1",
}

Query with order information

{
"firstname": "Ivonne",
"lastname": "Schmidt",
"patientID": "1",
"birthdate": "1980-01-15",
"gender": "F",
"practiceNumber": "1",
"order": {
"orderDate": "2019-05-23T00:01:23.000Z",
"orderID": "2738993S"
"customData": "some string/json"
}
}

Query with case information

{
"firstname": "Ivonne",
"lastname": "Schmidt",
"patientID": "1",
"birthdate": "1980-01-15",
"gender": "F",
"case": {
"caseID": "2738993S"
"practiceNumber": "1",
"admissionDate": "2019-05-23T00:01:23.000Z",
"dischargeDate": "2019-05-23T00:01:23.000Z"
}
}

Create patient list#

Create a complete patient list - if a patient already exists in our software, the patient data will be automatically updated with the new data. The patient identifier is the external PatientID. If cases or orders are used, the caseID or orderID must be specified.

When a patient list is provided, the current patient list in ControlCenter's dashboard is replaced with the new list.

This interface should be used to synchronize a waiting room or ward list between the leading medical system and ControlCenter.

POST /api/v1/integration/importPatientList

Request headers

Authorization - SessionID S123456789!

Standard query

[
{
"firstname": "Ivonne",
"lastname": "Schmidt",
"patientID": "1",
"birthdate": "1980-01-15",
"gender": "F",
"practiceNumber": "1",
},
{
"firstname": "Max",
"lastname": "Mustermann",
"patientID": "2",
"birthdate": "1956-06-23",
"gender": "M",
"practiceNumber": "1",
}
]

The patient object can be extended with order or case information as shown above.

Available patient data#

This is a list of patient data that can be sent to our ControlCenter.

Mandatory fields

"patientID" = unique patient identifier
"practiceNumber" = Praxisnummer (by default 0, client)
"firstname" = first name of the patient
"lastname" = last name of the patient
"birthdate" = birthdate of the patient (yyyy-MM-dd)
"gender" = gender (F = female, M = male, U = unknown)
"caseID" = unique case identifier (only if cases are used)
"orderID" = unique case identifier (only if orders are used)

Optional fields

"title" = Title
"street" = street
"streetnr" = house number
"city" = city
"postalCode" = postal code
"email" = email
"phone" = phone number
"mobilephone" = mobile phone number
"weight" = weight of the patient (if not known, don't send the field - 0 is not allowed)
"height" = height of the patient (if not known, don't send the field - 0 is not allowed)
"wrPrio" = sorting order for patient list (if not provided, the order of the array is used)
-order workflow-
"orderDate" = the date and time the order was created
"customDate" = needs to be synchronized between AmbulApps and the external system/vendor
-case workflow-
"admissionDate" = admission date of the case
"dischargeDate" = discharge date

Document export#

In our system, the documents are created, filled in and signed on the mobile devices. The result of this process is a digitally signed PDF (PDF/a 2b) and structured data.

Both the PDF document and the data can be transferred to connected systems via the REST interface.

Configuration#

In ControlCenter, select REST API as the export interface and store the necessary data.

Export

New document#

The external system must provide a web service that can accept the following request. Each time a document is created, this service is invoked to inform the external system about the new document.

Standard query

{
"patientID": "1",
"documentID": "7886C69D-9D86-4F68-A633-89EA12A39802",
"title": "Anamnesebogen",
"signatureDate": "2019-05-23T00:01:23.000Z",
"creationDate": "2019-05-23T00:01:23.000Z",
"fileName": "4B3EC6B8-86C8-4D6E-8DF9-09D2C8D67CBF.pdf",
"documentData": "TWFuIGlzIGRpc3Rpbmd1aXNoZ..."
}

Query with order information

{
"patientID": "1",
"orderID": "2738993S",
"documentID": "7886C69D-9D86-4F68-A633-89EA12A39802",
"title": "Anamnesebogen",
"signatureDate": "2019-05-23T00:01:23.000Z",
"creationDate": "2019-05-23T00:01:23.000Z",
"fileName": "4B3EC6B8-86C8-4D6E-8DF9-09D2C8D67CBF.pdf",
"documentData": "TWFuIGlzIGRpc3Rpbmd1aXNoZ..."
}

Query with case information

{
"patientID": "1",
"caseID": "2738993S",
"documentID": "7886C69D-9D86-4F68-A633-89EA12A39802",
"title": "Anamnesebogen",
"signatureDate": "2019-05-23T00:01:23.000Z",
"creationDate": "2019-05-23T00:01:23.000Z",
"fileName": "4B3EC6B8-86C8-4D6E-8DF9-09D2C8D67CBF.pdf",
"documentData": "TWFuIGlzIGRpc3Rpbmd1aXNoZ..."
}

Update document#

Changes to documents that have already been digitally signed are not possible. Changes can only be made by creating a replica. In this case, a new document is created with the content of the previous document. The original document remains intact.

Documents that are still open (not completed) are not transferred to connected systems. These documents remain only in our system until they are signed.

Therefore, we do not provide document update paths.

Cancel document#

Digitally signed documents cannot be canceled. When an open document is cancelled in our system, it remains in our system for tracking purposes only.

Therefore, we do not offer a route to cancel documents.

Available document data#

This is a list of document data sent from our ControlCenter.

Mandatory fields

"patientID" = unique patient identifier
"documentID" = unique identifier of the document in our system
"title" = the display name of the document (should be shown in the external system)
"signatureDate" = date the document was signed
"creationDate" = date the document was created
"filename" = the filename that is used in the ControlCenter
"documentDate" = a base64 string with the PDF content