Code Monkey home page Code Monkey logo

vetcalendar's Introduction

Vetcalendar

Description

This project was created as a school paper and it aims to research usage of HL7® FHIR® standard for exchange of medical information in veterinary domain. The result is a prototype of application for scheduling patient appointments in veterinary practice.

It contains three building blocks:

Table od content

Installation

Prerequisites

You should have installed Docker, specifically Docker Engine and Docker Compose plugin or Docker Desktop, which containts both of them.

Next you need Git for clonning this repository to your local machine or have a zip file of this repository.

Running via Docker

Clone this repository with git and navigate to directory /vetcalendar.

git clone https://github.com/vetsystem/vetCalendar.git
cd ./vetcalendar

Or alternatively extract zip package and navigate to ./vetcalendar if you have zip package available as a attachement to bachelor thesis.

From this repository run docker compose up command to install all docker containers with it'ds dependencies and run FHIR HAPI server, load initial testing data and start scheduling app.

docker compose up

First installation takes couple of minutes so be patient. After installation main scheduling application would by accesible on http://localhost:3000 and FHIR HAPI server on http://localhost:8080.

Starting individual blocks

For developing purposes you can acces each docker containers separately.

HAPI FHIR server

HAPI FHIR server is accesible from Docker Hub. It's running options as well as individual configuration could be find on it's github page. For purposes of this application the default setting is enought we just need switch FHIR version to R5, because previous versions aren't compatible with the scheduling app. For running standalone HAPI FHIR server use this command:

docker pull hapiproject/hapi:latest
docker run -p 8080:8080 -e hapi.fhir.fhir_version=R5 hapiproject/hapi:latest

After startup the server would be accessible on http:// localhost:8080 and it's web inteface could be used for managing FHIR Resurces and load custom initial data. Or we can use FHIR endpoint http://localhost:8080/fhir with REST clients as Postman.

Load initial data

Scheduling application needs to upload initial data because without them it wouldn't work correctly. We need to upload doctors and rooms (FHIR resources Practitioner and Location). This could be done via curl command or using HAPI FHIR server web interface to insert these resources. For loading initial data from this repository check that HAPI FHIR server is running and run this command from vetcalendar:

curl -X POST \
    -H "Content-Type: application/fhir+json; charset=utf-8" \
    --data @testData/VetScheduling-Overall.json \
    "http://localhost:8080/fhir"

Starting React app in developer mode

React app in development mode provides more development tools in browser extension for React and takes care of reloading pages after changes on codebase. First we need to install app with npm:

cd vet-cal
npm install

And then run the app with command:

npm run start

The app would be accesible on http://localhost:8080. All possible comands for React app could be find in vetcalendar/vet-cal/README.md.

Usage

TODO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.