Skip to main content

SATS - Configuration

SATS Access Right Configuration

To access the SATS configuration page in insight the access right should be written to the database via JSON file with help of the migration tool

Access RightRequires federated login configuration?Description
SATSConfigurationAdministrationNoAccess and change SATS administration

SATS feature flag for client

  • To view the SATS tile in the client the feature flag for SATS needed to be enabled for the resource in insight. Navigate to features page by selecting Administration ----> Features in the main menu.

SATSConfigurationFeature

  • Click Edit for the SATS feature flag and enable the feature flag for the resource. Click 'Save' button.

SATSFeatureFlagEdit

SATSFeatureFlagResource

Configure SATS version

  • Once the user has the access rights, navigate to the SATS configuration page by selecting Administration ----> SATS in the main menu. The following page will open.

SATSConfigurationPage

  1. Add Version info

  2. Select Triage method

  3. Add dataset for Prioritylist (example given later in documentation, there is implemented a data validation check to ensure the dataset entered is formatted correctly)

  4. Add License information

  5. Click Save and give a reason

  6. Click on Edit dataset link below Triage Method to add the dataset for the Triage

EditTEWSDataset

  • The configuration page will open

TEWS Dataset Editor

  1. Add the dataset for the Triage Method (example given later in documentation, there is implemented a data validation check to ensure the dataset entered is formatted correctly)
  2. Click Save and give a reason

The SATS dataset is now added and can be used in the client

Modify SATS dataset

  1. Open SATS configuration page in Insight
  2. Edit the data needed (remember to update version number)
  3. Click Save and give a reason

Once the client is resynched the updated dataset will be used in the client

JSON structure

The JSON object describing the SATS dataset has the following structure

  • Title: Not used today, but have to be filled due to validation rules.
  • Version: Not used today, but have to be filled due to validation rules.
  • Language: Not used today, but have to be filled due to validation rules.
  • SATSClinicalSignsList: List of parameters to display
    • Classification: Header to be displayed in list for Clinical Signs
    • Name: Title shown in the classification list
    • Order: Sort number for the parameter. Sorting goes from low to high.
    • SATSClinicalSigns: Table of clinicalsigns to shown for the selected classification
      • PriorityLevel: Header for the column (Red, Orange and Yellow are used)
      • PriorityType: Value to indicate if it should be shown for Adult or Children
      • Text: The text to be shown in the corresponding cell in the table
      • Order: Sort order in column
      • FootNote: Id of footnote to be indicated (if set to 0, no footnote indication shown)
  • SATSFootNotes: Object with footnotes
    • Id: Id of footnote linked to FootNote in SATSClinicalSigns table
    • Text: The text in the footnote (including styling)
    • Type: Linked to PriorityType in SATSClinicalSigns table (Adult/Children)

Valid input SATS

Below is examples of valid input for the different parts of the SATS Json object

Valid SATSClinicalSigns values

ValueDescription
RedRed priority level
OrangeOrange priority level
YellowYellow priority level
AdultPriority type for adults and children from the age of 15
ChildPriority type for children below the age of 15

The output could look like this in the client

SATS Priority List

SATS Priority List Objects

SATS Priority List Foot Note

