Este tutorial muestra una solución de muestra para recopilar, rastrear y compartir datos de oximetría de pulso para múltiples usuarios. Está construido con tecnologías sin servidor de AWS para una escalabilidad y seguridad confiables. La aplicación externa está escrita en VueJS y utiliza Amplify Framework . Las mediciones de saturación de oxígeno se realizan manualmente o utilizando un oxímetro de pulso BerryMed conectado a un navegador a través de Internet a través de Bluetooth .

, , AWS (AWS SAM). - REST API Amazon API Gateway , AWS Lambda . Python - Amazon DynamoDB . Amazon Cognito .
:
Node.js npm
BerryMed BM1000C
AWS. AWS

: . Amplify CLI Amazon Cognito - . Amazon Cognito API. , .

. , , AWS Cloud9 IDE. AWS Cloud9, , .
:
Amplify CLI, .
npm install -g @aws-amplify/cli
Amplify CLI . .
amplify configure
GitHub .
git clone https://github.com/aws-samples/aws-serverless-oxygen-monitor-web-bluetooth.git
ampify-frontend Amplify CLI. .
cd aws-serverless-oxygen-monitor-web-bluetooth/amplify-frontend amplify init
AWS Amplify CLI.
amplify push
aws_userpools_id src / aws-exports.js . .
aws_user_pools_id src / aws-exports.js
. AWS SAM CLI , AWS :
Oxygen-Monitor AWS .
aws_userpools_id UserPoolID .
Deploy () .
API endpoint ( API), .
Endpiont API
ampify-frontend / src / api-config.js . API .
const apiConfig = { “endpoint”: “<API ENDPOINT>” }; export default apiConfig;
.
cd aws-serverless-oxygen-monitor-web-bluetooth/amplify-frontend npm install npm run serve
:
, :
amplify publish
URL- .
, , .

. . , .

BerryMed , . « », . Bluetooth Chrome Android.

Bluetooth Bluetooth, "Enter Manually" ( ) .

, . , DynamoDB. , .

, , . , . .

, , .

GitHub serverless-backend / AWS SAM Lambda . API, - DynamoDB. Amazon Cognito API, ¨UserPoolID¨, :

JWT, . DynamoDB, , .

. , AddLevels, "" DynamoDB.
FetchLevels . FetchSharedUserLevels Access Table, , .

. , ManageAccess , . Access Table, . .
GetSharedUsers , . . FetchUsersWithAccess , , , .
DynamoDB AWS SAM , . - . . , DynamoDB.
LevelsTable: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: "username" AttributeType: "S" - AttributeName: "timestamp" AttributeType: "N" KeySchema: - AttributeName: username KeyType: HASH - AttributeName: timestamp KeyType: RANGE ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "5" SharedAccessTable: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: "username" AttributeType: "S" - AttributeName: "shared_user" AttributeType: "S" KeySchema: - AttributeName: username KeyType: HASH - AttributeName: shared_user KeyType: RANGE ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "5"
GitHub ampify-frontend / src / . main.js Amplify VueJS , aws-exports.js. , api-config.js.

components/OxygenMonitor.vue API API.

API Vue, .

/ConnectDevice.vue, Bluetooth Web - . UUID Bluetooth , BerryMed. Bluetooth, .

handleData . .

OxygenMonitor ConnectDevice . .

Vue .

, , Amplify Framework .
La monitorización remota de los signos vitales del paciente es más relevante que nunca. Esta guía muestra una solución de aplicación de telemedicina y salud personal. La solución completa incluye funcionalidad multiusuario y un servidor sin servidor seguro y escalable. La aplicación utiliza un navegador para interactuar con un dispositivo físico para medir la saturación de oxígeno y la frecuencia cardíaca. Publica mediciones en una base de datos utilizando una API sin servidor. Los datos históricos se pueden mostrar como un gráfico de tendencias y otros usuarios también pueden acceder a ellos.