-
-
Notifications
You must be signed in to change notification settings - Fork 340
OpenAPI
OpenAPI: HospitalRun/hospitalrun#15
Isomorphic: HospitalRun/hospitalrun#12
Server: HospitalRun/hospitalrun#13
Frontend: HospitalRun/hospitalrun#14
Adding a single source of truth(SSOT) for all projects in the HospitalRun Ecosystem. Code generated SOLID Isomorphic interface.
S/I All objects in the database should be represented as some form of base interface
O Any modifications to a required interfaces is considered a breaking change. Must implement the core interface they are interacting with.
L All objects are documents, they should contain the metadata required to coerce types.
D Document
and Device
are the core abstraction. A document
is a record and a device
contains them. Example substitution: A device can be an API, Frontend, or CouchDB Instance
OpenAPI Spec: ./spec
- Defines routes, models and services.
Core/Isomorphic: ./packages/core Template: ./templates/inversify
- Generated cross platform model/service library with additional pouchdb plugins and helpers.
Helpful Plugins: crypto-pouch & pouch-box.
Server: ./packages/server Template: ./templates/fastify
- If the API receives a database request it should proxy pass to CouchDB rewrites using OpenAPI Extensions for codgen control.
Helpful Projects: hl7-db & fastify-reply-from
Frontend: ./packages/frontend Template:
- Application Shell Generation. Use core routes and services to inject a
Store
from aCoreService
into a generatedPage|Tab
state
.
https://docs.couchdb.org/en/2.1.2/ddocs/ddocs.html https://docs.couchdb.org/en/stable/api/ddoc/rewrites.html
https://swagger.io/docs/specification/openapi-extensions/
-
Operations: http://hl7.org/fhir/operationslist.html
-
OperationDefinition: http://hl7.org/fhir/operationdefinition.html
-
DataTypes: http://hl7.org/fhir/datatypes.html
-
CompatabilityStatement: http://hl7.org/fhir/capabilitystatement.html