Merge branch 'dev' into feat/encounter
This commit is contained in:
+3
-2
@@ -27,8 +27,9 @@ go.work.sum
|
|||||||
# env file
|
# env file
|
||||||
.env
|
.env
|
||||||
config.yml
|
config.yml
|
||||||
cmd/migration/atlas.hcl
|
**/atlas.hcl
|
||||||
|
!**/atlas.hcl.example
|
||||||
|
|
||||||
# Editor/IDE
|
# Editor/IDE
|
||||||
# .idea/
|
.idea/
|
||||||
.vscode/*
|
.vscode/*
|
||||||
|
|||||||
Vendored
+7
@@ -7,6 +7,13 @@
|
|||||||
"mode": "auto",
|
"mode": "auto",
|
||||||
"program": "${workspaceFolder}/cmd/main-api"
|
"program": "${workspaceFolder}/cmd/main-api"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Launch Package bpjs API",
|
||||||
|
"type": "go",
|
||||||
|
"request": "launch",
|
||||||
|
"mode": "auto",
|
||||||
|
"program": "${workspaceFolder}/cmd/bpjs-api"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Launch Package migratioon",
|
"name": "Launch Package migratioon",
|
||||||
"type": "go",
|
"type": "go",
|
||||||
|
|||||||
+38
-1
@@ -1 +1,38 @@
|
|||||||
# APP DESIGN CONVENTION
|
# APP DESIGN CONVENTION
|
||||||
|
|
||||||
|
## Implementing Clean Architecture (later called CA) in the layout
|
||||||
|
1. The CA can be implemented simply by using directory structures to represent the layers
|
||||||
|
2. The CA directories will be inside the "internal" directory due to its nature that the codes inside it is basically intended for the business model
|
||||||
|
3. The CA will have the following directories:
|
||||||
|
1. `domain`, with sub-directories:
|
||||||
|
1. `references`, for common type, const, variabel
|
||||||
|
2. `main-entities`, for the main models
|
||||||
|
3. `bpjs-entities`, for the bpjs models. Good to know that this was intitially added but later being stripped for its busines model. This still can be unstriped later.
|
||||||
|
4. `satusehat-entities`, for the satusehat models
|
||||||
|
5. ...
|
||||||
|
2. `application`, with sub-directories:
|
||||||
|
1. `helpers`, some general helper
|
||||||
|
2. `main-cases`, for the main flows
|
||||||
|
3. `bpjs-cases`, the expansion flows for the bpjs
|
||||||
|
4. `satusehat-cases`, the expansion flows for the satusehat
|
||||||
|
5. ...
|
||||||
|
3. `interface`, with sub-directories:
|
||||||
|
1. `main-handler`
|
||||||
|
2. `jkn-handler`
|
||||||
|
3. `main-migration`
|
||||||
|
4. `satusehat-migration`
|
||||||
|
5. ....
|
||||||
|
4. `infra` has no specific-grouping directories, instead, it will have several directories related to each purpose directly like:
|
||||||
|
1. `jkn`, to connect with jkn service
|
||||||
|
2. `satusehat`, to connect with satusehat service and satusehat local db
|
||||||
|
3. `minio`, to connect with minio service
|
||||||
|
4. ....
|
||||||
|
4. Several used libraries might have their own infra-purposed feature which will be outside the infra directory.
|
||||||
|
|
||||||
|
## ERD to Entity
|
||||||
|
All of the MainERD, SSERD, and ExtRefERD will be the entities in the implementation. There will be at least 2 databases: main and satusehat. bpjs is still in the consideration.
|
||||||
|
|
||||||
|
## Middlewared Use-Case
|
||||||
|
1. To make the applcation have more dynamic flows, each use-case can implement the midlewared model
|
||||||
|
2. The idea is to make its basic process of use case clean, adding more flows can be done outside it
|
||||||
|
3. This method relatively makes the code easier to maintain in the future
|
||||||
|
|||||||
@@ -1,2 +1,55 @@
|
|||||||
# SIMRS-VX
|
# RSSA SIMRS-VX BACKEND
|
||||||
|
Or in english Hospital Information Management System (HIMS), is a system that
|
||||||
|
manages the information of the hospitals and the patients.
|
||||||
|
|
||||||
|
## Stacks
|
||||||
|
- Language : Golang<br />
|
||||||
|
Link: https://go.dev
|
||||||
|
- Framework : No Framework<br />
|
||||||
|
Why? Go (Golang) applications often do not require full-fledged frameworks
|
||||||
|
due to several key aspects of the language and its ecosystem:
|
||||||
|
- Comprehensive Standard Library: Go's standard library is exceptionally
|
||||||
|
robust and provides much of the functionality that would typically be found
|
||||||
|
in frameworks in other languages.
|
||||||
|
- Simplicity and Explicit Design: Go emphasizes simplicity and clarity.
|
||||||
|
Frameworks often introduce a degree of "magic" or hidden complexity
|
||||||
|
through inversion of control, where the framework dictates the
|
||||||
|
application's flow
|
||||||
|
- Modular Libraries: Instead of a single, all-encompassing framework, the Go
|
||||||
|
community favors small, modular libraries that perform specific tasks well.
|
||||||
|
- Performance and Efficiency: Go is designed for performance and efficiency.
|
||||||
|
Frameworks can sometimes introduce performance overhead due to their layers
|
||||||
|
of abstraction.
|
||||||
|
|
||||||
|
So? No framewok is the best framework.
|
||||||
|
- Database : PostgreSQL<br />
|
||||||
|
Link: https://www.postgresql.org
|
||||||
|
- Cache : Redis<br />
|
||||||
|
Link: https://redis.io
|
||||||
|
- File Server : Minio<br />
|
||||||
|
Link: https://www.min.io
|
||||||
|
|
||||||
|
## Libraries
|
||||||
|
- Routing Helper: Apem<br />
|
||||||
|
Link: https://github.com/karincake/apem
|
||||||
|
- ORM: GORM<br />
|
||||||
|
Link: https://gorm.io
|
||||||
|
- Database Migration: Atlas<br />
|
||||||
|
Link: https://atlasgo.io/guides/orms/gorm/program
|
||||||
|
|
||||||
|
## Others
|
||||||
|
- Project Layout: Golang Standards Project Layout<br />
|
||||||
|
Link: https://github.com/golang-standards/project-layout
|
||||||
|
- Architecture: Clean Architecture<br />
|
||||||
|
Link: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
- Main api:
|
||||||
|
- go to the ./cmd/main-api
|
||||||
|
- run `go run .` to run in debug mode
|
||||||
|
- run `go build` to build the binary
|
||||||
|
- Main migration:
|
||||||
|
- go to the ./cmd/main-migration
|
||||||
|
- run `go run .` to run in debug mode
|
||||||
|
- run `go build` to build the binary
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
"auth-login-unverified": "login failed, account is not verified",
|
"auth-login-unverified": "login failed, account is not verified",
|
||||||
"auth-logout-success": "logout success",
|
"auth-logout-success": "logout success",
|
||||||
"auth-reject-suspend": "restricted for suspended account",
|
"auth-reject-suspend": "restricted for suspended account",
|
||||||
|
"auth-getData-failed": "failed to get user data",
|
||||||
|
|
||||||
"balance-exceeded": "must not exceeds balance",
|
"balance-exceeded": "must not exceeds balance",
|
||||||
|
|
||||||
@@ -26,6 +27,7 @@
|
|||||||
"data-notFound": "data or resource can not be found",
|
"data-notFound": "data or resource can not be found",
|
||||||
"data-notFound-condition": "\"%v\" with %v \"%v\" can not be found",
|
"data-notFound-condition": "\"%v\" with %v \"%v\" can not be found",
|
||||||
"data-get-fail": "get data failed, %v",
|
"data-get-fail": "get data failed, %v",
|
||||||
|
"data-get-invalid-relation": "database get failed, invalid relation",
|
||||||
"data-update-fail": "failed to update data",
|
"data-update-fail": "failed to update data",
|
||||||
"data-delete-success": "data has been deleted",
|
"data-delete-success": "data has been deleted",
|
||||||
"data-delete-fail": "failed to delete data",
|
"data-delete-fail": "failed to delete data",
|
||||||
@@ -39,6 +41,7 @@
|
|||||||
"data-state-mismatch": "\"%v\" is not in \"%v\" state",
|
"data-state-mismatch": "\"%v\" is not in \"%v\" state",
|
||||||
"data-duplicate": "duplicate data",
|
"data-duplicate": "duplicate data",
|
||||||
"data-payment-fail": "failed to create payment",
|
"data-payment-fail": "failed to create payment",
|
||||||
|
"data-handled-mismatch": "data handled by different user/person",
|
||||||
|
|
||||||
"expired": "is expired",
|
"expired": "is expired",
|
||||||
"registered": "is already registered",
|
"registered": "is already registered",
|
||||||
|
|||||||
@@ -15,6 +15,20 @@ dbCfg:
|
|||||||
maxIdleConns: 5
|
maxIdleConns: 5
|
||||||
maxIdleTime: 100
|
maxIdleTime: 100
|
||||||
|
|
||||||
|
multiDbCfg:
|
||||||
|
- dbs :
|
||||||
|
name:
|
||||||
|
dsn:
|
||||||
|
maxOpenConns:
|
||||||
|
maxIdleConns:
|
||||||
|
maxIdleTime:
|
||||||
|
- bpjs
|
||||||
|
name: bpjs
|
||||||
|
dsn:
|
||||||
|
maxOpenConns:
|
||||||
|
maxIdleConns:
|
||||||
|
maxIdleTime:
|
||||||
|
|
||||||
loggerCfg:
|
loggerCfg:
|
||||||
hideTime:
|
hideTime:
|
||||||
hideLevel:
|
hideLevel:
|
||||||
@@ -41,7 +55,15 @@ corsCfg:
|
|||||||
allowedMethod:
|
allowedMethod:
|
||||||
|
|
||||||
satuSehatCfg:
|
satuSehatCfg:
|
||||||
host: localhsot:8200
|
host: localhost:8200
|
||||||
|
|
||||||
bpjsCfg:
|
bpjsCfg:
|
||||||
host: localhsot:8200
|
host: localhost:8200
|
||||||
|
|
||||||
|
corsCfg:
|
||||||
|
allowedOrigins:
|
||||||
|
- http://example.com
|
||||||
|
allowedMethod:
|
||||||
|
|
||||||
|
bpjsCfg:
|
||||||
|
baseUrl:
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
a "github.com/karincake/apem"
|
||||||
|
d "github.com/karincake/apem/db-gorm-pg"
|
||||||
|
l "github.com/karincake/apem/logger-zerolog"
|
||||||
|
m "github.com/karincake/apem/ms-redis"
|
||||||
|
|
||||||
|
h "simrs-vx/internal/interface/bpjs-handler"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
a.Run(h.SetRoutes(), &l.O, &m.O, &d.O)
|
||||||
|
}
|
||||||
@@ -15,11 +15,19 @@ dbCfg:
|
|||||||
maxIdleConns: 5
|
maxIdleConns: 5
|
||||||
maxIdleTime: 100
|
maxIdleTime: 100
|
||||||
|
|
||||||
ssDbCfg:
|
multiDbCfg:
|
||||||
dsn:
|
- dbs :
|
||||||
maxOpenConns: 5
|
name:
|
||||||
maxIdleConns: 5
|
dsn:
|
||||||
maxIdleTime: 100
|
maxOpenConns:
|
||||||
|
maxIdleConns:
|
||||||
|
maxIdleTime:
|
||||||
|
- bpjs
|
||||||
|
name: bpjs
|
||||||
|
dsn:
|
||||||
|
maxOpenConns:
|
||||||
|
maxIdleConns:
|
||||||
|
maxIdleTime:
|
||||||
|
|
||||||
loggerCfg:
|
loggerCfg:
|
||||||
hideTime:
|
hideTime:
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Makefile for Atlas migrations
|
||||||
|
|
||||||
|
# Default environment
|
||||||
|
ENV ?= gorm
|
||||||
|
|
||||||
|
.PHONY: diff apply hash
|
||||||
|
|
||||||
|
## Generate a new migration diff
|
||||||
|
diff:
|
||||||
|
atlas migrate diff --env $(ENV)
|
||||||
|
|
||||||
|
## Apply migrations to the database
|
||||||
|
apply:
|
||||||
|
atlas migrate apply --env $(ENV)
|
||||||
|
|
||||||
|
## Calculate the schema hash
|
||||||
|
hash:
|
||||||
|
atlas migrate hash
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# Database Migration with Atlas
|
||||||
|
|
||||||
|
This project uses [Atlas](https://atlasgo.io/) for database schema management and migrations.
|
||||||
|
|
||||||
|
## 📋 Prerequisites
|
||||||
|
|
||||||
|
1. **Download and Install Atlas CLI**
|
||||||
|
Run the following command in PowerShell or Git Bash:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSf https://atlasgo.sh | sh
|
||||||
|
```
|
||||||
|
Verify installation:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
atlas version
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Install GORM Provider
|
||||||
|
Run inside your Go project:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go get -u ariga.io/atlas-provider-gorm
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Create atlas.hcl configuration file
|
||||||
|
Just create an atlas.hcl file in your project root as example given at atlas.hcl.example
|
||||||
|
4. Create migrations folder
|
||||||
|
```sh
|
||||||
|
mkdir migrations
|
||||||
|
```
|
||||||
|
5. Usage
|
||||||
|
You can use the provided Makefile for common commands:
|
||||||
|
|
||||||
|
Generate a migration diff
|
||||||
|
```sh
|
||||||
|
make diff
|
||||||
|
```
|
||||||
|
|
||||||
|
Apply migrations
|
||||||
|
```sh
|
||||||
|
make apply
|
||||||
|
```
|
||||||
|
|
||||||
|
Compute schema hash
|
||||||
|
```sh
|
||||||
|
make hash
|
||||||
|
```
|
||||||
|
|
||||||
|
If you don’t have make installed, you can run the Atlas commands directly:
|
||||||
|
```sh
|
||||||
|
atlas migrate diff --env gorm
|
||||||
|
```
|
||||||
|
```sh
|
||||||
|
atlas migrate apply --env gorm
|
||||||
|
```
|
||||||
|
```sh
|
||||||
|
atlas migrate hash
|
||||||
|
```
|
||||||
@@ -5,5 +5,5 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
m.Migrate()
|
m.Migrate(m.Main)
|
||||||
}
|
}
|
||||||
+271
-110
@@ -10,6 +10,29 @@ CREATE TABLE "public"."DiagnoseSrc" (
|
|||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "uni_DiagnoseSrc_Code" UNIQUE ("Code")
|
CONSTRAINT "uni_DiagnoseSrc_Code" UNIQUE ("Code")
|
||||||
);
|
);
|
||||||
|
-- Create "PharmacyCompany" table
|
||||||
|
CREATE TABLE "public"."PharmacyCompany" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NULL,
|
||||||
|
"Name" character varying(100) NULL,
|
||||||
|
"Regency_Code" character varying(4) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_PharmacyCompany_Code" UNIQUE ("Code")
|
||||||
|
);
|
||||||
|
-- Create "Uom" table
|
||||||
|
CREATE TABLE "public"."Uom" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(10) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Uom_Code" UNIQUE ("Code")
|
||||||
|
);
|
||||||
-- Create "Counter" table
|
-- Create "Counter" table
|
||||||
CREATE TABLE "public"."Counter" (
|
CREATE TABLE "public"."Counter" (
|
||||||
"Id" serial NOT NULL,
|
"Id" serial NOT NULL,
|
||||||
@@ -25,68 +48,6 @@ CREATE TABLE "public"."Counter" (
|
|||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "uni_Counter_Code" UNIQUE ("Code")
|
CONSTRAINT "uni_Counter_Code" UNIQUE ("Code")
|
||||||
);
|
);
|
||||||
-- Create "McuSrcCategory" table
|
|
||||||
CREATE TABLE "public"."McuSrcCategory" (
|
|
||||||
"Id" serial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Code" character varying(20) NULL,
|
|
||||||
"Name" character varying(50) NULL,
|
|
||||||
"Scope_Code" character varying(10) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "uni_McuSrcCategory_Code" UNIQUE ("Code")
|
|
||||||
);
|
|
||||||
-- Create "McuSrc" table
|
|
||||||
CREATE TABLE "public"."McuSrc" (
|
|
||||||
"Id" serial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Code" character varying(20) NULL,
|
|
||||||
"Name" character varying(50) NULL,
|
|
||||||
"CheckupCategory_Code" character varying(20) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "uni_McuSrc_Code" UNIQUE ("Code")
|
|
||||||
);
|
|
||||||
-- Create "Uom" table
|
|
||||||
CREATE TABLE "public"."Uom" (
|
|
||||||
"Id" serial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Code" character varying(10) NULL,
|
|
||||||
"Name" character varying(50) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "uni_Uom_Code" UNIQUE ("Code")
|
|
||||||
);
|
|
||||||
-- Create "PharmacyCompany" table
|
|
||||||
CREATE TABLE "public"."PharmacyCompany" (
|
|
||||||
"Id" bigserial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Code" character varying(20) NULL,
|
|
||||||
"Name" character varying(100) NULL,
|
|
||||||
"Regency_Code" character varying(4) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "uni_PharmacyCompany_Code" UNIQUE ("Code")
|
|
||||||
);
|
|
||||||
-- Create "User" table
|
|
||||||
CREATE TABLE "public"."User" (
|
|
||||||
"Id" bigserial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Name" character varying(25) NOT NULL,
|
|
||||||
"Password" character varying(255) NOT NULL,
|
|
||||||
"Status_Code" character varying(10) NOT NULL,
|
|
||||||
"FailedLoginCount" smallint NULL,
|
|
||||||
"LoginAttemptCount" bigint NULL,
|
|
||||||
"LastSuccessLogin" timestamptz NULL,
|
|
||||||
"LastAllowdLogin" timestamptz NULL,
|
|
||||||
PRIMARY KEY ("Id")
|
|
||||||
);
|
|
||||||
-- Create "Item" table
|
-- Create "Item" table
|
||||||
CREATE TABLE "public"."Item" (
|
CREATE TABLE "public"."Item" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" bigserial NOT NULL,
|
||||||
@@ -112,7 +73,7 @@ CREATE TABLE "public"."Infra" (
|
|||||||
"Code" character varying(10) NULL,
|
"Code" character varying(10) NULL,
|
||||||
"Name" character varying(50) NULL,
|
"Name" character varying(50) NULL,
|
||||||
"InfraGroup_Code" character varying(10) NULL,
|
"InfraGroup_Code" character varying(10) NULL,
|
||||||
"Parent_Id" smallint NULL,
|
"Parent_Id" integer NULL,
|
||||||
"Item_Id" bigint NULL,
|
"Item_Id" bigint NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "uni_Infra_Code" UNIQUE ("Code"),
|
CONSTRAINT "uni_Infra_Code" UNIQUE ("Code"),
|
||||||
@@ -125,7 +86,7 @@ CREATE TABLE "public"."Device" (
|
|||||||
"UpdatedAt" timestamptz NULL,
|
"UpdatedAt" timestamptz NULL,
|
||||||
"DeletedAt" timestamptz NULL,
|
"DeletedAt" timestamptz NULL,
|
||||||
"Code" character varying(10) NULL,
|
"Code" character varying(10) NULL,
|
||||||
"Name" character varying(50) NULL,
|
"Name" character varying(50) NOT NULL,
|
||||||
"Uom_Code" character varying(10) NULL,
|
"Uom_Code" character varying(10) NULL,
|
||||||
"Infra_Id" integer NULL,
|
"Infra_Id" integer NULL,
|
||||||
"Item_Id" bigint NULL,
|
"Item_Id" bigint NULL,
|
||||||
@@ -188,6 +149,73 @@ CREATE TABLE "public"."DivisionPosition" (
|
|||||||
CONSTRAINT "uni_DivisionPosition_Code" UNIQUE ("Code"),
|
CONSTRAINT "uni_DivisionPosition_Code" UNIQUE ("Code"),
|
||||||
CONSTRAINT "fk_DivisionPosition_Division" FOREIGN KEY ("Division_Id") REFERENCES "public"."Division" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_DivisionPosition_Division" FOREIGN KEY ("Division_Id") REFERENCES "public"."Division" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
|
-- Create "Ethnic" table
|
||||||
|
CREATE TABLE "public"."Ethnic" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Ethnic_Code" UNIQUE ("Code")
|
||||||
|
);
|
||||||
|
-- Create "Language" table
|
||||||
|
CREATE TABLE "public"."Language" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(10) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Language_Code" UNIQUE ("Code")
|
||||||
|
);
|
||||||
|
-- Create "Person" table
|
||||||
|
CREATE TABLE "public"."Person" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Name" character varying(150) NOT NULL,
|
||||||
|
"FrontTitle" character varying(50) NULL,
|
||||||
|
"EndTitle" character varying(50) NULL,
|
||||||
|
"BirthDate" timestamptz NULL,
|
||||||
|
"BirthRegency_Code" character varying(4) NULL,
|
||||||
|
"Gender_Code" character varying(10) NULL,
|
||||||
|
"ResidentIdentityNumber" character varying(16) NULL,
|
||||||
|
"PassportNumber" character varying(20) NULL,
|
||||||
|
"DrivingLicenseNumber" character varying(20) NULL,
|
||||||
|
"Religion_Code" character varying(10) NULL,
|
||||||
|
"Education_Code" character varying(10) NULL,
|
||||||
|
"Ocupation_Code" character varying(15) NULL,
|
||||||
|
"Ocupation_Name" character varying(50) NULL,
|
||||||
|
"Ethnic_Code" character varying(20) NULL,
|
||||||
|
"Language_Code" character varying(10) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Person_DrivingLicenseNumber" UNIQUE ("DrivingLicenseNumber"),
|
||||||
|
CONSTRAINT "uni_Person_PassportNumber" UNIQUE ("PassportNumber"),
|
||||||
|
CONSTRAINT "uni_Person_ResidentIdentityNumber" UNIQUE ("ResidentIdentityNumber"),
|
||||||
|
CONSTRAINT "fk_Person_Ethnic" FOREIGN KEY ("Ethnic_Code") REFERENCES "public"."Ethnic" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Person_Language" FOREIGN KEY ("Language_Code") REFERENCES "public"."Language" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "User" table
|
||||||
|
CREATE TABLE "public"."User" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Name" character varying(25) NOT NULL,
|
||||||
|
"Password" character varying(255) NOT NULL,
|
||||||
|
"Status_Code" character varying(10) NOT NULL,
|
||||||
|
"FailedLoginCount" smallint NULL,
|
||||||
|
"Position_Code" character varying(20) NOT NULL,
|
||||||
|
"LoginAttemptCount" bigint NULL,
|
||||||
|
"LastSuccessLogin" timestamptz NULL,
|
||||||
|
"LastAllowdLogin" timestamptz NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_User_Name" UNIQUE ("Name")
|
||||||
|
);
|
||||||
-- Create "Employee" table
|
-- Create "Employee" table
|
||||||
CREATE TABLE "public"."Employee" (
|
CREATE TABLE "public"."Employee" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" bigserial NOT NULL,
|
||||||
@@ -196,12 +224,13 @@ CREATE TABLE "public"."Employee" (
|
|||||||
"DeletedAt" timestamptz NULL,
|
"DeletedAt" timestamptz NULL,
|
||||||
"User_Id" bigint NULL,
|
"User_Id" bigint NULL,
|
||||||
"Person_Id" bigint NULL,
|
"Person_Id" bigint NULL,
|
||||||
"Position_Code" character varying(20) NOT NULL,
|
|
||||||
"Division_Code" character varying(10) NULL,
|
"Division_Code" character varying(10) NULL,
|
||||||
"Number" character varying(20) NULL,
|
"Number" character varying(20) NULL,
|
||||||
"Status_Code" character varying(10) NOT NULL,
|
"Status_Code" character varying(10) NOT NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "fk_Employee_Division" FOREIGN KEY ("Division_Code") REFERENCES "public"."Division" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Employee_Division" FOREIGN KEY ("Division_Code") REFERENCES "public"."Division" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Employee_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Employee_User" FOREIGN KEY ("User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
-- Create "Installation" table
|
-- Create "Installation" table
|
||||||
CREATE TABLE "public"."Installation" (
|
CREATE TABLE "public"."Installation" (
|
||||||
@@ -224,10 +253,37 @@ CREATE TABLE "public"."Unit" (
|
|||||||
"Installation_Id" integer NULL,
|
"Installation_Id" integer NULL,
|
||||||
"Code" character varying(10) NULL,
|
"Code" character varying(10) NULL,
|
||||||
"Name" character varying(50) NULL,
|
"Name" character varying(50) NULL,
|
||||||
|
"Type_Code" text NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "uni_Unit_Code" UNIQUE ("Code"),
|
CONSTRAINT "uni_Unit_Code" UNIQUE ("Code"),
|
||||||
CONSTRAINT "fk_Unit_Installation" FOREIGN KEY ("Installation_Id") REFERENCES "public"."Installation" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Unit_Installation" FOREIGN KEY ("Installation_Id") REFERENCES "public"."Installation" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
|
-- Create "Specialist" table
|
||||||
|
CREATE TABLE "public"."Specialist" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(10) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
"Unit_Id" integer NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Specialist_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "fk_Specialist_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Subspecialist" table
|
||||||
|
CREATE TABLE "public"."Subspecialist" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(10) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
"Specialist_Id" integer NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Subspecialist_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "fk_Subspecialist_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
-- Create "Doctor" table
|
-- Create "Doctor" table
|
||||||
CREATE TABLE "public"."Doctor" (
|
CREATE TABLE "public"."Doctor" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" bigserial NOT NULL,
|
||||||
@@ -237,9 +293,13 @@ CREATE TABLE "public"."Doctor" (
|
|||||||
"Employee_Id" bigint NULL,
|
"Employee_Id" bigint NULL,
|
||||||
"IHS_Number" character varying(20) NULL,
|
"IHS_Number" character varying(20) NULL,
|
||||||
"SIP_Number" character varying(20) NULL,
|
"SIP_Number" character varying(20) NULL,
|
||||||
"Unit_Id" bigint NULL,
|
"Unit_Id" integer NULL,
|
||||||
|
"Specialist_Id" integer NULL,
|
||||||
|
"Subspecialist_Id" integer NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "fk_Doctor_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
CONSTRAINT "fk_Doctor_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Doctor_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Doctor_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
CONSTRAINT "fk_Doctor_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Doctor_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
-- Create "DoctorFee" table
|
-- Create "DoctorFee" table
|
||||||
@@ -256,6 +316,45 @@ CREATE TABLE "public"."DoctorFee" (
|
|||||||
CONSTRAINT "fk_DoctorFee_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
CONSTRAINT "fk_DoctorFee_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
CONSTRAINT "fk_DoctorFee_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_DoctorFee_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
|
-- Create "Patient" table
|
||||||
|
CREATE TABLE "public"."Patient" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Person_Id" bigint NULL,
|
||||||
|
"RegisteredAt" timestamptz NULL,
|
||||||
|
"Status_Code" character varying(10) NOT NULL,
|
||||||
|
"Number" character varying(15) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Patient_Number" UNIQUE ("Number"),
|
||||||
|
CONSTRAINT "fk_Patient_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Encounter" table
|
||||||
|
CREATE TABLE "public"."Encounter" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Patient_Id" bigint NULL,
|
||||||
|
"RegisteredAt" timestamptz NULL,
|
||||||
|
"Class_Code" character varying(10) NOT NULL,
|
||||||
|
"Unit_Id" bigint NULL,
|
||||||
|
"Specialist_Id" integer NULL,
|
||||||
|
"Subspecialist_Id" integer NULL,
|
||||||
|
"VisitDate" timestamptz NULL,
|
||||||
|
"Assignment_Doctor_Id" bigint NULL,
|
||||||
|
"Responsible_Doctor_Id" bigint NULL,
|
||||||
|
"DischardeMethod_Code" character varying(10) NULL,
|
||||||
|
"RefSource_Name" character varying(100) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Encounter_Assignment_Doctor" FOREIGN KEY ("Assignment_Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Encounter_Patient" FOREIGN KEY ("Patient_Id") REFERENCES "public"."Patient" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Encounter_Responsible_Doctor" FOREIGN KEY ("Responsible_Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Encounter_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Encounter_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Encounter_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
-- Create "InsuranceCompany" table
|
-- Create "InsuranceCompany" table
|
||||||
CREATE TABLE "public"."InsuranceCompany" (
|
CREATE TABLE "public"."InsuranceCompany" (
|
||||||
"Id" serial NOT NULL,
|
"Id" serial NOT NULL,
|
||||||
@@ -284,6 +383,17 @@ CREATE TABLE "public"."ItemPrice" (
|
|||||||
CONSTRAINT "fk_ItemPrice_InsuranceCompany" FOREIGN KEY ("InsuranceCompany_Code") REFERENCES "public"."InsuranceCompany" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
CONSTRAINT "fk_ItemPrice_InsuranceCompany" FOREIGN KEY ("InsuranceCompany_Code") REFERENCES "public"."InsuranceCompany" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
CONSTRAINT "fk_ItemPrice_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_ItemPrice_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
|
-- Create "Laborant" table
|
||||||
|
CREATE TABLE "public"."Laborant" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Employee_Id" bigint NULL,
|
||||||
|
"IHS_Number" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Laborant_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
-- Create "Material" table
|
-- Create "Material" table
|
||||||
CREATE TABLE "public"."Material" (
|
CREATE TABLE "public"."Material" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" bigserial NOT NULL,
|
||||||
@@ -302,6 +412,31 @@ CREATE TABLE "public"."Material" (
|
|||||||
CONSTRAINT "fk_Material_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
CONSTRAINT "fk_Material_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
CONSTRAINT "fk_Material_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Material_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
|
-- Create "McuSrcCategory" table
|
||||||
|
CREATE TABLE "public"."McuSrcCategory" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
"Scope_Code" character varying(10) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_McuSrcCategory_Code" UNIQUE ("Code")
|
||||||
|
);
|
||||||
|
-- Create "McuSrc" table
|
||||||
|
CREATE TABLE "public"."McuSrc" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
"CheckupCategory_Code" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_McuSrc_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "fk_McuSrc_CheckupCategory" FOREIGN KEY ("CheckupCategory_Code") REFERENCES "public"."McuSrcCategory" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
-- Create "MedicalActionSrc" table
|
-- Create "MedicalActionSrc" table
|
||||||
CREATE TABLE "public"."MedicalActionSrc" (
|
CREATE TABLE "public"."MedicalActionSrc" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" bigserial NOT NULL,
|
||||||
@@ -347,8 +482,8 @@ CREATE TABLE "public"."MedicineGroup" (
|
|||||||
"CreatedAt" timestamptz NULL,
|
"CreatedAt" timestamptz NULL,
|
||||||
"UpdatedAt" timestamptz NULL,
|
"UpdatedAt" timestamptz NULL,
|
||||||
"DeletedAt" timestamptz NULL,
|
"DeletedAt" timestamptz NULL,
|
||||||
"Code" character varying(50) NULL,
|
"Code" character varying(10) NULL,
|
||||||
"Name" character varying(100) NULL,
|
"Name" character varying(50) NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "uni_MedicineGroup_Code" UNIQUE ("Code")
|
CONSTRAINT "uni_MedicineGroup_Code" UNIQUE ("Code")
|
||||||
);
|
);
|
||||||
@@ -358,8 +493,8 @@ CREATE TABLE "public"."MedicineMethod" (
|
|||||||
"CreatedAt" timestamptz NULL,
|
"CreatedAt" timestamptz NULL,
|
||||||
"UpdatedAt" timestamptz NULL,
|
"UpdatedAt" timestamptz NULL,
|
||||||
"DeletedAt" timestamptz NULL,
|
"DeletedAt" timestamptz NULL,
|
||||||
"Code" character varying(50) NULL,
|
"Code" character varying(10) NULL,
|
||||||
"Name" character varying(100) NULL,
|
"Name" character varying(50) NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "uni_MedicineMethod_Code" UNIQUE ("Code")
|
CONSTRAINT "uni_MedicineMethod_Code" UNIQUE ("Code")
|
||||||
);
|
);
|
||||||
@@ -416,8 +551,12 @@ CREATE TABLE "public"."Nurse" (
|
|||||||
"DeletedAt" timestamptz NULL,
|
"DeletedAt" timestamptz NULL,
|
||||||
"Employee_Id" bigint NULL,
|
"Employee_Id" bigint NULL,
|
||||||
"IHS_Number" character varying(20) NULL,
|
"IHS_Number" character varying(20) NULL,
|
||||||
|
"Unit_Id" integer NULL,
|
||||||
|
"Infra_Id" integer NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "fk_Nurse_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Nurse_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Nurse_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Nurse_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
-- Create "Nutritionist" table
|
-- Create "Nutritionist" table
|
||||||
CREATE TABLE "public"."Nutritionist" (
|
CREATE TABLE "public"."Nutritionist" (
|
||||||
@@ -430,36 +569,6 @@ CREATE TABLE "public"."Nutritionist" (
|
|||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "fk_Nutritionist_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Nutritionist_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
-- Create "Ethnic" table
|
|
||||||
CREATE TABLE "public"."Ethnic" (
|
|
||||||
"Id" serial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Code" character varying(20) NULL,
|
|
||||||
"Name" character varying(50) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "uni_Ethnic_Code" UNIQUE ("Code")
|
|
||||||
);
|
|
||||||
-- Create "Person" table
|
|
||||||
CREATE TABLE "public"."Person" (
|
|
||||||
"Id" bigserial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Name" character varying(150) NOT NULL,
|
|
||||||
"BirthDate" timestamptz NULL,
|
|
||||||
"BirthRegency_Code" character varying(4) NULL,
|
|
||||||
"Gender_Code" character varying(10) NULL,
|
|
||||||
"ResidentIdentityNumber" character varying(16) NULL,
|
|
||||||
"Religion_Code" character varying(10) NULL,
|
|
||||||
"Education_Code" character varying(10) NULL,
|
|
||||||
"Ocupation_Code" character varying(15) NULL,
|
|
||||||
"Ocupation_Name" character varying(50) NULL,
|
|
||||||
"Ethnic_Code" character varying(20) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "fk_Person_Ethnic" FOREIGN KEY ("Ethnic_Code") REFERENCES "public"."Ethnic" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
|
||||||
);
|
|
||||||
-- Create "PersonAddress" table
|
-- Create "PersonAddress" table
|
||||||
CREATE TABLE "public"."PersonAddress" (
|
CREATE TABLE "public"."PersonAddress" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" bigserial NOT NULL,
|
||||||
@@ -486,6 +595,36 @@ CREATE TABLE "public"."PersonContact" (
|
|||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "fk_Person_Contacts" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Person_Contacts" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
|
-- Create "Village" table
|
||||||
|
CREATE TABLE "public"."Village" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"District_Code" character varying(6) NULL,
|
||||||
|
"Code" character varying(10) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Village_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "fk_District_Villages" FOREIGN KEY ("District_Code") REFERENCES "public"."District" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "PersonRelative" table
|
||||||
|
CREATE TABLE "public"."PersonRelative" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Person_Id" bigint NULL,
|
||||||
|
"Relationship_Code" character varying(100) NOT NULL,
|
||||||
|
"Name" character varying(100) NULL,
|
||||||
|
"Address" character varying(100) NULL,
|
||||||
|
"Village_Code" character varying(10) NULL,
|
||||||
|
"Gender_Code" character varying(10) NULL,
|
||||||
|
"PhoneNumber" character varying(30) NULL,
|
||||||
|
"Education_Code" character varying(10) NULL,
|
||||||
|
"Occupation_Code" character varying(10) NULL,
|
||||||
|
"Occupation_Name" character varying(50) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_PersonRelative_Village" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Person_Relatives" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
-- Create "Pharmacist" table
|
-- Create "Pharmacist" table
|
||||||
CREATE TABLE "public"."Pharmacist" (
|
CREATE TABLE "public"."Pharmacist" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" bigserial NOT NULL,
|
||||||
@@ -512,13 +651,35 @@ CREATE TABLE "public"."PracticeSchedule" (
|
|||||||
CONSTRAINT "fk_PracticeSchedule_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
CONSTRAINT "fk_PracticeSchedule_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
CONSTRAINT "fk_PracticeSchedule_Unit" FOREIGN KEY ("Unit_Code") REFERENCES "public"."Unit" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_PracticeSchedule_Unit" FOREIGN KEY ("Unit_Code") REFERENCES "public"."Unit" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
-- Create "Village" table
|
-- Create "Room" table
|
||||||
CREATE TABLE "public"."Village" (
|
CREATE TABLE "public"."Room" (
|
||||||
"Id" bigserial NOT NULL,
|
"Id" serial NOT NULL,
|
||||||
"District_Code" character varying(6) NULL,
|
"CreatedAt" timestamptz NULL,
|
||||||
"Code" character varying(10) NULL,
|
"UpdatedAt" timestamptz NULL,
|
||||||
"Name" character varying(50) NULL,
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Infra_Id" integer NULL,
|
||||||
|
"Unit_Id" integer NULL,
|
||||||
|
"Specialist_Id" integer NULL,
|
||||||
|
"Subspecialist_Id" integer NULL,
|
||||||
PRIMARY KEY ("Id"),
|
PRIMARY KEY ("Id"),
|
||||||
CONSTRAINT "uni_Village_Code" UNIQUE ("Code"),
|
CONSTRAINT "fk_Room_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
CONSTRAINT "fk_District_Villages" FOREIGN KEY ("District_Code") REFERENCES "public"."District" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
CONSTRAINT "fk_Room_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Room_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Room_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "SpecialistIntern" table
|
||||||
|
CREATE TABLE "public"."SpecialistIntern" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Person_Id" bigint NULL,
|
||||||
|
"Specialist_Id" integer NULL,
|
||||||
|
"Subspecialist_Id" integer NULL,
|
||||||
|
"User_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_SpecialistIntern_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_SpecialistIntern_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_SpecialistIntern_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_SpecialistIntern_User" FOREIGN KEY ("User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
);
|
);
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
-- Modify "Doctor" table
|
||||||
|
ALTER TABLE "public"."Doctor" ADD CONSTRAINT "uni_Doctor_IHS_Number" UNIQUE ("IHS_Number"), ADD CONSTRAINT "uni_Doctor_SIP_Number" UNIQUE ("SIP_Number");
|
||||||
|
-- Modify "Laborant" table
|
||||||
|
ALTER TABLE "public"."Laborant" ADD CONSTRAINT "uni_Laborant_IHS_Number" UNIQUE ("IHS_Number");
|
||||||
|
-- Modify "Nurse" table
|
||||||
|
ALTER TABLE "public"."Nurse" ADD CONSTRAINT "uni_Nurse_IHS_Number" UNIQUE ("IHS_Number");
|
||||||
|
-- Modify "Nutritionist" table
|
||||||
|
ALTER TABLE "public"."Nutritionist" ADD CONSTRAINT "uni_Nutritionist_IHS_Number" UNIQUE ("IHS_Number");
|
||||||
|
-- Modify "Pharmacist" table
|
||||||
|
ALTER TABLE "public"."Pharmacist" ADD CONSTRAINT "uni_Pharmacist_IHS_Number" UNIQUE ("IHS_Number");
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
-- Create "Appointment" table
|
||||||
|
CREATE TABLE "public"."Appointment" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"PracticeSchedule_Id" bigint NULL,
|
||||||
|
"Patient_Id" bigint NULL,
|
||||||
|
"Person_ResidentIdentityNumber" character varying(16) NULL,
|
||||||
|
"Person_Name" character varying(100) NULL,
|
||||||
|
"Person_PhoneNumber" character varying(30) NULL,
|
||||||
|
"PaymentMethod_Code" character varying(10) NULL,
|
||||||
|
"RefNumber" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Appointment_Patient" FOREIGN KEY ("Patient_Id") REFERENCES "public"."Patient" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Appointment_PracticeSchedule" FOREIGN KEY ("PracticeSchedule_Id") REFERENCES "public"."PracticeSchedule" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" ADD COLUMN "Appointment_Doctor_Id" bigint NULL, ADD COLUMN "Appointment_Id" bigint NULL, ADD COLUMN "EarlyEducation" text NULL, ADD COLUMN "MedicalDischargeEducation" text NULL, ADD COLUMN "AdmDischargeEducation" text NULL, ADD COLUMN "DischargeReason" text NULL, ADD CONSTRAINT "fk_Encounter_Appointment" FOREIGN KEY ("Appointment_Id") REFERENCES "public"."Appointment" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, ADD CONSTRAINT "fk_Encounter_Appointment_Doctor" FOREIGN KEY ("Appointment_Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Create "Adime" table
|
||||||
|
CREATE TABLE "public"."Adime" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Employee_Id" bigint NULL,
|
||||||
|
"Time" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Adime_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Adime_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Ambulatory" table
|
||||||
|
CREATE TABLE "public"."Ambulatory" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Class_Code" character varying(10) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Ambulatory_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Emergency" table
|
||||||
|
CREATE TABLE "public"."Emergency" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Class_Code" character varying(10) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Emergency_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Inpatient" table
|
||||||
|
CREATE TABLE "public"."Inpatient" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Class_Code" character varying(10) NULL,
|
||||||
|
"Infra_Id" integer NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Inpatient_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Inpatient_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Sbar" table
|
||||||
|
CREATE TABLE "public"."Sbar" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Employee_Id" bigint NULL,
|
||||||
|
"Time" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Sbar_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Sbar_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Soapi" table
|
||||||
|
CREATE TABLE "public"."Soapi" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Employee_Id" bigint NULL,
|
||||||
|
"Time" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Soapi_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Soapi_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" DROP COLUMN "Assignment_Doctor_Id";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" ADD COLUMN "DischargeMethod_Code" character varying(10) NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" DROP COLUMN "DischardeMethod_Code";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" ADD COLUMN "Status_Code" character varying(10) NULL;
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
-- Create "DeviceOrder" table
|
||||||
|
CREATE TABLE "public"."DeviceOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_DeviceOrder_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "DeviceOrderItem" table
|
||||||
|
CREATE TABLE "public"."DeviceOrderItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"DeviceOrder_Id" bigint NULL,
|
||||||
|
"Device_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_DeviceOrderItem_Device" FOREIGN KEY ("Device_Id") REFERENCES "public"."Device" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_DeviceOrderItem_DeviceOrder" FOREIGN KEY ("DeviceOrder_Id") REFERENCES "public"."DeviceOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "MaterialOrder" table
|
||||||
|
CREATE TABLE "public"."MaterialOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_MaterialOrder_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "MaterialOrderItem" table
|
||||||
|
CREATE TABLE "public"."MaterialOrderItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"MaterialOrder_Id" bigint NULL,
|
||||||
|
"Material_Id" bigint NULL,
|
||||||
|
"Count" integer NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_MaterialOrderItem_Material" FOREIGN KEY ("Material_Id") REFERENCES "public"."Material" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_MaterialOrderItem_MaterialOrder" FOREIGN KEY ("MaterialOrder_Id") REFERENCES "public"."MaterialOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "McuOrder" table
|
||||||
|
CREATE TABLE "public"."McuOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Status_Code" character varying(10) NOT NULL,
|
||||||
|
"Doctor_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_McuOrder_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_McuOrder_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "McuOrderItem" table
|
||||||
|
CREATE TABLE "public"."McuOrderItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"McuOrder_Id" bigint NULL,
|
||||||
|
"McuSrc_Id" bigint NULL,
|
||||||
|
"Result" text NULL,
|
||||||
|
"Status_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_McuOrderItem_McuOrder" FOREIGN KEY ("McuOrder_Id") REFERENCES "public"."McuOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_McuOrderItem_McuSrc" FOREIGN KEY ("McuSrc_Id") REFERENCES "public"."McuSrc" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Medication" table
|
||||||
|
CREATE TABLE "public"."Medication" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"IssuedAt" timestamptz NULL,
|
||||||
|
"Pharmacist_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Medication_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Medication_Pharmacist" FOREIGN KEY ("Pharmacist_Id") REFERENCES "public"."Pharmacist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "MedicationItem" table
|
||||||
|
CREATE TABLE "public"."MedicationItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Medication_Id" bigint NULL,
|
||||||
|
"IsMix" boolean NULL,
|
||||||
|
"Medicine_Id" bigint NULL,
|
||||||
|
"MedicineMix_Id" bigint NULL,
|
||||||
|
"Usage" smallint NULL,
|
||||||
|
"Interval" smallint NULL,
|
||||||
|
"IntervalUnit_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_MedicationItem_Medication" FOREIGN KEY ("Medication_Id") REFERENCES "public"."Medication" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_MedicationItem_Medicine" FOREIGN KEY ("Medicine_Id") REFERENCES "public"."Medicine" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_MedicationItem_MedicineMix" FOREIGN KEY ("MedicineMix_Id") REFERENCES "public"."MedicineMix" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "MedicationItemDist" table
|
||||||
|
CREATE TABLE "public"."MedicationItemDist" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"MedicationItem_Id" bigint NULL,
|
||||||
|
"DateTime" timestamptz NULL,
|
||||||
|
"Remain" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_MedicationItemDist_MedicationItem" FOREIGN KEY ("MedicationItem_Id") REFERENCES "public"."MedicationItem" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Prescription" table
|
||||||
|
CREATE TABLE "public"."Prescription" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Doctor_Id" bigint NULL,
|
||||||
|
"IssuedAt" timestamptz NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Prescription_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Prescription_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "PrescriptionItem" table
|
||||||
|
CREATE TABLE "public"."PrescriptionItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Prescription_Id" bigint NULL,
|
||||||
|
"IsMix" boolean NULL,
|
||||||
|
"Medicine_Id" bigint NULL,
|
||||||
|
"MedicineMix_Id" bigint NULL,
|
||||||
|
"Usage" smallint NULL,
|
||||||
|
"Interval" smallint NULL,
|
||||||
|
"IntervalUnit_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_PrescriptionItem_Medicine" FOREIGN KEY ("Medicine_Id") REFERENCES "public"."Medicine" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_PrescriptionItem_MedicineMix" FOREIGN KEY ("MedicineMix_Id") REFERENCES "public"."MedicineMix" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_PrescriptionItem_Prescription" FOREIGN KEY ("Prescription_Id") REFERENCES "public"."Prescription" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
-- Modify "DeviceOrder" table
|
||||||
|
ALTER TABLE "public"."DeviceOrder" ADD COLUMN "Status_Code" text NULL;
|
||||||
|
-- Modify "DeviceOrderItem" table
|
||||||
|
ALTER TABLE "public"."DeviceOrderItem" ADD COLUMN "Count" smallint NULL;
|
||||||
|
-- Modify "MaterialOrder" table
|
||||||
|
ALTER TABLE "public"."MaterialOrder" ADD COLUMN "Status_Code" text NULL;
|
||||||
|
-- Modify "Medication" table
|
||||||
|
ALTER TABLE "public"."Medication" ADD COLUMN "Status_Code" text NULL;
|
||||||
|
-- Modify "MedicationItem" table
|
||||||
|
ALTER TABLE "public"."MedicationItem" ALTER COLUMN "Usage" TYPE numeric, ADD COLUMN "IsRedeemed" boolean NULL;
|
||||||
|
-- Modify "PrescriptionItem" table
|
||||||
|
ALTER TABLE "public"."PrescriptionItem" ALTER COLUMN "Usage" TYPE numeric;
|
||||||
|
-- Modify "MedicationItemDist" table
|
||||||
|
ALTER TABLE "public"."MedicationItemDist" ALTER COLUMN "Remain" TYPE numeric, ADD COLUMN "Nurse_Id" bigint NULL, ADD CONSTRAINT "fk_MedicationItemDist_Nurse" FOREIGN KEY ("Nurse_Id") REFERENCES "public"."Nurse" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
-- Modify "MedicationItem" table
|
||||||
|
ALTER TABLE "public"."MedicationItem" ADD COLUMN "Quantity" numeric NULL;
|
||||||
|
-- Modify "MedicineMix" table
|
||||||
|
ALTER TABLE "public"."MedicineMix" ADD COLUMN "Note" text NULL;
|
||||||
|
-- Modify "Prescription" table
|
||||||
|
ALTER TABLE "public"."Prescription" ADD COLUMN "Status_Code" text NULL;
|
||||||
|
-- Modify "PrescriptionItem" table
|
||||||
|
ALTER TABLE "public"."PrescriptionItem" ADD COLUMN "Quantity" numeric NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "MedicationItem" table
|
||||||
|
ALTER TABLE "public"."MedicationItem" ADD COLUMN "Note" character varying(1024) NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "MedicineMixItem" table
|
||||||
|
ALTER TABLE "public"."MedicineMixItem" DROP CONSTRAINT "fk_MedicineMixItem_MedicineMix", ADD CONSTRAINT "fk_MedicineMix_MixItems" FOREIGN KEY ("MedicineMix_Id") REFERENCES "public"."MedicineMix" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
-- Modify "MedicineMix" table
|
||||||
|
ALTER TABLE "public"."MedicineMix" DROP COLUMN "Note";
|
||||||
|
-- Modify "MedicineMixItem" table
|
||||||
|
ALTER TABLE "public"."MedicineMixItem" ADD COLUMN "Note" text NULL;
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
-- Modify "McuOrder" table
|
||||||
|
ALTER TABLE "public"."McuOrder" ADD COLUMN "SpecimenPickTime" timestamptz NULL, ADD COLUMN "ExaminationDate" timestamptz NULL, ADD COLUMN "Number" smallint NULL, ADD COLUMN "Temperature" numeric NULL, ADD COLUMN "McuUrgencyLevel_Code" character varying(10) NOT NULL;
|
||||||
|
-- Modify "McuOrderItem" table
|
||||||
|
ALTER TABLE "public"."McuOrderItem" ADD COLUMN "ExaminationDate" timestamptz NULL;
|
||||||
|
-- Create index "idx_order_src" to table: "McuOrderItem"
|
||||||
|
CREATE UNIQUE INDEX "idx_order_src" ON "public"."McuOrderItem" ("McuOrder_Id", "McuSrc_Id");
|
||||||
|
-- Modify "PersonRelative" table
|
||||||
|
ALTER TABLE "public"."PersonRelative" ADD COLUMN "Responsible" boolean NULL;
|
||||||
|
-- Modify "McuSrc" table
|
||||||
|
ALTER TABLE "public"."McuSrc" ALTER COLUMN "Id" TYPE bigint, ADD COLUMN "Item_Id" bigint NULL, ADD CONSTRAINT "fk_McuSrc_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
-- Create "McuSubSrc" table
|
||||||
|
CREATE TABLE "public"."McuSubSrc" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
"McuSrc_Id" bigint NULL,
|
||||||
|
"Item_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_McuSubSrc_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "fk_McuSubSrc_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_McuSubSrc_McuSrc" FOREIGN KEY ("McuSrc_Id") REFERENCES "public"."McuSrc" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "McuOrderSubItem" table
|
||||||
|
CREATE TABLE "public"."McuOrderSubItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"McuSubSrc_Id" bigint NULL,
|
||||||
|
"McuOrderItem_Id" bigint NULL,
|
||||||
|
"Result" text NULL,
|
||||||
|
"Status_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_McuOrderSubItem_McuOrderItem" FOREIGN KEY ("McuOrderItem_Id") REFERENCES "public"."McuOrderItem" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_McuOrderSubItem_McuSubSrc" FOREIGN KEY ("McuSubSrc_Id") REFERENCES "public"."McuSubSrc" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create index "idx_order_sub_src" to table: "McuOrderSubItem"
|
||||||
|
CREATE UNIQUE INDEX "idx_order_sub_src" ON "public"."McuOrderSubItem" ("McuSubSrc_Id", "McuOrderItem_Id");
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "McuOrder" table
|
||||||
|
ALTER TABLE "public"."McuOrder" ALTER COLUMN "McuUrgencyLevel_Code" TYPE character varying(15);
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
-- Create "Consultation" table
|
||||||
|
CREATE TABLE "public"."Consultation" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Case" character varying(2048) NULL,
|
||||||
|
"Solution" character varying(2048) NULL,
|
||||||
|
"Unit_Id" bigint NULL,
|
||||||
|
"Doctor_Id" bigint NULL,
|
||||||
|
"RepliedAt" timestamptz NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Consultation_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Consultation_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Consultation_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Person" table
|
||||||
|
ALTER TABLE "public"."Person" ADD COLUMN "ResidentIdentityFileUrl" character varying(1024) NULL, ADD COLUMN "PassportFileUrl" character varying(1024) NULL, ADD COLUMN "DrivingLicenseFileUrl" character varying(1024) NULL, ADD COLUMN "FamilyIdentityFileUrl" character varying(1024) NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Soapi" table
|
||||||
|
ALTER TABLE "public"."Soapi" ADD COLUMN "TypeCode" text NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Soapi" table
|
||||||
|
ALTER TABLE "public"."Soapi" ALTER COLUMN "TypeCode" TYPE character varying(11);
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Modify "MedicationItem" table
|
||||||
|
ALTER TABLE "public"."MedicationItem" ALTER COLUMN "Usage" TYPE character varying(255), ADD COLUMN "Frequency" integer NULL, ADD COLUMN "Dose" numeric NULL;
|
||||||
|
-- Modify "PrescriptionItem" table
|
||||||
|
ALTER TABLE "public"."PrescriptionItem" ALTER COLUMN "Usage" TYPE character varying(255), ADD COLUMN "Frequency" integer NULL, ADD COLUMN "Dose" numeric NULL;
|
||||||
|
-- Modify "MedicineMix" table
|
||||||
|
ALTER TABLE "public"."MedicineMix" ADD COLUMN "Uom_Code" character varying(10) NULL, ADD CONSTRAINT "fk_MedicineMix_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
-- Rename a column from "CheckupCategory_Code" to "McuSrcCategory_Code"
|
||||||
|
ALTER TABLE "public"."McuSrc" RENAME COLUMN "CheckupCategory_Code" TO "McuSrcCategory_Code";
|
||||||
|
-- Modify "McuSrc" table
|
||||||
|
ALTER TABLE "public"."McuSrc" DROP CONSTRAINT "fk_McuSrc_CheckupCategory", ADD CONSTRAINT "fk_McuSrc_McuSrcCategory" FOREIGN KEY ("McuSrcCategory_Code") REFERENCES "public"."McuSrcCategory" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Division" table
|
||||||
|
ALTER TABLE "public"."Division" ALTER COLUMN "Parent_Id" TYPE integer, ADD CONSTRAINT "fk_Division_Childrens" FOREIGN KEY ("Parent_Id") REFERENCES "public"."Division" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Modify "Infra" table
|
||||||
|
ALTER TABLE "public"."Infra" ADD CONSTRAINT "fk_Infra_Childrens" FOREIGN KEY ("Parent_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Modify "DeviceOrder" table
|
||||||
|
ALTER TABLE "public"."DeviceOrder" ADD COLUMN "Doctor_Id" bigint NULL, ADD CONSTRAINT "fk_DeviceOrder_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Modify "MaterialOrder" table
|
||||||
|
ALTER TABLE "public"."MaterialOrder" ADD COLUMN "Doctor_Id" bigint NULL, ADD CONSTRAINT "fk_MaterialOrder_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
-- Modify "Person" table
|
||||||
|
ALTER TABLE "public"."Person" ADD COLUMN "Nationality" text NULL;
|
||||||
|
-- Create "Chemo" table
|
||||||
|
CREATE TABLE "public"."Chemo" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Status_Code" text NULL,
|
||||||
|
"VerifiedAt" timestamptz NULL,
|
||||||
|
"VerifiedBy_User_Id" bigint NULL,
|
||||||
|
"SrcUnit_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Chemo_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Chemo_SrcUnit" FOREIGN KEY ("SrcUnit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Chemo_VerifiedBy" FOREIGN KEY ("VerifiedBy_User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Rename a column from "Unit_Id" to "DstUnit_Id"
|
||||||
|
ALTER TABLE "public"."Consultation" RENAME COLUMN "Unit_Id" TO "DstUnit_Id";
|
||||||
|
-- Rename a column from "Doctor_Id" to "DstDoctor_Id"
|
||||||
|
ALTER TABLE "public"."Consultation" RENAME COLUMN "Doctor_Id" TO "DstDoctor_Id";
|
||||||
|
-- Modify "Consultation" table
|
||||||
|
ALTER TABLE "public"."Consultation" DROP CONSTRAINT "fk_Consultation_Doctor", DROP CONSTRAINT "fk_Consultation_Unit", DROP COLUMN "Case", ALTER COLUMN "Solution" TYPE character varying(10240), ADD COLUMN "Date" timestamptz NULL, ADD COLUMN "Problem" character varying(10240) NULL, ADD CONSTRAINT "fk_Consultation_DstDoctor" FOREIGN KEY ("DstDoctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, ADD CONSTRAINT "fk_Consultation_DstUnit" FOREIGN KEY ("DstUnit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "DivisionPosition" table
|
||||||
|
ALTER TABLE "public"."DivisionPosition" ADD COLUMN "Employee_Id" bigint NULL, ADD CONSTRAINT "fk_DivisionPosition_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Person" table
|
||||||
|
ALTER TABLE "public"."Person" ADD COLUMN "CommunicationIssueStatus" boolean NULL, ADD COLUMN "Disabillity" character varying(100) NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Rename a column from "Disabillity" to "Disability"
|
||||||
|
ALTER TABLE "public"."Person" RENAME COLUMN "Disabillity" TO "Disability";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Patient" table
|
||||||
|
ALTER TABLE "public"."Patient" ADD COLUMN "NewBornStatus" boolean NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "PersonAddress" table
|
||||||
|
ALTER TABLE "public"."PersonAddress" ADD COLUMN "PostalCode" character varying(6) NULL;
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
-- Create "Midwife" table
|
||||||
|
CREATE TABLE "public"."Midwife" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Employee_Id" bigint NULL,
|
||||||
|
"IHS_Number" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_Midwife_IHS_Number" UNIQUE ("IHS_Number"),
|
||||||
|
CONSTRAINT "fk_Midwife_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "DivisionPosition" table
|
||||||
|
ALTER TABLE "public"."DivisionPosition" ADD COLUMN "HeadStatus" boolean NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Infra" table
|
||||||
|
ALTER TABLE "public"."Infra" ALTER COLUMN "InfraGroup_Code" TYPE character varying(15);
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
-- Create "PostalCode" table
|
||||||
|
CREATE TABLE "public"."PostalCode" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"Code" character varying(5) NULL,
|
||||||
|
"Village_Code" character varying(10) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_PostalCode_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "fk_Village_PostalCodes" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
-- Modify "Regency" table
|
||||||
|
ALTER TABLE "public"."Regency" DROP CONSTRAINT "fk_Province_Regencies", ALTER COLUMN "Id" TYPE bigint, ADD CONSTRAINT "fk_Regency_Province" FOREIGN KEY ("Province_Code") REFERENCES "public"."Province" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Modify "District" table
|
||||||
|
ALTER TABLE "public"."District" DROP CONSTRAINT "fk_Regency_Districts", ADD CONSTRAINT "fk_District_Regency" FOREIGN KEY ("Regency_Code") REFERENCES "public"."Regency" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Modify "Village" table
|
||||||
|
ALTER TABLE "public"."Village" DROP CONSTRAINT "fk_District_Villages", ADD CONSTRAINT "fk_Village_District" FOREIGN KEY ("District_Code") REFERENCES "public"."District" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Modify "PostalCode" table
|
||||||
|
ALTER TABLE "public"."PostalCode" DROP CONSTRAINT "fk_Village_PostalCodes", ADD CONSTRAINT "fk_PostalCode_Village" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Modify "Person" table
|
||||||
|
ALTER TABLE "public"."Person" ADD CONSTRAINT "fk_Person_BirthRegency" FOREIGN KEY ("BirthRegency_Code") REFERENCES "public"."Regency" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Rename a column from "PostalCode" to "PostalCode_Code"
|
||||||
|
ALTER TABLE "public"."PersonAddress" RENAME COLUMN "PostalCode" TO "PostalCode_Code";
|
||||||
|
-- Modify "PersonAddress" table
|
||||||
|
ALTER TABLE "public"."PersonAddress" ADD CONSTRAINT "fk_PersonAddress_PostalCode" FOREIGN KEY ("PostalCode_Code") REFERENCES "public"."PostalCode" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
-- Create "PostalRegion" table
|
||||||
|
CREATE TABLE "public"."PostalRegion" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"Village_Code" character varying(10) NULL,
|
||||||
|
"Code" character varying(5) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_PostalRegion_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "fk_PostalRegion_Village" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Rename a column from "PostalCode_Code" to "PostalRegion_Code"
|
||||||
|
ALTER TABLE "public"."PersonAddress" RENAME COLUMN "PostalCode_Code" TO "PostalRegion_Code";
|
||||||
|
-- Modify "PersonAddress" table
|
||||||
|
ALTER TABLE "public"."PersonAddress" DROP CONSTRAINT "fk_PersonAddress_PostalCode", ADD COLUMN "LocationType_Code" character varying(10) NULL, ADD CONSTRAINT "fk_PersonAddress_PostalRegion" FOREIGN KEY ("PostalRegion_Code") REFERENCES "public"."PostalRegion" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Drop "PostalCode" table
|
||||||
|
DROP TABLE "public"."PostalCode";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "PersonAddress" table
|
||||||
|
ALTER TABLE "public"."PersonAddress" ADD CONSTRAINT "fk_PersonAddress_Village" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
-- Create "CheckoutPolies" table
|
||||||
|
CREATE TABLE "public"."CheckoutPolies" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Unit_Id" integer NULL,
|
||||||
|
"Doctor_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_CheckoutPolies_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_CheckoutPolies_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_CheckoutPolies_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" ALTER COLUMN "DischargeMethod_Code" TYPE character varying(16);
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
-- Create "InternalReference" table
|
||||||
|
CREATE TABLE "public"."InternalReference" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Unit_Id" integer NULL,
|
||||||
|
"Doctor_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_InternalReference_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_InternalReference_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_InternalReference_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Drop "CheckoutPolies" table
|
||||||
|
DROP TABLE "public"."CheckoutPolies";
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
-- Create "VClaimSepHist" table
|
||||||
|
CREATE TABLE "public"."VClaimSepHist" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"RequestPayload" text NULL,
|
||||||
|
"ResponseBody" text NULL,
|
||||||
|
"Message" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" ADD COLUMN "PaymentMethod_Code" character varying(10) NULL, ADD COLUMN "InsuranceCompany_Id" bigint NULL, ADD COLUMN "Member_Number" character varying(20) NULL, ADD COLUMN "Ref_Number" character varying(20) NULL, ADD COLUMN "Trx_Number" character varying(20) NULL, ADD COLUMN "Adm_Employee_Id" bigint NULL, ADD CONSTRAINT "uni_Encounter_Member_Number" UNIQUE ("Member_Number"), ADD CONSTRAINT "uni_Encounter_Ref_Number" UNIQUE ("Ref_Number"), ADD CONSTRAINT "uni_Encounter_Trx_Number" UNIQUE ("Trx_Number"), ADD CONSTRAINT "fk_Encounter_Adm_Employee" FOREIGN KEY ("Adm_Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, ADD CONSTRAINT "fk_Encounter_InsuranceCompany" FOREIGN KEY ("InsuranceCompany_Id") REFERENCES "public"."InsuranceCompany" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Create "VClaimSep" table
|
||||||
|
CREATE TABLE "public"."VClaimSep" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Number" character varying(19) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_VClaimSep_Number" UNIQUE ("Number"),
|
||||||
|
CONSTRAINT "fk_Encounter_VclaimSep" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "VClaimSepPrint" table
|
||||||
|
CREATE TABLE "public"."VClaimSepPrint" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"VclaimSep_Number" character varying(19) NULL,
|
||||||
|
"Counter" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_VClaimSepPrint_VclaimSep" FOREIGN KEY ("VclaimSep_Number") REFERENCES "public"."VClaimSep" ("Number") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
-- Create "VclaimSep" table
|
||||||
|
CREATE TABLE "public"."VclaimSep" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Number" character varying(19) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_VclaimSep_Number" UNIQUE ("Number"),
|
||||||
|
CONSTRAINT "fk_Encounter_VclaimSep" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Modify "VClaimSepPrint" table
|
||||||
|
ALTER TABLE "public"."VClaimSepPrint" DROP CONSTRAINT "fk_VClaimSepPrint_VclaimSep", ADD CONSTRAINT "fk_VClaimSepPrint_VclaimSep" FOREIGN KEY ("VclaimSep_Number") REFERENCES "public"."VclaimSep" ("Number") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Drop "VClaimSep" table
|
||||||
|
DROP TABLE "public"."VClaimSep";
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
-- Create "VclaimSepHist" table
|
||||||
|
CREATE TABLE "public"."VclaimSepHist" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"RequestPayload" text NULL,
|
||||||
|
"ResponseBody" text NULL,
|
||||||
|
"Message" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
|
-- Create "VclaimSepPrint" table
|
||||||
|
CREATE TABLE "public"."VclaimSepPrint" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"VclaimSep_Number" character varying(19) NULL,
|
||||||
|
"Counter" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_VclaimSepPrint_VclaimSep" FOREIGN KEY ("VclaimSep_Number") REFERENCES "public"."VclaimSep" ("Number") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Drop "VClaimSepHist" table
|
||||||
|
DROP TABLE "public"."VClaimSepHist";
|
||||||
|
-- Drop "VClaimSepPrint" table
|
||||||
|
DROP TABLE "public"."VClaimSepPrint";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Chemo" table
|
||||||
|
ALTER TABLE "public"."Chemo" ADD COLUMN "ClassCode" text NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Rename a column from "ClassCode" to "Class_Code"
|
||||||
|
ALTER TABLE "public"."Chemo" RENAME COLUMN "ClassCode" TO "Class_Code";
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
-- Create "PersonInsurance" table
|
||||||
|
CREATE TABLE "public"."PersonInsurance" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Person_Id" bigint NULL,
|
||||||
|
"InsuranceCompany_Id" bigint NULL,
|
||||||
|
"Ref_Number" character varying(20) NULL,
|
||||||
|
"DefaultStatus" boolean NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_PersonInsurance_Ref_Number" UNIQUE ("Ref_Number"),
|
||||||
|
CONSTRAINT "fk_PersonInsurance_InsuranceCompany" FOREIGN KEY ("InsuranceCompany_Id") REFERENCES "public"."InsuranceCompany" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Person_Insurances" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create index "idx_person_insurance" to table: "PersonInsurance"
|
||||||
|
CREATE UNIQUE INDEX "idx_person_insurance" ON "public"."PersonInsurance" ("Person_Id", "DefaultStatus");
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
-- Create "AmbulanceTransportReq" table
|
||||||
|
CREATE TABLE "public"."AmbulanceTransportReq" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Patient_Id" bigint NULL,
|
||||||
|
"Diagnoses" character varying(1024) NULL,
|
||||||
|
"RequestData" timestamptz NULL,
|
||||||
|
"UsageDate" timestamptz NULL,
|
||||||
|
"Address" character varying(100) NULL,
|
||||||
|
"RtRw" character varying(10) NULL,
|
||||||
|
"Province_Code" character varying(2) NULL,
|
||||||
|
"Regency_Code" character varying(4) NULL,
|
||||||
|
"District_Code" character varying(6) NULL,
|
||||||
|
"Village_Code" character varying(10) NULL,
|
||||||
|
"Facility_Code" character varying(10) NULL,
|
||||||
|
"Needs_Code" character varying(10) NULL,
|
||||||
|
"Contact_Name" character varying(100) NULL,
|
||||||
|
"Contact_Relationship_Code" character varying(10) NULL,
|
||||||
|
"Contact_PhoneNumber" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_AmbulanceTransportReq_District" FOREIGN KEY ("District_Code") REFERENCES "public"."District" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_AmbulanceTransportReq_Patient" FOREIGN KEY ("Patient_Id") REFERENCES "public"."Patient" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_AmbulanceTransportReq_Province" FOREIGN KEY ("Province_Code") REFERENCES "public"."Province" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_AmbulanceTransportReq_Regency" FOREIGN KEY ("Regency_Code") REFERENCES "public"."Regency" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_AmbulanceTransportReq_Village" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "Vehicle" table
|
||||||
|
CREATE TABLE "public"."Vehicle" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Type_Code" text NULL,
|
||||||
|
"PoliceNumber" text NULL,
|
||||||
|
"FrameNumber" text NULL,
|
||||||
|
"RegNumber" text NULL,
|
||||||
|
"AvailableStatus" boolean NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
|
-- Create "VehicleHist" table
|
||||||
|
CREATE TABLE "public"."VehicleHist" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Vehicle_Id" bigint NULL,
|
||||||
|
"Date" timestamptz NULL,
|
||||||
|
"Data" text NULL,
|
||||||
|
"Crud_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_VehicleHist_Vehicle" FOREIGN KEY ("Vehicle_Id") REFERENCES "public"."Vehicle" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "MedicalActionSrc" table
|
||||||
|
ALTER TABLE "public"."MedicalActionSrc" ADD COLUMN "Type_Code" character varying(20) NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Item" table
|
||||||
|
ALTER TABLE "public"."Item" ALTER COLUMN "ItemGroup_Code" TYPE character varying(15);
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
-- Modify "Employee" table
|
||||||
|
ALTER TABLE "public"."Employee" ADD COLUMN "Position_Code" character varying(20) NULL;
|
||||||
|
-- Rename a column from "Position_Code" to "ContractPosition_Code"
|
||||||
|
ALTER TABLE "public"."User" RENAME COLUMN "Position_Code" TO "ContractPosition_Code";
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
-- Create "Intern" table
|
||||||
|
CREATE TABLE "public"."Intern" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Person_Id" bigint NULL,
|
||||||
|
"Position_Code" character varying(20) NULL,
|
||||||
|
"User_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Intern_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Intern_User" FOREIGN KEY ("User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
h1:S3ggQSrIa2Lwhkx+yWmD9N2hZxRuVwCMZcEpsk83PJY=
|
||||||
|
20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k=
|
||||||
|
20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0=
|
||||||
|
20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI=
|
||||||
|
20250908062323.sql h1:oXl6Z143tOpIl4EfP4B8JNU8LrMvVmHEtCgAfiB4gs8=
|
||||||
|
20250908073811.sql h1:m2aNXfnGxnLq1+rVWrh4f60q7fhyhV3gEwNu/OIqQlE=
|
||||||
|
20250908073839.sql h1:cPk54xjLdMs26uY8ZHjNWLuyfAMzV7Zb0/9oJQrsw04=
|
||||||
|
20250910055902.sql h1:5xwjAV6QbtZT9empTJKfhyAjdknbHzb15B0Ku5dzqtQ=
|
||||||
|
20250915123412.sql h1:D83xaU2YlDEd21HLup/YQpQ2easMToYCyy/oK6AFgQs=
|
||||||
|
20250916043819.sql h1:ekoTJsBqQZ8G8n0qJ03d13+eoNoc7sAUEQGA5D/CCxk=
|
||||||
|
20250917040616.sql h1:zoCnmcXuM7AVv85SmN7RmFglCgJnoDmpRWExH0LAc9Q=
|
||||||
|
20250917040751.sql h1:J1xyRrh32y1+lezwAyNwPcUQ6ABBSgbvzNLva4SVdQU=
|
||||||
|
20250917045138.sql h1:jKe1Z0uOLG4SGBYM+S/3P+/zMPztmgoderD5swnMuCg=
|
||||||
|
20250917093645.sql h1:cNI3Pbz1R3LxvIXLuexafJFCXUXrmuFCgXXJ2sG+FW0=
|
||||||
|
20250918073552.sql h1:RJ1SvMzP6aeWnoPVD3eVAmIQOkcp6Php8z3QRri6v4g=
|
||||||
|
20250918073742.sql h1:+cEsnJTJFybe2fR69ZoOiX2R6c6iITl4m6WTZ1hjyzY=
|
||||||
|
20250918074745.sql h1:2hNVQCXF/dVYXAh+T/7oBFgERGWxzVb2FXJjwkFWGCI=
|
||||||
|
20250923025134.sql h1:Ykz/qpHiGDXPsCsWTjydQFVSibZP2D+h2fIeb2h2JGA=
|
||||||
|
20250924051317.sql h1:yQuW6SwJxIOM5fcxeAaie5lSm1oLysU/C2hH2xNCVoQ=
|
||||||
|
20250929034321.sql h1:101FJ8VH12mrZWlt/X1gvKUGOhoiF8tFbjiapAjnHzg=
|
||||||
|
20250929034428.sql h1:i+pROD9p+g5dOmmZma6WF/0Hw5g3Ha28NN85iTo1K34=
|
||||||
|
20250930025550.sql h1:+F+CsCUXD/ql0tHGEow70GhPBX1ZybVn+bh/T4YMh7Y=
|
||||||
|
20250930140351.sql h1:9AAEG1AnOAH+o0+oHL5G7I8vqlWOhwRlCGyyCpT/y1Q=
|
||||||
|
20251002085604.sql h1:3xZ68eYp4urXRnvotNH1XvG2mYOSDV/j3zHEZ/txg5E=
|
||||||
|
20251003032030.sql h1:HB+mQ2lXMNomHDpaRhB/9IwYI9/YiDO5eOJ+nAQH/jw=
|
||||||
|
20251005060450.sql h1:LbtCE2b+8osM3CvnmQJH1uCPtn+d7WchsslBOz8bL3Q=
|
||||||
|
20251006041122.sql h1:MlS7f21z06sutnf9dIekt5fuHJr4lgcQ4uCuCXAGsfc=
|
||||||
|
20251006045658.sql h1:3FmGCPCzjgMPdWDRodZTsx3KVaodd9zB9ilib69aewk=
|
||||||
|
20251006045928.sql h1:Z5g31PmnzNwk/OKdODcxZGm8fjJQdMFK32Xfnt3bRHg=
|
||||||
|
20251007022859.sql h1:FO03zEfaNEk/aXwY81d5Lp3MoBB9kPQuXlXJ4BPiSR8=
|
||||||
|
20251008031337.sql h1:l+sxUAGvcTfj3I6kAFHo+T6AYodC9k9GkR+jaKO2xXc=
|
||||||
|
20251008031554.sql h1:AqrVfIhSzY3PCy8ZlP5W91wn2iznfIuj5qQfubp6/94=
|
||||||
|
20251008052346.sql h1:nxnXmooIJ6r1mmzwnw+6efxLfc/k9h2aE6RMptPRons=
|
||||||
|
20251008073620.sql h1:6YsJp1W4SmQJ1lxpqF27BBlDC1zqhw7Yhc7pLzQTY6M=
|
||||||
|
20251009042854.sql h1:nkBV+R6j0fg7/JY6wH3eb5Vv0asJLnXmb6lINfT/GLQ=
|
||||||
|
20251009052657.sql h1:EPvdsib5rzCGPryd10HShGKvFPwM/R5S2lIVwtYxpms=
|
||||||
|
20251010031743.sql h1:T8IZmx8/btRFKLzTe78MzcBsPJNodnLvB0tby9QkirQ=
|
||||||
|
20251010070721.sql h1:5NQUk/yOV6sABLCB7swx++YIOyJe6MnU+yt1nRzde5w=
|
||||||
|
20251010072711.sql h1:ZJNqR2piyu8xJhBvVABSlnGEoKSKae3wuEs+wshPe4k=
|
||||||
|
20251013044536.sql h1:0Xjw8fNILiT8nnfrJDZgQnPf3dntmIoilbapnih8AE4=
|
||||||
|
20251013051438.sql h1:lfSuw5mgJnePBJamvhZ81osFIouXeiIEiSZ/evdwo48=
|
||||||
|
20251013081808.sql h1:ijgjNX08G6GBjA/ks8EKtb7P7Y7Cg7zbhqEOruGnv6M=
|
||||||
|
20251014060047.sql h1:0jqj49WTtneEIMQDBoo4c095ZGi8sCrA8NnHBrPU6D8=
|
||||||
|
20251014063537.sql h1:VZLXol0PTsTW21Epg6vBPsztWkDtcxup9F/z88EGgIg=
|
||||||
|
20251014063720.sql h1:2HVUyCV0ud3BJJDH2GEKZN/+IWLFPCsN1KqhP6csO14=
|
||||||
|
20251015045455.sql h1:MeLWmMhAOAz8b15Dd7IAQnt6JxjSml02XCXK22C0Lpg=
|
||||||
|
20251016010845.sql h1:4BncQdDOasRZJkzVJrSJJA7091A9VPNVx/faUCUPhBM=
|
||||||
|
20251016011023.sql h1:9JB9eFZKURK5RoCVDKR6glSvdJ8NTXrN7K/4q51zkz4=
|
||||||
|
20251016062912.sql h1:ACNn0fe+EMqUt3hoY+Dr3uqAV/QICBa1+mIW7fUc9Fk=
|
||||||
|
20251017060617.sql h1:4T3t9ifWrEQTPMSM0XJ98pF7Qdt+UfgtMui17bhrnWI=
|
||||||
|
20251017082207.sql h1:8vLG1l/saRRMHXkyA4nelJyjaSddhZd6r7R+Uo4JS/c=
|
||||||
|
20251018032635.sql h1:UltiY1Jm1KjAyBx/oRbhKzwEl3Aqh3o+eaOIfWdroJ8=
|
||||||
|
20251018040322.sql h1:24VgOPgO2pxfwTcAv7xCv8BHiRPqmIbHUCXNLyvrGfc=
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
-- Modify "Infra" table
|
|
||||||
ALTER TABLE "public"."Infra" ALTER COLUMN "Parent_Id" TYPE integer;
|
|
||||||
-- Modify "User" table
|
|
||||||
ALTER TABLE "public"."User" ADD CONSTRAINT "uni_User_Name" UNIQUE ("Name");
|
|
||||||
-- Modify "Employee" table
|
|
||||||
ALTER TABLE "public"."Employee" ADD CONSTRAINT "fk_Employee_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, ADD CONSTRAINT "fk_Employee_User" FOREIGN KEY ("User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
-- Modify "McuSrc" table
|
|
||||||
ALTER TABLE "public"."McuSrc" ADD CONSTRAINT "fk_McuSrc_CheckupCategory" FOREIGN KEY ("CheckupCategory_Code") REFERENCES "public"."McuSrcCategory" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
-- Modify "Person" table
|
|
||||||
ALTER TABLE "public"."Person" ADD COLUMN "FrontTitle" character varying(50) NULL, ADD COLUMN "EndTitle" character varying(50) NULL;
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
-- Create "Language" table
|
|
||||||
CREATE TABLE "public"."Language" (
|
|
||||||
"Id" bigserial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Code" character varying(10) NULL,
|
|
||||||
"Name" character varying(50) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "uni_Language_Code" UNIQUE ("Code")
|
|
||||||
);
|
|
||||||
-- Modify "Person" table
|
|
||||||
ALTER TABLE "public"."Person" ADD COLUMN "PassportNumber" character varying(20) NULL, ADD COLUMN "DrivingLicenseNumber" character varying(20) NULL, ADD COLUMN "Language_Code" character varying(10) NULL, ADD CONSTRAINT "fk_Person_Language" FOREIGN KEY ("Language_Code") REFERENCES "public"."Language" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
-- Create "PersonRelative" table
|
|
||||||
CREATE TABLE "public"."PersonRelative" (
|
|
||||||
"Id" bigserial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Person_Id" bigint NULL,
|
|
||||||
"Relationship_Code" character varying(100) NOT NULL,
|
|
||||||
"Name" character varying(100) NULL,
|
|
||||||
"Address" character varying(100) NULL,
|
|
||||||
"Village_Code" character varying(10) NULL,
|
|
||||||
"Gender_Code" character varying(10) NULL,
|
|
||||||
"PhoneNumber" character varying(30) NULL,
|
|
||||||
"Education_Code" character varying(10) NULL,
|
|
||||||
"Occupation_Code" character varying(10) NULL,
|
|
||||||
"Occupation_Name" character varying(50) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "fk_PersonRelative_Village" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
||||||
CONSTRAINT "fk_Person_Relatives" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
|
||||||
);
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
-- Create "Patient" table
|
|
||||||
CREATE TABLE "public"."Patient" (
|
|
||||||
"Id" bigserial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Person_Id" bigint NULL,
|
|
||||||
"RegisteredAt" timestamptz NULL,
|
|
||||||
"Status_Code" character varying(10) NOT NULL,
|
|
||||||
"Number" character varying(15) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "fk_Patient_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
|
||||||
);
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
-- Modify "Device" table
|
|
||||||
ALTER TABLE "public"."Device" ALTER COLUMN "Name" SET NOT NULL;
|
|
||||||
-- Modify "Person" table
|
|
||||||
ALTER TABLE "public"."Person" ADD CONSTRAINT "uni_Person_DrivingLicenseNumber" UNIQUE ("DrivingLicenseNumber"), ADD CONSTRAINT "uni_Person_PassportNumber" UNIQUE ("PassportNumber"), ADD CONSTRAINT "uni_Person_ResidentIdentityNumber" UNIQUE ("ResidentIdentityNumber");
|
|
||||||
-- Modify "Nurse" table
|
|
||||||
ALTER TABLE "public"."Nurse" ADD COLUMN "Unit_Id" integer NULL, ADD CONSTRAINT "fk_Nurse_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
-- Modify "MedicineGroup" table
|
|
||||||
ALTER TABLE "public"."MedicineGroup" ALTER COLUMN "Code" TYPE character varying(10), ALTER COLUMN "Name" TYPE character varying(50);
|
|
||||||
-- Modify "MedicineMethod" table
|
|
||||||
ALTER TABLE "public"."MedicineMethod" ALTER COLUMN "Code" TYPE character varying(10), ALTER COLUMN "Name" TYPE character varying(50);
|
|
||||||
-- Create "Encounter" table
|
|
||||||
CREATE TABLE "public"."Encounter" (
|
|
||||||
"Id" bigserial NOT NULL,
|
|
||||||
"CreatedAt" timestamptz NULL,
|
|
||||||
"UpdatedAt" timestamptz NULL,
|
|
||||||
"DeletedAt" timestamptz NULL,
|
|
||||||
"Patient_Id" bigint NULL,
|
|
||||||
"RegisteredAt" timestamptz NULL,
|
|
||||||
"Class_Code" character varying(10) NOT NULL,
|
|
||||||
"Unit_Id" bigint NULL,
|
|
||||||
"VisitDate" timestamptz NULL,
|
|
||||||
"Assignment_Doctor_Id" bigint NULL,
|
|
||||||
"Responsible_Doctor_Id" bigint NULL,
|
|
||||||
"DischardeMethod_Code" character varying(10) NULL,
|
|
||||||
"RefSource_Name" character varying(100) NULL,
|
|
||||||
PRIMARY KEY ("Id"),
|
|
||||||
CONSTRAINT "fk_Encounter_Assignment_Doctor" FOREIGN KEY ("Assignment_Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
||||||
CONSTRAINT "fk_Encounter_Patient" FOREIGN KEY ("Patient_Id") REFERENCES "public"."Patient" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
||||||
CONSTRAINT "fk_Encounter_Responsible_Doctor" FOREIGN KEY ("Responsible_Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
||||||
CONSTRAINT "fk_Encounter_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
|
||||||
);
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
h1:179RYs36FGTJB7o/kUCO3K612TUM4fbHOaI3UBdlmlU=
|
|
||||||
20250829081952.sql h1:YMsYq3uPsx70EjWSGfYnVRR5GV0q1fRGIszYZAWzXNo=
|
|
||||||
20250901073356.sql h1:jjd5TLs+Pyi0u3SrOM+aNTbHxSJboXgcOz/L4bkYx+c=
|
|
||||||
20250901080035.sql h1:LWa3X0NWjalVcxNbk5HaHj1Oqu60/AQabi0jBmCeQBI=
|
|
||||||
20250901105703.sql h1:2h2B/wOFM0826sBXQutTtq24C+5duLqi4zEFOdbPsCI=
|
|
||||||
20250902052320.sql h1:+tWdeS4NorPj5WdKHMirBfP4EeS01wyyfdT03DBMmcI=
|
|
||||||
20250902063217.sql h1:wYFIrAIp1RczNvzlmu8jP8P1J7xEXqgDLKDUNBbkt84=
|
|
||||||
20250902105300.sql h1:6N2SDYK3a6djaO6u468E/DrDR9kM+uYoJvNlTFon6bY=
|
|
||||||
20250903041718.sql h1:ZiaacurDuBwWaI348Sjo7VZ6rSsj9TLTkudiRv05C/w=
|
|
||||||
20250903073200.sql h1:Tnxfz/3JjvrwPie2FYuhmfo5xFNeQV1lH+qbBJjpm5g=
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Makefile for Atlas migrations
|
||||||
|
|
||||||
|
# Default environment
|
||||||
|
ENV ?= gorm
|
||||||
|
|
||||||
|
.PHONY: diff apply hash
|
||||||
|
|
||||||
|
## Generate a new migration diff
|
||||||
|
diff:
|
||||||
|
atlas migrate diff --env $(ENV)
|
||||||
|
|
||||||
|
## Apply migrations to the database
|
||||||
|
apply:
|
||||||
|
atlas migrate apply --env $(ENV)
|
||||||
|
|
||||||
|
## Calculate the schema hash
|
||||||
|
hash:
|
||||||
|
atlas migrate hash
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# Database Migration with Atlas
|
||||||
|
|
||||||
|
This project uses [Atlas](https://atlasgo.io/) for database schema management and migrations.
|
||||||
|
|
||||||
|
## 📋 Prerequisites
|
||||||
|
|
||||||
|
1. **Download and Install Atlas CLI**
|
||||||
|
Run the following command in PowerShell or Git Bash:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -sSf https://atlasgo.sh | sh
|
||||||
|
```
|
||||||
|
Verify installation:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
atlas version
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Install GORM Provider
|
||||||
|
Run inside your Go project:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go get -u ariga.io/atlas-provider-gorm
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Create atlas.hcl configuration file
|
||||||
|
Just create an atlas.hcl file in your project root as example given at atlas.hcl.example
|
||||||
|
4. Create migrations folder
|
||||||
|
```sh
|
||||||
|
mkdir migrations
|
||||||
|
```
|
||||||
|
5. Usage
|
||||||
|
You can use the provided Makefile for common commands:
|
||||||
|
|
||||||
|
Generate a migration diff
|
||||||
|
```sh
|
||||||
|
make diff
|
||||||
|
```
|
||||||
|
|
||||||
|
Apply migrations
|
||||||
|
```sh
|
||||||
|
make apply
|
||||||
|
```
|
||||||
|
|
||||||
|
Compute schema hash
|
||||||
|
```sh
|
||||||
|
make hash
|
||||||
|
```
|
||||||
|
|
||||||
|
If you don’t have make installed, you can run the Atlas commands directly:
|
||||||
|
```sh
|
||||||
|
atlas migrate diff --env gorm
|
||||||
|
```
|
||||||
|
```sh
|
||||||
|
atlas migrate apply --env gorm
|
||||||
|
```
|
||||||
|
```sh
|
||||||
|
atlas migrate hash
|
||||||
|
```
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
data "external_schema" "gorm" {
|
||||||
|
program = [
|
||||||
|
"go",
|
||||||
|
"run",
|
||||||
|
"-mod=mod",
|
||||||
|
".",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
env "gorm" {
|
||||||
|
src = data.external_schema.gorm.url
|
||||||
|
dev = "" // dsn db to check the diff
|
||||||
|
migration {
|
||||||
|
dir = "file://migrations"
|
||||||
|
}
|
||||||
|
url = "" // dsn db to apply
|
||||||
|
format {
|
||||||
|
migrate {
|
||||||
|
diff = "{{ sql . \" \" }}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
m "simrs-vx/internal/interface/migration"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
m.Migrate(m.SatuSehat)
|
||||||
|
}
|
||||||
@@ -8,44 +8,57 @@ require (
|
|||||||
ariga.io/atlas-provider-gorm v0.5.6
|
ariga.io/atlas-provider-gorm v0.5.6
|
||||||
github.com/golang-jwt/jwt v3.2.2+incompatible
|
github.com/golang-jwt/jwt v3.2.2+incompatible
|
||||||
github.com/google/uuid v1.6.0
|
github.com/google/uuid v1.6.0
|
||||||
github.com/karincake/apem v0.0.16-h
|
github.com/jackc/pgx/v5 v5.5.5
|
||||||
|
github.com/karincake/apem v0.0.17
|
||||||
github.com/karincake/dodol v0.0.1
|
github.com/karincake/dodol v0.0.1
|
||||||
github.com/karincake/getuk v0.1.0
|
github.com/karincake/getuk v0.3.1
|
||||||
github.com/karincake/hongkue v0.0.4
|
github.com/karincake/hongkue v0.0.4
|
||||||
github.com/karincake/lepet v0.0.1
|
github.com/karincake/lepet v0.0.1
|
||||||
github.com/karincake/risoles v0.0.3
|
github.com/karincake/risoles v0.0.3
|
||||||
github.com/karincake/semprit v0.0.3
|
github.com/karincake/semprit v0.0.6
|
||||||
|
github.com/karincake/serabi v0.0.14
|
||||||
|
github.com/minio/minio-go/v7 v7.0.95
|
||||||
github.com/rs/zerolog v1.33.0
|
github.com/rs/zerolog v1.33.0
|
||||||
golang.org/x/crypto v0.41.0
|
golang.org/x/crypto v0.41.0
|
||||||
gorm.io/driver/postgres v1.5.11
|
|
||||||
gorm.io/gorm v1.25.12
|
gorm.io/gorm v1.25.12
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
ariga.io/atlas v0.36.2-0.20250806044935-5bb51a0a956e // indirect
|
ariga.io/atlas v0.36.2-0.20250806044935-5bb51a0a956e // indirect
|
||||||
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||||
|
github.com/go-ini/ini v1.67.0 // indirect
|
||||||
github.com/go-redis/redis v6.15.9+incompatible // indirect
|
github.com/go-redis/redis v6.15.9+incompatible // indirect
|
||||||
github.com/go-sql-driver/mysql v1.7.0 // indirect
|
github.com/go-sql-driver/mysql v1.7.0 // indirect
|
||||||
|
github.com/goccy/go-json v0.10.5 // indirect
|
||||||
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
|
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
|
||||||
github.com/golang-sql/sqlexp v0.1.0 // indirect
|
github.com/golang-sql/sqlexp v0.1.0 // indirect
|
||||||
github.com/google/go-cmp v0.7.0 // indirect
|
github.com/google/go-cmp v0.7.0 // indirect
|
||||||
github.com/jackc/pgpassfile v1.0.0 // indirect
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
||||||
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
|
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
|
||||||
github.com/jackc/pgx/v5 v5.5.5 // indirect
|
|
||||||
github.com/jackc/puddle/v2 v2.2.1 // indirect
|
github.com/jackc/puddle/v2 v2.2.1 // indirect
|
||||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||||
github.com/jinzhu/now v1.1.5 // indirect
|
github.com/jinzhu/now v1.1.5 // indirect
|
||||||
github.com/karincake/serabi v0.0.14 // indirect
|
github.com/karincake/pentol v0.0.3 // indirect
|
||||||
|
github.com/klauspost/compress v1.18.0 // indirect
|
||||||
|
github.com/klauspost/cpuid/v2 v2.2.11 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||||
github.com/mattn/go-sqlite3 v1.14.28 // indirect
|
github.com/mattn/go-sqlite3 v1.14.28 // indirect
|
||||||
github.com/microsoft/go-mssqldb v1.7.2 // indirect
|
github.com/microsoft/go-mssqldb v1.7.2 // indirect
|
||||||
|
github.com/minio/crc64nvme v1.0.2 // indirect
|
||||||
|
github.com/minio/md5-simd v1.1.2 // indirect
|
||||||
github.com/nxadm/tail v1.4.11 // indirect
|
github.com/nxadm/tail v1.4.11 // indirect
|
||||||
|
github.com/philhofer/fwd v1.2.0 // indirect
|
||||||
|
github.com/rs/xid v1.6.0 // indirect
|
||||||
|
github.com/tinylib/msgp v1.3.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect
|
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect
|
||||||
|
golang.org/x/net v0.42.0 // indirect
|
||||||
golang.org/x/sync v0.16.0 // indirect
|
golang.org/x/sync v0.16.0 // indirect
|
||||||
golang.org/x/sys v0.35.0 // indirect
|
golang.org/x/sys v0.35.0 // indirect
|
||||||
golang.org/x/text v0.28.0 // indirect
|
golang.org/x/text v0.28.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
gorm.io/driver/mysql v1.5.7 // indirect
|
gorm.io/driver/mysql v1.5.7 // indirect
|
||||||
|
gorm.io/driver/postgres v1.5.11 // indirect
|
||||||
gorm.io/driver/sqlite v1.5.7 // indirect
|
gorm.io/driver/sqlite v1.5.7 // indirect
|
||||||
gorm.io/driver/sqlserver v1.5.4 // indirect
|
gorm.io/driver/sqlserver v1.5.4 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -25,12 +25,18 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
|
|||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko=
|
github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko=
|
||||||
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
|
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
|
||||||
|
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||||
|
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||||
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
||||||
|
github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A=
|
||||||
|
github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
|
||||||
github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg=
|
github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg=
|
||||||
github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
|
github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
|
||||||
github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
|
github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
|
||||||
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
||||||
|
github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
|
||||||
|
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
|
||||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
|
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
|
||||||
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
|
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
|
||||||
@@ -69,22 +75,29 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD
|
|||||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
||||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
||||||
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||||
github.com/karincake/apem v0.0.16-h h1:rfO444oDG4cWFf0PjUshA+0U8KI/u067Va273WeJhpU=
|
github.com/karincake/apem v0.0.17 h1:y3WXCr9GWLFFFH4Qyq/VWlWWpijHh5zpTc3Lm96twa4=
|
||||||
github.com/karincake/apem v0.0.16-h/go.mod h1:cQP2sJfDrLRIiwWoaLWw/z8uAya+DWu/FpmYeinMQXM=
|
github.com/karincake/apem v0.0.17/go.mod h1:cQP2sJfDrLRIiwWoaLWw/z8uAya+DWu/FpmYeinMQXM=
|
||||||
github.com/karincake/dodol v0.0.1 h1:jUXmJh1r0Ei4fmHPZ6IUkoplW/V9d27L63JEl6zudL0=
|
github.com/karincake/dodol v0.0.1 h1:jUXmJh1r0Ei4fmHPZ6IUkoplW/V9d27L63JEl6zudL0=
|
||||||
github.com/karincake/dodol v0.0.1/go.mod h1:2f1NcvkvY0J3GMUkwILNDYVvRUpz0W3lpPp/Ha/Ld24=
|
github.com/karincake/dodol v0.0.1/go.mod h1:2f1NcvkvY0J3GMUkwILNDYVvRUpz0W3lpPp/Ha/Ld24=
|
||||||
github.com/karincake/getuk v0.1.0 h1:jcIsASrr0UDE528GN7Ua6n9UFyRgUypsWh8Or8wzCO0=
|
github.com/karincake/getuk v0.3.1 h1:yRqBTrwpnjYcZD3gPDoSxFlsLgI9/GKCr3ZCsS4TtYQ=
|
||||||
github.com/karincake/getuk v0.1.0/go.mod h1:NVnvxSGAkQ/xuq99FzWACvY5efyKPLFla1cKB8czm7c=
|
github.com/karincake/getuk v0.3.1/go.mod h1:NVnvxSGAkQ/xuq99FzWACvY5efyKPLFla1cKB8czm7c=
|
||||||
github.com/karincake/hongkue v0.0.4 h1:oWthq6cDg5DvDm1Z3e7mCLOATQf+oAdtHxN9OPnCfA8=
|
github.com/karincake/hongkue v0.0.4 h1:oWthq6cDg5DvDm1Z3e7mCLOATQf+oAdtHxN9OPnCfA8=
|
||||||
github.com/karincake/hongkue v0.0.4/go.mod h1:YVi5Lyh3DE+GRHx2OSODOr7FwvLi8U4idvcPHO7yeag=
|
github.com/karincake/hongkue v0.0.4/go.mod h1:YVi5Lyh3DE+GRHx2OSODOr7FwvLi8U4idvcPHO7yeag=
|
||||||
github.com/karincake/lepet v0.0.1 h1:eq/cwn5BBg0jWZ1c/MmvhFIBma0zBpVs2LwkfDOncy4=
|
github.com/karincake/lepet v0.0.1 h1:eq/cwn5BBg0jWZ1c/MmvhFIBma0zBpVs2LwkfDOncy4=
|
||||||
github.com/karincake/lepet v0.0.1/go.mod h1:U84w7olXO3BPJw2Hu6MBonFmJmPKaFjtyAj1HTu3z1A=
|
github.com/karincake/lepet v0.0.1/go.mod h1:U84w7olXO3BPJw2Hu6MBonFmJmPKaFjtyAj1HTu3z1A=
|
||||||
|
github.com/karincake/pentol v0.0.3 h1:NgiR101yZuqZjYT7LiUkOgsFS+OzUHxceBpL9RbAXeg=
|
||||||
|
github.com/karincake/pentol v0.0.3/go.mod h1:6F2jlwLkVtNuC0nW/gfdU+B9bZoiIVN+IEdB2WIlKgQ=
|
||||||
github.com/karincake/risoles v0.0.3 h1:7VBShf2yC6NqD0PotQcb0i8Xe6mJeTRrHnE0qzKf7NU=
|
github.com/karincake/risoles v0.0.3 h1:7VBShf2yC6NqD0PotQcb0i8Xe6mJeTRrHnE0qzKf7NU=
|
||||||
github.com/karincake/risoles v0.0.3/go.mod h1:u4YS+rPp92ODTbGC4RUx4DxKoThnmPjBl1CNdnmKD/c=
|
github.com/karincake/risoles v0.0.3/go.mod h1:u4YS+rPp92ODTbGC4RUx4DxKoThnmPjBl1CNdnmKD/c=
|
||||||
github.com/karincake/semprit v0.0.3 h1:znleGRu73xrHk6a70+jRQgVh9VF3TAhttQz6vfgNdyM=
|
github.com/karincake/semprit v0.0.6 h1:TvY9Np2jEmbGcucbxBO7GzdZ9AiIhSVe5+ki1rgoocE=
|
||||||
github.com/karincake/semprit v0.0.3/go.mod h1:nLtNmWlHkxMKG0IMzqnnfkn1L/RVYGXVW3LchfYQMu8=
|
github.com/karincake/semprit v0.0.6/go.mod h1:pZ63Q2WHw3mrsRPm6LSx999tRD+N8eYzpfN/vP3aEoQ=
|
||||||
github.com/karincake/serabi v0.0.14 h1:yK3nBLRXdoUNSUDIfbZqIQxnZ6U6Ij5QEO8d5QzZzsw=
|
github.com/karincake/serabi v0.0.14 h1:yK3nBLRXdoUNSUDIfbZqIQxnZ6U6Ij5QEO8d5QzZzsw=
|
||||||
github.com/karincake/serabi v0.0.14/go.mod h1:GcnPBWb+UotDxvb/a2CKwourCEyVIL4P9+YxVmZ5zgk=
|
github.com/karincake/serabi v0.0.14/go.mod h1:GcnPBWb+UotDxvb/a2CKwourCEyVIL4P9+YxVmZ5zgk=
|
||||||
|
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
|
||||||
|
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
|
||||||
|
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||||
|
github.com/klauspost/cpuid/v2 v2.2.11 h1:0OwqZRYI2rFrjS4kvkDnqJkKHdHaRnCm68/DY4OxRzU=
|
||||||
|
github.com/klauspost/cpuid/v2 v2.2.11/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
||||||
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
|
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
|
||||||
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
|
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
|
||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
@@ -100,6 +113,12 @@ github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEu
|
|||||||
github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
|
github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
|
||||||
github.com/microsoft/go-mssqldb v1.7.2 h1:CHkFJiObW7ItKTJfHo1QX7QBBD1iV+mn1eOyRP3b/PA=
|
github.com/microsoft/go-mssqldb v1.7.2 h1:CHkFJiObW7ItKTJfHo1QX7QBBD1iV+mn1eOyRP3b/PA=
|
||||||
github.com/microsoft/go-mssqldb v1.7.2/go.mod h1:kOvZKUdrhhFQmxLZqbwUV0rHkNkZpthMITIb2Ko1IoA=
|
github.com/microsoft/go-mssqldb v1.7.2/go.mod h1:kOvZKUdrhhFQmxLZqbwUV0rHkNkZpthMITIb2Ko1IoA=
|
||||||
|
github.com/minio/crc64nvme v1.0.2 h1:6uO1UxGAD+kwqWWp7mBFsi5gAse66C4NXO8cmcVculg=
|
||||||
|
github.com/minio/crc64nvme v1.0.2/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg=
|
||||||
|
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
|
||||||
|
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
|
||||||
|
github.com/minio/minio-go/v7 v7.0.95 h1:ywOUPg+PebTMTzn9VDsoFJy32ZuARN9zhB+K3IYEvYU=
|
||||||
|
github.com/minio/minio-go/v7 v7.0.95/go.mod h1:wOOX3uxS334vImCNRVyIDdXX9OsXDm89ToynKgqUKlo=
|
||||||
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
|
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
|
||||||
github.com/montanaflynn/stats v0.7.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
|
github.com/montanaflynn/stats v0.7.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
|
||||||
github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
|
github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
|
||||||
@@ -108,6 +127,8 @@ github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
|
|||||||
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
|
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
|
||||||
github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
|
github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
|
||||||
github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
|
github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
|
||||||
|
github.com/philhofer/fwd v1.2.0 h1:e6DnBTl7vGY+Gz322/ASL4Gyp1FspeMvx1RNDoToZuM=
|
||||||
|
github.com/philhofer/fwd v1.2.0/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM=
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
|
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
|
||||||
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
|
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
|
||||||
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
|
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
|
||||||
@@ -117,6 +138,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
|
|||||||
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
|
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
|
||||||
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
|
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
|
||||||
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
|
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
|
||||||
|
github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
|
||||||
|
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
|
||||||
github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
|
github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
|
||||||
github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
|
github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
@@ -131,6 +154,8 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
|
|||||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||||
|
github.com/tinylib/msgp v1.3.0 h1:ULuf7GPooDaIlbyvgAxBV/FI7ynli6LZ1/nVUNu+0ww=
|
||||||
|
github.com/tinylib/msgp v1.3.0/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0=
|
||||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package core
|
||||||
|
|
||||||
|
type Pagination struct {
|
||||||
|
PageNumber int `json:"page-number"`
|
||||||
|
PageSize int `json:"page-size"`
|
||||||
|
PageNoLimit bool `json:"page-no-limit"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package member
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
ReferenceType ReferenceType `json:"-"`
|
||||||
|
PathValue1 string `json:"-"`
|
||||||
|
PathValue2 string `json:"-"`
|
||||||
|
PathValue3 string `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReferenceType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
RTNik ReferenceType = "nik"
|
||||||
|
RTBpjs ReferenceType = "bpjs"
|
||||||
|
)
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
package member
|
||||||
|
|
||||||
|
type Response struct {
|
||||||
|
MetaData *MetaData `json:"metaData"`
|
||||||
|
Response *BPJSDataRes `json:"response"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaData struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
Message string `json:"message"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type BPJSDataRes struct {
|
||||||
|
Peserta *Peserta `json:"peserta"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Peserta struct {
|
||||||
|
Cob *COB `json:"cob"`
|
||||||
|
HakKelas *HakKelas `json:"hakKelas"`
|
||||||
|
Informasi *Informasi `json:"informasi"`
|
||||||
|
JenisPeserta *JenisPeserta `json:"jenisPeserta"`
|
||||||
|
Mr *MR `json:"mr"`
|
||||||
|
Nama *string `json:"nama"`
|
||||||
|
Nik *string `json:"nik"`
|
||||||
|
NoKartu *string `json:"noKartu"`
|
||||||
|
Pisa *string `json:"pisa"`
|
||||||
|
ProvUmum *ProvUmum `json:"provUmum"`
|
||||||
|
Sex *string `json:"sex"`
|
||||||
|
StatusPeserta *StatusPeserta `json:"statusPeserta"`
|
||||||
|
TglCetakKartu *string `json:"tglCetakKartu"`
|
||||||
|
TglLahir *string `json:"tglLahir"`
|
||||||
|
TglTAT *string `json:"tglTAT"`
|
||||||
|
TglTMT *string `json:"tglTMT"`
|
||||||
|
Umur *Umur `json:"umur"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type COB struct {
|
||||||
|
NmAsuransi *string `json:"nmAsuransi"`
|
||||||
|
NoAsuransi *string `json:"noAsuransi"`
|
||||||
|
TglTAT *string `json:"tglTAT"`
|
||||||
|
TglTMT *string `json:"tglTMT"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type HakKelas struct {
|
||||||
|
Keterangan *string `json:"keterangan"`
|
||||||
|
Kode *string `json:"kode"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Informasi struct {
|
||||||
|
Dinsos *string `json:"dinsos"`
|
||||||
|
NoSKTM *string `json:"noSKTM"`
|
||||||
|
ProlanisPRB *string `json:"prolanisPRB"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type JenisPeserta struct {
|
||||||
|
Keterangan *string `json:"keterangan"`
|
||||||
|
Kode *string `json:"kode"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MR struct {
|
||||||
|
NoMR *string `json:"noMR"`
|
||||||
|
NoTelepon *string `json:"noTelepon"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ProvUmum struct {
|
||||||
|
KdProvider *string `json:"kdProvider"`
|
||||||
|
NmProvider *string `json:"nmProvider"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type StatusPeserta struct {
|
||||||
|
Keterangan *string `json:"keterangan"`
|
||||||
|
Kode *string `json:"kode"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Umur struct {
|
||||||
|
UmurSaatPelayanan *string `json:"umurSaatPelayanan"`
|
||||||
|
UmurSekarang *string `json:"umurSekarang"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package monitoring
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
ReferenceType ReferenceType `json:"-"`
|
||||||
|
PathValue1 string `json:"-"`
|
||||||
|
PathValue2 string `json:"-"`
|
||||||
|
PathValue3 string `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReferenceType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
RTVisit ReferenceType = "visit"
|
||||||
|
RTHist ReferenceType = "hist"
|
||||||
|
)
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package monitoring
|
||||||
|
|
||||||
|
type Response struct {
|
||||||
|
MetaData MetaData `json:"metaData"`
|
||||||
|
Response *BPJSDataRes `json:"response"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaData struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
Message string `json:"message"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type BPJSDataRes struct {
|
||||||
|
Sep []Sep `json:"sep"`
|
||||||
|
Histori []Histori `json:"histori"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Sep struct {
|
||||||
|
Diagnosa string `json:"diagnosa"`
|
||||||
|
JnsPelayanan string `json:"jnsPelayanan"`
|
||||||
|
KelasRawat string `json:"kelasRawat"`
|
||||||
|
Nama string `json:"nama"`
|
||||||
|
NoKartu string `json:"noKartu"`
|
||||||
|
NoSep string `json:"noSep"`
|
||||||
|
NoRujukan string `json:"noRujukan"`
|
||||||
|
Poli *string `json:"poli"`
|
||||||
|
TglPlgSep string `json:"tglPlgSep"`
|
||||||
|
TglSep string `json:"tglSep"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Histori struct {
|
||||||
|
Diagnosa string `json:"diagnosa"`
|
||||||
|
JnsPelayanan string `json:"jnsPelayanan"`
|
||||||
|
KelasRawat *string `json:"kelasRawat"`
|
||||||
|
NamaPeserta string `json:"namaPeserta"`
|
||||||
|
NoKartu string `json:"noKartu"`
|
||||||
|
NoSep string `json:"noSep"`
|
||||||
|
NoRujukan string `json:"noRujukan"`
|
||||||
|
Poli string `json:"poli"`
|
||||||
|
PpkPelayanan string `json:"ppkPelayanan"`
|
||||||
|
TglPlgSep string `json:"tglPlgSep"`
|
||||||
|
TglSep string `json:"tglSep"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package reference
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
ReferenceType ReferenceType `json:"-"`
|
||||||
|
PathValue1 string `json:"-"`
|
||||||
|
PathValue2 string `json:"-"`
|
||||||
|
PathValue3 string `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReferenceType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
RTProvince ReferenceType = "province"
|
||||||
|
RTDistrict ReferenceType = "district"
|
||||||
|
RTCities ReferenceType = "cities"
|
||||||
|
RTDiagnose ReferenceType = "diagnose"
|
||||||
|
RTDiagnosePrb ReferenceType = "diagnose-prb"
|
||||||
|
RTMedicinePrb ReferenceType = "medicine-prb"
|
||||||
|
RTUnit ReferenceType = "unit"
|
||||||
|
RTHealthcare ReferenceType = "healthcare"
|
||||||
|
RTDoctor ReferenceType = "doctor"
|
||||||
|
)
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package reference
|
||||||
|
|
||||||
|
type Response struct {
|
||||||
|
MetaData MetaData `json:"metaData"`
|
||||||
|
Response *CodeNameList `json:"response"` // pointer to handle possible null
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaData struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
Message string `json:"message"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type CodeNameList struct {
|
||||||
|
List []CodeName `json:"list,omitempty"`
|
||||||
|
Diagnosa []CodeName `json:"diagnosa,omitempty"`
|
||||||
|
Poli []CodeName `json:"poli,omitempty"`
|
||||||
|
Faskes []CodeName `json:"faskes,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type CodeName struct {
|
||||||
|
Kode string `json:"kode"`
|
||||||
|
Nama string `json:"nama"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
package vclaimsephist
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
RequestPayload string `json:"requestPayload"`
|
||||||
|
ResponseBody string `json:"responseBody"`
|
||||||
|
Message string `json:"message"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
RequestPayload *string `json:"requestPayload"`
|
||||||
|
ResponseBody *string `json:"responseBody"`
|
||||||
|
Message *string `json:"message"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.Main
|
||||||
|
RequestPayload *string `json:"requestPayload"`
|
||||||
|
ResponseBody *string `json:"responseBody"`
|
||||||
|
Message *string `json:"message"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d VclaimSepHist) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
RequestPayload: d.RequestPayload,
|
||||||
|
ResponseBody: d.ResponseBody,
|
||||||
|
Message: d.Message,
|
||||||
|
}
|
||||||
|
resp.Main = d.Main
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []VclaimSepHist) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package vclaimsephist
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type VclaimSepHist struct {
|
||||||
|
ecore.Main
|
||||||
|
RequestPayload *string `json:"requestPayload"`
|
||||||
|
ResponseBody *string `json:"responseBody"`
|
||||||
|
Message *string `json:"message"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package vclaimsepprint
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
VclaimSep_Number *string `json:"vclaimSep_number"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
VclaimSep_Number *string `json:"vclaimSep_number"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.Main
|
||||||
|
VclaimSep_Number *string `json:"vclaimSep_number"`
|
||||||
|
Counter *uint `json:"counter"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d VclaimSepPrint) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
VclaimSep_Number: d.VclaimSep_Number,
|
||||||
|
Counter: d.Counter,
|
||||||
|
}
|
||||||
|
resp.Main = d.Main
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []VclaimSepPrint) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package vclaimsepprint
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
evs "simrs-vx/internal/domain/bpjs-entities/vclaim-sep"
|
||||||
|
)
|
||||||
|
|
||||||
|
type VclaimSepPrint struct {
|
||||||
|
ecore.Main
|
||||||
|
VclaimSep_Number *string `json:"vclaimSep_number"`
|
||||||
|
VclaimSep *evs.VclaimSep `json:"vclaimSep,omitempty" gorm:"foreignKey:VclaimSep_Number;references:Number"`
|
||||||
|
Counter *uint `json:"counter"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package vclaimsep
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
evsh "simrs-vx/internal/domain/bpjs-entities/vclaim-sep-hist"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Number *string `json:"number" validate:"maxLength=19"`
|
||||||
|
RequestPayload []byte `json:"requestPayload" validate:"maxLength=1024"`
|
||||||
|
|
||||||
|
VclaimSepHist evsh.CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Number *string `json:"number"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
Number *string `json:"number"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
Number *string `json:"number"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.Main
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Number *string `json:"number"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d VclaimSep) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Encounter_Id: d.Encounter_Id,
|
||||||
|
Number: d.Number,
|
||||||
|
}
|
||||||
|
resp.Main = d.Main
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []VclaimSep) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c CreateDto) IsMessageSuccess() bool {
|
||||||
|
return c.VclaimSepHist.Message == "Sukses"
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package vclaimsep
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type VclaimSep struct {
|
||||||
|
ecore.Main
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Number *string `json:"number" gorm:"unique;size:19"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
package adime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
eem "simrs-vx/internal/domain/main-entities/employee"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
|
||||||
|
pa "simrs-vx/pkg/auth-helper"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Employee_Id *uint `json:"-"`
|
||||||
|
Time *time.Time `json:"time"`
|
||||||
|
Value *string `json:"value"`
|
||||||
|
|
||||||
|
pa.AuthInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Encounter_Id *uint `json:"encounter-id"`
|
||||||
|
Employee_Id *uint `json:"employee-id"`
|
||||||
|
Time *time.Time `json:"time"`
|
||||||
|
Value *string `json:"value"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.Main
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
||||||
|
Employee_Id *uint `json:"employee_id"`
|
||||||
|
Employee *eem.Employee `json:"employee,omitempty"`
|
||||||
|
Time *time.Time `json:"time"`
|
||||||
|
Value *string `json:"value"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d Adime) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Encounter_Id: d.Encounter_Id,
|
||||||
|
Encounter: d.Encounter,
|
||||||
|
Employee_Id: d.Employee_Id,
|
||||||
|
Employee: d.Employee,
|
||||||
|
Time: d.Time,
|
||||||
|
Value: d.Value,
|
||||||
|
}
|
||||||
|
resp.Main = d.Main
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []Adime) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package adime
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
eem "simrs-vx/internal/domain/main-entities/employee"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Adime struct {
|
||||||
|
ecore.Main // adjust this according to the needs
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
|
Employee_Id *uint `json:"employee_id"`
|
||||||
|
Employee *eem.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"`
|
||||||
|
Time *time.Time `json:"time"`
|
||||||
|
Value *string `json:"value"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package ambulance_transport_req
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
eds "simrs-vx/internal/domain/main-entities/district"
|
||||||
|
ept "simrs-vx/internal/domain/main-entities/patient"
|
||||||
|
epr "simrs-vx/internal/domain/main-entities/province"
|
||||||
|
erg "simrs-vx/internal/domain/main-entities/regency"
|
||||||
|
evl "simrs-vx/internal/domain/main-entities/village"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
eren "simrs-vx/internal/domain/references/encounter"
|
||||||
|
erp "simrs-vx/internal/domain/references/person"
|
||||||
|
)
|
||||||
|
|
||||||
|
type AmbulanceTransportReq struct {
|
||||||
|
ecore.Main
|
||||||
|
Patient_Id *uint `json:"patient_id"`
|
||||||
|
Patient *ept.Patient `json:"patient,omitempty" gorm:"foreignKey:Patient_Id;references:Id"`
|
||||||
|
|
||||||
|
Diagnoses *string `json:"diagnoses" gorm:"size:1024"`
|
||||||
|
RequestData *time.Time `json:"requestData"`
|
||||||
|
UsageDate *time.Time `json:"usageDate"`
|
||||||
|
|
||||||
|
Address *string `json:"address" gorm:"size:100"`
|
||||||
|
RtRw *string `json:"rtRw" gorm:"size:10"`
|
||||||
|
|
||||||
|
Province_Code *string `json:"province_code" gorm:"size:2"`
|
||||||
|
Province *epr.Province `json:"province,omitempty" gorm:"foreignKey:Province_Code;references:Code"`
|
||||||
|
|
||||||
|
Regency_Code *string `json:"regency_code" gorm:"size:4"`
|
||||||
|
Regency *erg.Regency `json:"regency,omitempty" gorm:"foreignKey:Regency_Code;references:Code"`
|
||||||
|
|
||||||
|
District_Code *string `json:"district_code" gorm:"size:6"`
|
||||||
|
District *eds.District `json:"district,omitempty" gorm:"foreignKey:District_Code;references:Code"`
|
||||||
|
|
||||||
|
Village_Code *string `json:"village_code" gorm:"size:10"`
|
||||||
|
Village *evl.Village `json:"village,omitempty" gorm:"foreignKey:Village_Code;references:Code"`
|
||||||
|
|
||||||
|
Facility_Code *eren.AmbulanceFacilityCode `json:"facility_code" gorm:"size:10"`
|
||||||
|
Needs_Code *eren.AmbulanceNeedsCode `json:"needs_code" gorm:"size:10"`
|
||||||
|
Contact_Name *string `json:"contact_name" gorm:"size:100"`
|
||||||
|
Contact_Relationship_Code *erp.RelationshipCode `json:"contact_relationship_code" gorm:"size:10"`
|
||||||
|
Contact_PhoneNumber *string `json:"contact_phoneNumber" gorm:"size:20"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package ambulatory
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
ere "simrs-vx/internal/domain/references/encounter"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Class_Code ere.AmbulatoryClassCode `json:"class_code" validate:"maxLength=10"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Encounter_Id *uint `json:"encounter-id"`
|
||||||
|
Class_Code ere.AmbulatoryClassCode `json:"class-code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.Main
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
||||||
|
Class_Code ere.AmbulatoryClassCode `json:"class_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d Ambulatory) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{}
|
||||||
|
resp.Main = d.Main
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []Ambulatory) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package ambulatory
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
|
||||||
|
ere "simrs-vx/internal/domain/references/encounter"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Ambulatory struct {
|
||||||
|
ecore.Main // adjust this according to the needs
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
|
Class_Code ere.AmbulatoryClassCode `json:"class_code" gorm:"size:10"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
package appointment
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ep "simrs-vx/internal/domain/main-entities/patient"
|
||||||
|
eps "simrs-vx/internal/domain/main-entities/practice-schedule"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
PracticeSchedule_Id *uint `json:"practiceSchedule_id"`
|
||||||
|
Patient_Id *uint `json:"patient_id"`
|
||||||
|
Person_ResidentIdentityNumber string `json:"person_residentIdentityNumber"`
|
||||||
|
Person_Name string `json:"person_name"`
|
||||||
|
Person_PhoneNumber string `json:"person_phoneNumber"`
|
||||||
|
PaymentMethod_Code erc.PaymentMethodCode `json:"paymentMethod_code"`
|
||||||
|
RefNumber string `json:"refNumber"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
PracticeSchedule_Id *uint `json:"practiceSchedule-id"`
|
||||||
|
Patient_Id *uint `json:"patient-id"`
|
||||||
|
Person_ResidentIdentityNumber string `json:"person-residentIdentityNumber"`
|
||||||
|
Person_Name string `json:"person-name"`
|
||||||
|
Person_PhoneNumber string `json:"person-phoneNumber"`
|
||||||
|
PaymentMethod_Code erc.PaymentMethodCode `json:"paymentMethod-code"`
|
||||||
|
RefNumber string `json:"refNumber"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.Main
|
||||||
|
PracticeSchedule_Id *uint `json:"practiceSchedule_id"`
|
||||||
|
PracticeSchedule *eps.PracticeSchedule `json:"practiceSchedule,omitempty"`
|
||||||
|
Patient_Id *uint `json:"patient_id"`
|
||||||
|
Patient *ep.Patient `json:"patient,omitempty"`
|
||||||
|
Person_ResidentIdentityNumber string `json:"person_residentIdentityNumber"`
|
||||||
|
Person_Name string `json:"person_name"`
|
||||||
|
Person_PhoneNumber string `json:"person_phoneNumber"`
|
||||||
|
PaymentMethod_Code erc.PaymentMethodCode `json:"paymentMethod_code"`
|
||||||
|
RefNumber string `json:"refNumber"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d Appointment) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
PracticeSchedule_Id: d.PracticeSchedule_Id,
|
||||||
|
PracticeSchedule: d.PracticeSchedule,
|
||||||
|
Patient_Id: d.Patient_Id,
|
||||||
|
Patient: d.Patient,
|
||||||
|
Person_ResidentIdentityNumber: d.Person_ResidentIdentityNumber,
|
||||||
|
Person_Name: d.Person_Name,
|
||||||
|
Person_PhoneNumber: d.Person_PhoneNumber,
|
||||||
|
PaymentMethod_Code: d.PaymentMethod_Code,
|
||||||
|
RefNumber: d.RefNumber,
|
||||||
|
}
|
||||||
|
resp.Main = d.Main
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []Appointment) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package appointment
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ep "simrs-vx/internal/domain/main-entities/patient"
|
||||||
|
eps "simrs-vx/internal/domain/main-entities/practice-schedule"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Appointment struct {
|
||||||
|
ecore.Main // adjust this according to the needs
|
||||||
|
PracticeSchedule_Id *uint `json:"practiceSchedule_id"`
|
||||||
|
PracticeSchedule *eps.PracticeSchedule `json:"practiceSchedule,omitempty" gorm:"foreignKey:PracticeSchedule_Id;references:Id"`
|
||||||
|
Patient_Id *uint `json:"patient_id"`
|
||||||
|
Patient *ep.Patient `json:"patient,omitempty" gorm:"foreignKey:Patient_Id;references:Id"`
|
||||||
|
Person_ResidentIdentityNumber string `json:"person_residentIdentityNumber" gorm:"size:16"`
|
||||||
|
Person_Name string `json:"person_name" gorm:"size:100"`
|
||||||
|
Person_PhoneNumber string `json:"person_phoneNumber" gorm:"size:30"`
|
||||||
|
PaymentMethod_Code erc.PaymentMethodCode `json:"paymentMethod_code" gorm:"size:10"`
|
||||||
|
RefNumber string `json:"refNumber" gorm:"size:20"`
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user