Giter Club home page Giter Club logo

medplum's Introduction

Medplum

Medplum is a developer platform that enables flexible and rapid development of healthcare apps.

  • Medplum Auth - End-to-end identity solution for easy user authentication, sign-in, and permissions using OAuth, OpenID, and SMART-on-FHIR.
  • Medplum Clinical Data Repository (CDR) - Backend server that hosts your healthcare data in a secure, compliant, and standards based repository.
  • Medplum API - FHIR-based API for sending, receiving, and manipulating data.
  • Medplum SDK - Client libraries that simplify the process of interacting with the Medplum API.
  • Medplum App - Web application where you can view your data, perform basic editing tasks. You can also use the Medplum App to manage basic workflows.
  • Medplum Bots - Write and run application logic server-side without needing to set up your own server.
  • UI Component Library - React components designed to help you quickly develop custom healthcare applications.

Docs

Contributing

We heartily welcome any and all contributions that match our engineering standards!

That being said, this codebase isn't your typical open source project because it's not a library or package with a limited scope -- it's our entire product.

Ground Rules

Contributions and discussion guidelines

By making a contribution to this project, you are deemed to have accepted the Developer Certificate of Origin (DCO).

All conversations and communities on Medplum agree to GitHub's Community Guidelines and Acceptable Use Policies. This code of conduct also applies to all conversations that happen within our contributor community here on GitHub. We expect discussions in issues and pull requests to stay positive, productive, and respectful. Remember: there are real people on the other side of that screen!

Reporting a bug or discussing a feature idea

If you found a technical bug on Medplum or have ideas for features we should implement, the issue tracker is the best place to share your ideas. Make sure to follow the issue template and you should be golden! (click here to open a new issue)

Fixing a bug or implementing a new feature

If you find a bug on Medplum and open a PR that fixes it we'll review it as soon as possible to ensure it matches our engineering standards.

If you want to implement a new feature, open an issue first to discuss what it'd look like and to ensure it fits in our roadmap and plans for the app.

If you want to contribute but are unsure to start, we have a "good first issue" label which is applied to newcomer-friendly issues. Take a look at the full list of good first issues and pick something you like!

Want to fix a bug or implement an agreed-upon feature? Great, jump to the local setup instructions!

Codebase

Technologies

With the ground rules out of the way, let's talk about the coarse architecture of this mono repo:

  • Full-stack TypeScript: We use Node.js to power our servers, and React to power our frontend apps. Almost all of the code you'll touch in this codebase will be TypeScript.

Here is a list of all the big technologies we use:

  • PostgreSQL: Data storage
  • Redis: Background jobs and caching
  • Express: API server
  • TypeScript: Type-safe JavaScript
  • React: Frontend React app

Folder structure

medplum/
├── packages
│   ├── app          # Frontend web app
│   ├── bot-layer    # AWS Lambda Layer for Bots
│   ├── cdk          # AWS CDK infra as code
│   ├── cli          # Command line interface
│   ├── core         # Core shared library
│   ├── definitions  # Data definitions
│   ├── docs         # Documentation
│   ├── examples     # Example code used in documentation
│   ├── fhir-router  # FHIR URL router
│   ├── fhirtypes    # FHIR TypeScript definitions
│   ├── generator    # Code generator utilities
│   ├── graphiql     # Preconfigured GraphiQL
│   ├── mock         # Mock FHIR data for testing
│   ├── react        # React component library
│   └── server       # Backend API server
└── scripts          # Helper bash scripts

First time setup

See developer setup documentation: https://www.medplum.com/docs/contributing

License

Apache 2.0

Copyright © Medplum 2023

FHIR® is a registered trademark of HL7.

SNOMED® is a registered trademark of the International Health Terminology Standards Development Organisation.

LOINC® is a registered trademark of Regenstrief Institute, Inc.

DICOM® is the registered trademark of the National Electrical Manufacturers Association (NEMA).

medplum's People

Contributors

codyebberson avatar rahul1 avatar reshmakh avatar tonylee80 avatar jamestouri avatar mattwiller avatar dependabot[bot] avatar chrisvnicholson avatar imnotjames avatar aurambaj avatar mwieler avatar msdrigg avatar timothystiles avatar brandonin avatar aquilaafuadajo avatar bennettrogers avatar espresso avatar goncharo avatar jobayer12 avatar johnsmith415 avatar orta21 avatar kevinjyee avatar lucamd avatar natemerrill avatar phillipstallworthy avatar leite08 avatar smtheard avatar cstoltze avatar goelalex avatar saewitz avatar

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.