The JSON object describing the TEWS dataset has the following structure

  • TEWSLists: List with TEWS parameters group by agegroups.
    • Title: Not used today, but have to be filled due to validationrules.
    • Version: Not used today, but have to be filled due to validationrules.
    • Language: Not used today, but have to be filled due to validationrules.
    • TEWSPriorityType: Value describing the agegroup that this grouping belongs to.
      Valid input is shown below.
    • TimestampHeader: Specifies the text to be displayed in the time selector label in TEWS registrations with this age grouping.
      Recommended value: Time
    • ParametersHeader: Specifies the text to be displayed in the header for the parameters in TEWS registrations with this age grouping.
      Recommended value: Physological parameters
    • Parameters: List of parameters to display for this age grouping
      • Id: Identification number for the parameter. Should be unique within the age grouping.
      • Title: The name of the parameter. Used for both display and storage of selected parameter values.
      • Order: Sort number for the parameter. Sorting goes from low to high.
      • Items: List of possible choices for the parameter.
        • Id: Identification number for the selection. Should be unique within the parameter.
          In the example data set we prepared, we have used the number 50 for the choice "Not registered" for all parameters.
        • Score: Indicates how many points this choice counts towards the TEWS score.
        • Text: The text to display for this selection.
        • Order: Sort number for the selection. Sorting goes from low to high.
        • Measurement: Object that describes the measurement type and value needed to automatically select this option.
          This object is optional, and should not be included if the choice is not to be automatically selected from recorded measurements.
          • Type: The measurement type to be checked for automatic selection.
            Valid values ​​are described below.
          • Limit: Object that describes the value range this measurement must have for the selection to be selected automatically.
            • LimitType: Describes whether the value range is an interval (from x to y) or a limit value (greater than/less than).
              Valid values ​​are "Limit" or "Interval".

              note

              The value in this field determines how the rest of this Limit object should look.

            • LimitValue: Number describing the limit value for the value range (can be a decimal number; use "." as the decimal point).
              Should only be included if the LimitType value is "Limit"

            • ComparisonOperator: Describes how a measurement value is to be compared with the limit value.
              Valid values ​​are described below.
              Should only be included if the LimitType value is "Limit"

            • LowerLimit: The lower limit number for this value range (can be a decimal number; use "." as the decimal point).
              Should only be included if the LimitType value is "Interval"

            • UpperLimit: The upper limit number for this value range (can be a decimal number; use "." as the decimal point).
              Should only be included if the LimitType value is "Interval"

Valid input TEWS

Below is examples of valid input for the different parts of the TEWS Json object

Valid TEWSPriorityType values

Below is an overview of valid age group values ​​in release 21.8.
In the future, the set-up of valid age groups will be more dynamic to support more localized versions of SATS - TEWS.

ValueDescription
AdultAdults and children from the age of 15
YouthYouth 13 - 14 years
Child712Children 7 - 12 years
Child46Children 4 - 6 years
Child13Children 1 - 3 years
BabyBaby 1 - 12 months
NewbornNewborn <1 month

Valid Measurement Type values

ValueDescription
RespiratoryRateRespiratory rate
SpO2WithO2SpO2 with O2
SpO2WithoutO2SpO2 without O2
PulsePulse
SystolicBloodPressureSystolic blood pressure
TemperatureTemperature

Valid ComparisonOperator values

ValueDescription
LessThanLess than (<)
LessThanOrEqualLess than or equal to (<=)
EqualEqual to (=)
GreaterThanBigger than (>)
GreaterThanOrEqualBigger than or equal to (>=)

Examples

"Complete" SATS example

{
"Title": "SATS Norge 4.0",
"Version": "4.0",
"Language": "NO",
"SATSClinicalSignsList": [
{
"Classification": "A",
"Name": "Luftveier",
"Order": 0,
"SATSClinicalSigns": [
{
"PriorityLevel": "Red",
"PriorityType": "Adult",
"Text": "**Allergisk reaksjon;** akutt, **OG** stridor/dyspnoe eller hypotensiv/tachykard",
"Order": 1,
"FootNote": 0
},
{
"PriorityLevel": "Red",
"PriorityType": "Child",
"Text": "**Allergisk reaksjon;** akutt, **OG** stridor/dyspnoe eller hypotensiv/tachykard",
"Order": 0,
"FootNote": 0
}
]
}
],
"SATSFootNotes": [
{
"Id": 1,
"Text": "<!DOCTYPE html> <html> <head> <style> html, body { width: 800px; height: auto; margin: 0; padding: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } </style> <meta charset=' UTF-8' /> <meta name=' viewport' content=' width=device-width, initial-scale=1.0' /> <title>Bliksund</title> </head> <body> <table style=' border-collapse: collapse; width: 100%; border: solid 1px black' > <tbody> <tr> <td style=' background-color: #dc3546;color: white; width: 33.3333%; vertical-align: top; padding:0em 0.5em;' > <p> <b>TRUET LUFTVEI/ASS. VENTILASJON/INTUBERT</b> og/eller <b>TUNGPUST</b> med en eller flere av følgende: </p> <ul> <li>Uttalt hvile-/taledyspnoe (kan ikke snakke)</li> <li>Cyanose</li> <li>Nedsatt bevissthet</li> <li>Surklende respirasjon og evt. skummende ekspektorat</li> <li>Svært sliten/utmattet pasient</li> <li>Liten/ingen effekt av behandling</li> </ul> </td> <td style=' background-color: #f7a74a; color: black; width: 33.3333%; vertical-align: top; padding:0em 0.5em;' > <p><b>AKUTT TUNGPUST</b></p> <ul> <li> Endring i respirasjon i løpet av minutter eller timer fra normal/kronisk tilstand </li> <li>Taledyspnoe</li> <li>Pipelyder</li> <li>Bruk av respiratorisk hjelpemuskulatur</li> </ul> </td> <td style=' background-color: #ffef75; color: black; width: 33.3333%; vertical-align: top; padding:0em 0.5em;' > <p><b>MODERAT TUNGPUST</b></p> <ul> <li>Anstrengelsesdyspnoe</li> <li> Kan snakke hele setninger, ingen bruk av respiratorisk hjelpemuskulatur </li> <li>Subjektiv følelse av tung pust</li> </ul> </td> </tr> </tbody> </table> </body> </html>",
"Type": "Adult"
},
{
"Id": 1,
"Text": "<!DOCTYPE html> <html> <head> <style> html, body { width: 800px; height: auto; margin: 0; padding: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } </style> <meta charset=' UTF-8' /> <meta name=' viewport' content=' width=device-width, initial-scale=1.0' /> <title>Bliksund</title> </head> <body> <table style=' border-collapse: collapse; width: 100%; border: solid 1px black' > <tbody> <tr> <td style=' background-color: #dc3546;color: white; width: 33.3333%; vertical-align: top; padding:0em 0.5em;' > <p> <b>TRUET LUFTVEI/ASS. VENTILASJON/INTUBERT</b> og/eller <b>TUNGPUST;</b> svært anstrengt/obstruktiv og en eller flere av:</p> <ul> <li> Apné (pustestans-episoder) i sykehistorien</li> <li> Kraftig inspiratorisk og/eller ekspiratorisk stridor</li> <li> Obstruktiv med betydelig forsert ekspirium (hvesende, langtrukket utpust)</li> <li> Kraftige inndragninger eller betydelig bruk av hjelpemuskulatur</li> <li> Sliten og utmattet, orker ikke snakke, skrike eller gjøre motstand</li> <li> Taledyspnoe</li> </ul> </td> <td style=' background-color: #ffef75; color: black; width: 33.3333%; vertical-align: top; padding:0em 0.5em;' > <p><b>TUNGPUST; LETT ANSTRENGT/OBSTRUKTIV</b></p> <ul> <li>Svak inspiratorisk stridor</li> <li> Stønnende eller obstruktiv med lett forsert ekspirium (hvesende, langtrukket utpust)</li> <li>Lette inndragninger</li> <li>God allmentilstand, gjør motstand</li> </ul> </td> </tr> </tbody> </table> </body> </html>",
"Type": "Child"
}
]
}

JSON rootobject structure TEWS

{  
"TEWSLists": []
}

Agegrouping object

{  
"Title": "TEWS, voksne og barn fra fylte 15 år",
"Version": "4.0",
"Language": "NO",
"TEWSPriorityType": "Adult",
"TimestampHeader": "Tidspunkt",
"ParametersHeader": "Fysiologiske parametere",
"Parameters": []
}

Parameter object

{
"Id": 1,
"Title": "Resp. frekv",
"Items": []
}

Choice object without possibility of automatic measurement

{
"Id": 1,
"Score": 0,
"Text": "Ja",
"Order": 0
}

Definition of automatic measurement - Limit Value

{
"Type": "RespiratoryRate",
"Limit": {
"LimitType": "Limit",
"LimitValue": 9,
"ComparisonOperator": "LessThan"
}
}

If this measurement is defined for a choice, this choice will be selected automatically if the most recent Respiration rate measurement before the TEWS time has a value less than 9. The LimitValue number can have decimals; e.g. 9.1

Definition of automatic measurement - Interval

{
"Type": "RespiratoryRate",
"Limit": {
"LimitType": "Interval",
"LowerLimit": 9,
"UpperLimit": 11
}
}

If this measurement is defined for a choice, this choice will be selected automatically if the most recent Respiration rate measurement before the TEWS time has the value 9, 10, or 11. The comparison for lower and upper limits in an interval is >= and <=.

"Complete" TEWS example

{
"TEWSLists": [
{
"Title": "TEWS, voksne og barn fra fylte 15 år",
"Version": "Eksempel v1",
"Language": "NO",
"TEWSPriorityType": "Adult",
"TimestampHeader": "Tidspunkt",
"ParametersHeader": "Fysiologiske parametere",
"Parameters": [
{
"Id": 1,
"Title": "Resp.frekv",
"Order": 0,
"Items": [
{
"Id": 1,
"Score": 2,
"Text": "<9",
"Order": 0,
"Measurement": {
"Type": "RespiratoryRate",
"Limit": {
"LimitType": "Limit",
"LimitValue": 9,
"ComparisonOperator": "LessThan"
}
}
},
{
"Id": 2,
"Score": 0,
"Text": "9-29",
"Order": 1,
"Measurement": {
"Type": "RespiratoryRate",
"Limit": {
"LimitType": "Interval",
"LowerLimit": 9,
"UpperLimit": 29
}
}
},
{
"Id": 5,
"Score": 3,
"Text": "≥30",
"Measurement": {
"Type": "RespiratoryRate",
"Limit": {
"LimitType": "Limit",
"LimitValue": 30,
"ComparisonOperator": "GreaterThanOrEqual"
}
}
}
]
},
{
"Id": 2,
"Title": "Skade",
"Order": 1,
"Items": [
{
"Id": 1,
"Score": 0,
"Text": "Nei",
"Order": 0
},
{
"Id": 3,
"Score": 1,
"Text": "Ja",
"Order": 1
},
{
"Id": 3,
"Score": 2,
"Text": "Usikkert",
"Order": 2
}
]
}
]
},
{
"Title": "TEWS, ungdom 13 - 14 år",
"Version": "Eksempel v1",
"Language": "NO",
"TEWSPriorityType": "Youth",
"TimeStampHeader": "Tidspunkt",
"ParametersHeader": "Fysiologiske parametere",
"Parameters": [
{
"Id": 1,
"Title": "Puls",
"Order": 0,
"Items": [
{
"Id": 1,
"Score": 3,
"Text": "<45",
"Order": 0,
"Measurement": {
"Type": "Pulse",
"Limit": {
"LimitType": "Limit",
"LimitValue": 45,
"ComparisonOperator": "LessThan"
}
}
},
{
"Id": 2,
"Score": 0,
"Text": "45-95",
"Order": 1,
"Measurement": {
"Type": "Pulse",
"Limit": {
"LimitType": "Interval",
"LowerLimit": 45,
"UpperLimit": 95
}
}
},
{
"Id": 3,
"Score": 2,
"Text": "≥96",
"Order": 2,
"Measurement": {
"Type": "Pulse",
"Limit": {
"LimitType": "Limit",
"LimitValue": 96,
"ComparisonOperator": "GreaterThanOrEqual"
}
}
}
]
},
{
"Id": 2,
"Title": "Skade",
"Order": 1,
"Items": [
{
"Id": 1,
"Score": 0,
"Text": "Nei",
"Order": 0
},
{
"Id": 3,
"Score": 1,
"Text": "Ja",
"Order": 1
},
{
"Id": 3,
"Score": 2,
"Text": "Usikkert",
"Order": 2
}
]
}
]
}
]
}