Merge branch 'migration' of https://github.com/dikstub-rssa/simrs-be into migration
This commit is contained in:
No files matched your search
@@ -27,6 +27,8 @@ go.work.sum
|
|||||||
# env file
|
# env file
|
||||||
.env
|
.env
|
||||||
config.yml
|
config.yml
|
||||||
|
Dockerfile-main-api
|
||||||
|
Dockerfile-sync-api
|
||||||
**/atlas.hcl
|
**/atlas.hcl
|
||||||
!**/atlas.hcl.example
|
!**/atlas.hcl.example
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
FROM golang:1.24.10 AS builder
|
||||||
|
WORKDIR /src
|
||||||
|
COPY go.mod go.sum ./
|
||||||
|
RUN go mod download
|
||||||
|
COPY . .
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -o ./cmd/main-api/main-api ./cmd/main-api/main.go
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=builder /src/assets .
|
||||||
|
COPY --from=builder /src/cmd/main-api/main-api .
|
||||||
|
COPY --from=builder /src/cmd/main-api/config.yml .
|
||||||
|
EXPOSE 8010
|
||||||
|
CMD ["./main-api"]
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
FROM golang:1.24.10 AS builder
|
||||||
|
WORKDIR /src
|
||||||
|
COPY go.mod go.sum ./
|
||||||
|
RUN go mod download
|
||||||
|
COPY . .
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -o ./cmd/simgos-sync-api/simgos-sync-api ./cmd/simgos-sync-api/main.go
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=builder /src/assets .
|
||||||
|
COPY --from=builder /src/cmd/simgos-sync-api/simgos-sync-api .
|
||||||
|
COPY --from=builder /src/cmd/simgos-sync-api/config.yml .
|
||||||
|
EXPOSE 8011
|
||||||
|
CMD ["./simgos-sync-api"]
|
||||||
@@ -0,0 +1,167 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
padding: 2rem 3rem;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.border-table,
|
||||||
|
.border-table td,
|
||||||
|
.border-table th {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
.section-title {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
.data-label {
|
||||||
|
width: 9rem;
|
||||||
|
}
|
||||||
|
.data-colon {
|
||||||
|
width: 0.1234rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="font-family: Arial, sans-serif; line-height: 1.4">
|
||||||
|
<!-- Tanggal Terbit (top-right) -->
|
||||||
|
<div style="
|
||||||
|
text-align: right;
|
||||||
|
margin-right: 2rem;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
">
|
||||||
|
Tanggal Terbit : {{ .IssuedDate }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Patient Info Box -->
|
||||||
|
<table
|
||||||
|
style="
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: 2rem; /* space from right like example */
|
||||||
|
border: 1px solid #000;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0.3rem 0.2rem;
|
||||||
|
width: auto;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 9rem;"><b>No. RM</b></td>
|
||||||
|
<td class="data-colon">:</td>
|
||||||
|
<td><b>{{ .MedicalRecord }}</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><b>Nama</b></td>
|
||||||
|
<td class="data-colon">:</td>
|
||||||
|
<td><b>{{ .Name }}</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><b>Tanggal Lahir</b></td>
|
||||||
|
<td class="data-colon">:</td>
|
||||||
|
<td>{{ .BirthDate }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr style="margin: 20px 0" />
|
||||||
|
<h1 style="
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin: 0;
|
||||||
|
">
|
||||||
|
FORM A
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4 class="section-title">Kajian Awal Medis:</i></h4>
|
||||||
|
<table style="margin-top: 0.3rem;">
|
||||||
|
|
||||||
|
{{ if gt (len .EarlyMedic) 0 }}
|
||||||
|
{{ range .EarlyMedic }}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
☑ {{ . }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4 class="section-title">ASSESMEN:</h4>
|
||||||
|
<table style="margin-top: 0.3rem;">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{{ .Assessment }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4 class="section-title">IDENTIFIKASI MASALAH:</h4>
|
||||||
|
<table style="margin-top: 0.3rem;">
|
||||||
|
{{ if gt (len .ProblemIdentification) 0 }}
|
||||||
|
{{ range .ProblemIdentification }}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
☑ {{ . }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4 class="section-title">PERENCANAAN:</h4>
|
||||||
|
<table style="margin-top: 0.3rem;">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{{ .Planning }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<table style="margin-top: 3rem;">
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td style="text-align: center; width: 15rem;">
|
||||||
|
{{ .Date }}<br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td style="height: 7rem;"></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td style="text-align: center; width: 15rem;">
|
||||||
|
({{ .Employee_Name }})
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div style="height: 3rem;"></div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
padding: 2rem 3rem;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-table,
|
||||||
|
.border-table td,
|
||||||
|
.border-table th {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
.section-title {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
.data-label {
|
||||||
|
width: 9rem;
|
||||||
|
}
|
||||||
|
.data-colon {
|
||||||
|
width: 0.1234rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="font-family: Arial, sans-serif; line-height: 1.4">
|
||||||
|
<!-- Tanggal Terbit (top-right) -->
|
||||||
|
<div style="
|
||||||
|
text-align: right;
|
||||||
|
margin-right: 2rem;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
">
|
||||||
|
Tanggal Terbit : {{ .IssuedDate }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Patient Info Box -->
|
||||||
|
<table
|
||||||
|
style="
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: 2rem; /* space from right like example */
|
||||||
|
border: 1px solid #000;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0.3rem 0.2rem;
|
||||||
|
width: auto;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 9rem;"><b>No. RM</b></td>
|
||||||
|
<td class="data-colon">:</td>
|
||||||
|
<td><b>{{ .MedicalRecord }}</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><b>Nama</b></td>
|
||||||
|
<td class="data-colon">:</td>
|
||||||
|
<td><b>{{ .Name }}</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><b>Tanggal Lahir</b></td>
|
||||||
|
<td class="data-colon">:</td>
|
||||||
|
<td>{{ .BirthDate }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table class="border-table"
|
||||||
|
style="margin-top: 1rem; width: 100%; table-layout: fixed;">
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th style="width: 3rem; text-align:center;">NO</th>
|
||||||
|
<th style="width: 9rem; text-align:center;">Tanggal/jam</th>
|
||||||
|
<th style="width: auto;">
|
||||||
|
Implementasi, Monitoring, Fasilitasi, koordinasi, komunikasi dan kolaborasi,
|
||||||
|
advokasi, hasil pelayanan, Terminasi
|
||||||
|
</th>
|
||||||
|
<th style="width: 9rem; text-align:center;">MPP</th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
{{ range .FormB }}
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: center;">{{ .Number }}</td>
|
||||||
|
<td style="text-align: center;">{{ .Date }}</td>
|
||||||
|
|
||||||
|
<td style="white-space: normal; word-wrap: break-word;">
|
||||||
|
{{ .Value }}
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td style="text-align: center; white-space: normal;">
|
||||||
|
{{ .Employee_Name }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div style="height: 3rem;"></div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,312 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>General Consent</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
padding: 2rem 3rem;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.border-table, .border-table td, .border-table th {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
.section-title {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
.data-label {
|
||||||
|
width: 9rem;
|
||||||
|
}
|
||||||
|
.data-colon {
|
||||||
|
width: 0.1234rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="font-family: Arial, sans-serif; line-height: 1.4">
|
||||||
|
<table style="width: 100%; border-collapse: collapse">
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: center">
|
||||||
|
<img src="logo-1.png" alt="logo" style="height: 70px" />
|
||||||
|
</td>
|
||||||
|
<td style="text-align: center">
|
||||||
|
<div style="font-size: 14px; font-weight: bold">
|
||||||
|
PEMERINTAH PROVINSI JAWA TIMUR
|
||||||
|
</div>
|
||||||
|
<div style="font-size: 14px; font-weight: bold">
|
||||||
|
RUMAH SAKIT UMUM DAERAH Dr. SAIFUL ANWAR
|
||||||
|
</div>
|
||||||
|
<div style="font-size: 13px">
|
||||||
|
TERAKREDITASI KARS VERSI 2012 TINGKAT PARIPURNA
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 8px">
|
||||||
|
Jl. Jaksa Agung Suprapto No. 2 MALANG 65111
|
||||||
|
</div>
|
||||||
|
<div>Telp. (0341) 362101, Fax. (0341) 362110</div>
|
||||||
|
<div>Email: [email protected]</div>
|
||||||
|
<div>Website: www.rsudsaifulanwar.jatimprov.go.id</div>
|
||||||
|
</td>
|
||||||
|
<td style="text-align: center">
|
||||||
|
<img src="logo-rssa.png" alt="logo" style="height: 70px" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr style="margin: 20px 0" />
|
||||||
|
|
||||||
|
<div style="position: relative;">
|
||||||
|
<h1 style="
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin: 0;
|
||||||
|
">
|
||||||
|
Protokol Terapi
|
||||||
|
</h1>
|
||||||
|
<p style="
|
||||||
|
margin: 0;
|
||||||
|
text-align: center;
|
||||||
|
">Layanan Kedokteran Fisik dan Rehabilitasi
|
||||||
|
</p>
|
||||||
|
<div style="padding-inline: 0.5rem;text-align: center;border: 1px solid black;position: absolute;right: 0;top: 0;">
|
||||||
|
Terapi Ke <br><br>
|
||||||
|
{{ .Repalcable }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<table class="border-table" style="margin-top: 2rem;">
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
No RM
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Nama Pasien
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Tanggal Lahir
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Diagnosa
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Permintaan Terapi
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Frekuensi Terapi
|
||||||
|
</td>
|
||||||
|
<td style="padding-left: 0.5rem;">
|
||||||
|
2 x Per Minggu      
|
||||||
|
Evaluasi: 1 Bulan
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Target Terapi
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Waktu Mencapai Target
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<table class="border-table" style="margin-top: 1rem;">
|
||||||
|
<tr>
|
||||||
|
<th style="width: 2rem;">
|
||||||
|
NO
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Tanggal
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Dokter
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Fisioterapi
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Terapi Wicara
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Okupansi Terapi
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Ortotik Prostetik
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
PSM
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
TTD Pasien
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
1
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
2
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
3
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
4
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
5
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
6
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
7
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 3rem;text-align: center;">
|
||||||
|
8
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<table class="border-table" style="margin-top: 1rem;">
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;width: 7rem;">
|
||||||
|
Evaluasi
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Rencana Selanjutnya
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table style="margin-top: 2rem;">
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td style="width: 15rem;">
|
||||||
|
Malang,<br>
|
||||||
|
Cap dan TTD Dr. SpKFR
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td style="height: 6rem;"></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td style="height: 10rem;width: 15rem;">
|
||||||
|
(........................................................)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div style="height: 3rem;"></div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>General Consent</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
padding: 2rem 3rem;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.border-table, .border-table td, .border-table th {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
.section-title {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
.data-label {
|
||||||
|
width: 9rem;
|
||||||
|
}
|
||||||
|
.data-colon {
|
||||||
|
width: 0.1234rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="font-family: Arial, sans-serif; line-height: 1.4">
|
||||||
|
<table style="width: 100%; border-collapse: collapse">
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: center">
|
||||||
|
<img src="logo-1.png" alt="logo" style="height: 70px" />
|
||||||
|
</td>
|
||||||
|
<td style="text-align: center">
|
||||||
|
<div style="font-size: 14px; font-weight: bold">
|
||||||
|
PEMERINTAH PROVINSI JAWA TIMUR
|
||||||
|
</div>
|
||||||
|
<div style="font-size: 14px; font-weight: bold">
|
||||||
|
RUMAH SAKIT UMUM DAERAH Dr. SAIFUL ANWAR
|
||||||
|
</div>
|
||||||
|
<div style="font-size: 13px">
|
||||||
|
TERAKREDITASI KARS VERSI 2012 TINGKAT PARIPURNA
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 8px">
|
||||||
|
Jl. Jaksa Agung Suprapto No. 2 MALANG 65111
|
||||||
|
</div>
|
||||||
|
<div>Telp. (0341) 362101, Fax. (0341) 362110</div>
|
||||||
|
<div>Email: [email protected]</div>
|
||||||
|
<div>Website: www.rsudsaifulanwar.jatimprov.go.id</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr style="margin: 20px 0" />
|
||||||
|
|
||||||
|
|
||||||
|
<table class="border-table" style="margin-top: 1rem;">
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
No RM:
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Nama Pasien
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;">
|
||||||
|
Diagnosa
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 7rem;min-height: 6rem;">
|
||||||
|
Permintaan Terapi
|
||||||
|
</td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<table class="border-table" style="margin-top: 1rem;">
|
||||||
|
<tr>
|
||||||
|
<th rowspan="2" style="width: 17rem;">
|
||||||
|
PELAKSANAAN PROGRAM
|
||||||
|
</th>
|
||||||
|
<th rowspan="2">
|
||||||
|
Tanggal
|
||||||
|
</th>
|
||||||
|
<th colspan="3">
|
||||||
|
TTD
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
PASIEN
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
DOKTER
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
TERAPIS
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">1. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">2. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">3. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">4. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">5. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">6. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">7. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">8. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">9. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">10. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">11. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">12. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">13. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">14. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">15. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">16. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">17. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">18. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">19. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 2rem;padding-left: 0.5rem;">20. {{ .Repalcable }}</td>
|
||||||
|
<td>{{ .Repalcable }}</td><td></td><td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<table style="margin-top: 2rem;">
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td style="width: 15rem;">
|
||||||
|
Tempat & Tanggal<br>
|
||||||
|
Cap dan TTD Dr. SpKFR
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td style="height: 6rem;"></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td style="width: 15rem;">
|
||||||
|
(.................................................)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div style="height: 3rem;"></div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,241 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>General Consent</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
padding: 2rem 3rem;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.border-table,
|
||||||
|
.border-table td,
|
||||||
|
.border-table th {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
.section-title {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
.data-label {
|
||||||
|
width: 9rem;
|
||||||
|
}
|
||||||
|
.data-colon {
|
||||||
|
width: 0.1234rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="font-family: Arial, sans-serif; line-height: 1.4">
|
||||||
|
<table style="width: 100%; border-collapse: collapse">
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: center">
|
||||||
|
<img src="logo-1.png" alt="logo" style="height: 70px" />
|
||||||
|
</td>
|
||||||
|
<td style="text-align: center">
|
||||||
|
<div style="font-size: 14px; font-weight: bold">
|
||||||
|
PEMERINTAH PROVINSI JAWA TIMUR
|
||||||
|
</div>
|
||||||
|
<div style="font-size: 14px; font-weight: bold">
|
||||||
|
RUMAH SAKIT UMUM DAERAH Dr. SAIFUL ANWAR
|
||||||
|
</div>
|
||||||
|
<div style="font-size: 13px">
|
||||||
|
TERAKREDITASI KARS VERSI 2012 TINGKAT PARIPURNA
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 8px">
|
||||||
|
Jl. Jaksa Agung Suprapto No. 2 MALANG 65111
|
||||||
|
</div>
|
||||||
|
<div>Telp. (0341) 362101, Fax. (0341) 362110</div>
|
||||||
|
<div>Email: [email protected]</div>
|
||||||
|
<div>Website: www.rsudsaifulanwar.jatimprov.go.id</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr style="margin: 20px 0" />
|
||||||
|
|
||||||
|
<div style="position: relative;">
|
||||||
|
<h1 style="
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin: 0;
|
||||||
|
">
|
||||||
|
Lembar Formulir Rawat Jalan <br> Layanan Kedokteran Fisik dan Rehabilitasi
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
border: 1px solid black;
|
||||||
|
padding: 0.3rem;
|
||||||
|
">
|
||||||
|
<table style="margin-top: 0.3rem;margin-bottom: 0.3rem;">
|
||||||
|
<tr>
|
||||||
|
<td style="width: 19rem;"><b>I. Identitas Pasien</b></td>
|
||||||
|
<td style="width: 4rem;">No. RM</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 10rem; height: 1.5rem;">
|
||||||
|
Nama Pasien
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Tanggal Lahir
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Aalamat
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Telp / HP
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Hubungan dengan Tertanggung
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>
|
||||||
|
☑ Suami / Istri
|
||||||
|
  
|
||||||
|
▢ Anak
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div style="
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
border: 1px solid black;
|
||||||
|
padding: 0.3rem;
|
||||||
|
">
|
||||||
|
<table style="margin-top: 0.3rem;margin-bottom: 0.3rem;">
|
||||||
|
<tr>
|
||||||
|
<td style="width: 19rem;"><b>II. Diisi oleh Dokter SpKFR</b></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 14rem; height: 1.5rem;">
|
||||||
|
Tanggal Pelayanan
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Anamnesa
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Pemeriksaan Fisik dan Uji Fungsi
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Diagnosis Medis (ICD-10)
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Diagnosis Fungsi (ICD-10)
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Pemeriksaan Penunjang
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Tata Laksana KFR (ICD 9 CM)
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Anjuran
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Evaluasi
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>{{ .Repalcable }}</td></tr>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 1.5rem;">
|
||||||
|
Suspek Penyakit Akibat Kerja
|
||||||
|
</td>
|
||||||
|
<td class="data-colon">: </td>
|
||||||
|
<td>
|
||||||
|
☑ Ya   ( {{ .Repalcable }} )
|
||||||
|
|
||||||
|
<br>
|
||||||
|
▢ Tidak
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table style="margin-top: 2rem;">
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: center;">
|
||||||
|
TTD Pasien
|
||||||
|
</td>
|
||||||
|
<td style="text-align: center;">
|
||||||
|
Tempat & Tanggal<br>
|
||||||
|
Cap dan TTD Dr. SpKFR
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td style="height: 6rem;"></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td style="height: 10rem;text-align: center;">
|
||||||
|
(........................................................)
|
||||||
|
</td>
|
||||||
|
<td style="height: 10rem;text-align: center;">
|
||||||
|
(........................................................)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div style="height: 3rem;"></div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@@ -66,9 +66,11 @@ bpjsCfg:
|
|||||||
baseUrl:
|
baseUrl:
|
||||||
|
|
||||||
syncUrlCfg:
|
syncUrlCfg:
|
||||||
enable: false
|
enable: false
|
||||||
host:
|
targetHost:
|
||||||
prefix: new-to-old
|
prefix: new-to-old
|
||||||
|
source: old-app
|
||||||
|
secretKey: new-world-order!!
|
||||||
|
|
||||||
docsCfg:
|
docsCfg:
|
||||||
path: ../../assets/docs/
|
path: ../../assets/docs/
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Soapi" table
|
||||||
|
ALTER TABLE "public"."Soapi" ALTER COLUMN "TypeCode" TYPE character varying(15);
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
-- Modify "Consultation" table
|
||||||
|
ALTER TABLE "public"."Consultation" ALTER COLUMN "DstUnit_Code" TYPE character varying(20);
|
||||||
|
-- Modify "ControlLetter" table
|
||||||
|
ALTER TABLE "public"."ControlLetter" ALTER COLUMN "Unit_Code" TYPE character varying(20), ALTER COLUMN "Specialist_Code" TYPE character varying(20), ALTER COLUMN "Subspecialist_Code" TYPE character varying(20);
|
||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" ALTER COLUMN "Specialist_Code" TYPE character varying(20), ALTER COLUMN "Subspecialist_Code" TYPE character varying(20), ALTER COLUMN "Unit_Code" TYPE character varying(20);
|
||||||
|
-- Modify "Chemo" table
|
||||||
|
ALTER TABLE "public"."Chemo" ALTER COLUMN "SrcUnit_Code" TYPE character varying(20);
|
||||||
|
-- Modify "Installation" table
|
||||||
|
ALTER TABLE "public"."Installation" ALTER COLUMN "Code" TYPE character varying(20);
|
||||||
|
-- Modify "InternalReference" table
|
||||||
|
ALTER TABLE "public"."InternalReference" ALTER COLUMN "Unit_Code" TYPE character varying(20);
|
||||||
|
-- Modify "PracticeSchedule" table
|
||||||
|
ALTER TABLE "public"."PracticeSchedule" ALTER COLUMN "Unit_Code" TYPE character varying(20);
|
||||||
|
-- Create "DevicePackage" table
|
||||||
|
CREATE TABLE "public"."DevicePackage" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NOT NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_DevicePackage_Code" UNIQUE ("Code")
|
||||||
|
);
|
||||||
|
-- Create "DevicePackageItem" table
|
||||||
|
CREATE TABLE "public"."DevicePackageItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"DevicePackage_Code" character varying(20) NOT NULL,
|
||||||
|
"Device_Code" character varying(20) NOT NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_DevicePackageItem_Device" FOREIGN KEY ("Device_Code") REFERENCES "public"."Device" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_DevicePackageItem_DevicePackage" FOREIGN KEY ("DevicePackage_Code") REFERENCES "public"."DevicePackage" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "MaterialPackage" table
|
||||||
|
CREATE TABLE "public"."MaterialPackage" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NOT NULL,
|
||||||
|
"Name" character varying(50) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_MaterialPackage_Code" UNIQUE ("Code")
|
||||||
|
);
|
||||||
|
-- Create "MaterialPackageItem" table
|
||||||
|
CREATE TABLE "public"."MaterialPackageItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"MaterialPackage_Code" character varying(20) NOT NULL,
|
||||||
|
"Material_Code" character varying(20) NOT NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_MaterialPackageItem_Material" FOREIGN KEY ("Material_Code") REFERENCES "public"."Material" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_MaterialPackageItem_MaterialPackage" FOREIGN KEY ("MaterialPackage_Code") REFERENCES "public"."MaterialPackage" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Modify "Infra" table
|
||||||
|
ALTER TABLE "public"."Infra" ALTER COLUMN "Code" TYPE character varying(20), ALTER COLUMN "InfraGroup_Code" TYPE character varying(20), ALTER COLUMN "Parent_Code" TYPE character varying(20);
|
||||||
|
-- Modify "Specialist" table
|
||||||
|
ALTER TABLE "public"."Specialist" ALTER COLUMN "Code" TYPE character varying(20), ALTER COLUMN "Unit_Code" TYPE character varying(20);
|
||||||
|
-- Modify "Subspecialist" table
|
||||||
|
ALTER TABLE "public"."Subspecialist" ALTER COLUMN "Code" TYPE character varying(20), ALTER COLUMN "Specialist_Code" TYPE character varying(20);
|
||||||
|
-- Modify "Unit" table
|
||||||
|
ALTER TABLE "public"."Unit" ALTER COLUMN "Code" TYPE character varying(20), ALTER COLUMN "Installation_Code" TYPE character varying(20);
|
||||||
|
-- Create "ProcedureRoom" table
|
||||||
|
CREATE TABLE "public"."ProcedureRoom" (
|
||||||
|
"Id" serial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Code" character varying(20) NULL,
|
||||||
|
"Infra_Code" character varying(20) NULL,
|
||||||
|
"Type_Code" character varying(10) NULL,
|
||||||
|
"Unit_Code" character varying(20) NULL,
|
||||||
|
"Specialist_Code" character varying(20) NULL,
|
||||||
|
"Subspecialist_Code" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_ProcedureRoom_Code" UNIQUE ("Code"),
|
||||||
|
CONSTRAINT "uni_ProcedureRoom_Infra_Code" UNIQUE ("Infra_Code"),
|
||||||
|
CONSTRAINT "fk_ProcedureRoom_Infra" FOREIGN KEY ("Infra_Code") REFERENCES "public"."Infra" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_ProcedureRoom_Specialist" FOREIGN KEY ("Specialist_Code") REFERENCES "public"."Specialist" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_ProcedureRoom_Subspecialist" FOREIGN KEY ("Subspecialist_Code") REFERENCES "public"."Subspecialist" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_ProcedureRoom_Unit" FOREIGN KEY ("Unit_Code") REFERENCES "public"."Unit" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "ProcedureRoomOrder" table
|
||||||
|
CREATE TABLE "public"."ProcedureRoomOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Infra_Code" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_ProcedureRoomOrder_ProcedureRoom" FOREIGN KEY ("Infra_Code") REFERENCES "public"."ProcedureRoom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Drop "Room" table
|
||||||
|
DROP TABLE "public"."Room";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ProcedureRoomOrder" table
|
||||||
|
ALTER TABLE "public"."ProcedureRoomOrder" ADD COLUMN "MaterialPackage_Code" character varying(20) NULL, ADD CONSTRAINT "fk_ProcedureRoomOrder_MaterialPackage" FOREIGN KEY ("MaterialPackage_Code") REFERENCES "public"."MaterialPackage" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ProcedureRoomOrder" table
|
||||||
|
ALTER TABLE "public"."ProcedureRoomOrder" ADD COLUMN "Status_Code" character varying(20) NULL;
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
-- Modify "MaterialPackageItem" table
|
||||||
|
ALTER TABLE "public"."MaterialPackageItem" ADD COLUMN "Count" integer NULL;
|
||||||
|
-- Create "ProcedureRoomOrderItem" table
|
||||||
|
CREATE TABLE "public"."ProcedureRoomOrderItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"ProcedureRoomOrder_Id" bigint NULL,
|
||||||
|
"ProcedureRoom_Code" character varying(20) NULL,
|
||||||
|
"Note" character varying(255) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_ProcedureRoomOrderItem_ProcedureRoom" FOREIGN KEY ("ProcedureRoom_Code") REFERENCES "public"."ProcedureRoom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
-- Modify "ProcedureRoomOrder" table
|
||||||
|
ALTER TABLE "public"."ProcedureRoomOrder" DROP COLUMN "Infra_Code";
|
||||||
|
-- Modify "ProcedureRoomOrderItem" table
|
||||||
|
ALTER TABLE "public"."ProcedureRoomOrderItem" ADD CONSTRAINT "fk_ProcedureRoomOrderItem_ProcedureRoomOrder" FOREIGN KEY ("ProcedureRoomOrder_Id") REFERENCES "public"."ProcedureRoomOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
-- Modify "Chemo" table
|
||||||
|
ALTER TABLE "public"."Chemo" ADD COLUMN "Doctor_Code" character varying(20) NULL, ADD COLUMN "NextChemoDate" timestamptz NULL, ADD CONSTRAINT "fk_Chemo_Doctor" FOREIGN KEY ("Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Rename a column from "Encounter_Id" to "Chemo_Id"
|
||||||
|
ALTER TABLE "public"."ChemoProtocol" RENAME COLUMN "Encounter_Id" TO "Chemo_Id";
|
||||||
|
-- Modify "ChemoProtocol" table
|
||||||
|
ALTER TABLE "public"."ChemoProtocol" DROP CONSTRAINT "fk_ChemoProtocol_Encounter", ALTER COLUMN "DurationUnit_Code" TYPE text, ADD COLUMN "Interval" bigint NULL, ADD COLUMN "Cycle" bigint NULL, ADD COLUMN "Series" integer NULL, ADD COLUMN "Status_Code" text NULL, ADD CONSTRAINT "fk_ChemoProtocol_Chemo" FOREIGN KEY ("Chemo_Id") REFERENCES "public"."Chemo" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Create "ChemoPlan" table
|
||||||
|
CREATE TABLE "public"."ChemoPlan" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Parent_Id" bigint NULL,
|
||||||
|
"Protocol_Id" bigint NULL,
|
||||||
|
"SeriesNumber" integer NULL,
|
||||||
|
"CycleNumber" bigint NULL,
|
||||||
|
"PlanDate" timestamptz NULL,
|
||||||
|
"RealizationDate" timestamptz NULL,
|
||||||
|
"Notes" text NULL,
|
||||||
|
"Status" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_ChemoPlan_Protocol" FOREIGN KEY ("Protocol_Id") REFERENCES "public"."ChemoProtocol" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ChemoPlan" table
|
||||||
|
ALTER TABLE "public"."ChemoPlan" DROP CONSTRAINT "fk_ChemoPlan_Protocol", ADD CONSTRAINT "fk_ChemoProtocol_ChemoPlans" FOREIGN KEY ("Protocol_Id") REFERENCES "public"."ChemoProtocol" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ChemoProtocol" table
|
||||||
|
ALTER TABLE "public"."ChemoProtocol" ADD COLUMN "Patient_Id" bigint NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ChemoProtocol" table
|
||||||
|
ALTER TABLE "public"."ChemoProtocol" ADD COLUMN "VerifiedAt" timestamptz NULL, ADD COLUMN "VerifiedBy_User_Id" bigint NULL, ADD CONSTRAINT "fk_ChemoProtocol_VerifiedBy" FOREIGN KEY ("VerifiedBy_User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
-- Create "ProcedureReport" table
|
||||||
|
CREATE TABLE "public"."ProcedureReport" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Date" timestamptz NOT NULL,
|
||||||
|
"Doctor_Code" character varying(10) NULL,
|
||||||
|
"Operator_Name" text NULL,
|
||||||
|
"Assistant_Name" text NULL,
|
||||||
|
"Instrumentor_Name" text NULL,
|
||||||
|
"Diagnose" character varying(1024) NULL,
|
||||||
|
"Nurse_Name" character varying(10) NULL,
|
||||||
|
"Anesthesia_Doctor_Code" character varying(10) NULL,
|
||||||
|
"Anesthesia_Nurse_Name" text NULL,
|
||||||
|
"ProcedureValue" text NULL,
|
||||||
|
"ExecutionValue" text NULL,
|
||||||
|
"Type_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_ProcedureReport_Anesthesia_Doctor" FOREIGN KEY ("Anesthesia_Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_ProcedureReport_Doctor" FOREIGN KEY ("Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_ProcedureReport_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Drop "ActionReport" table
|
||||||
|
DROP TABLE "public"."ActionReport";
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
-- Create "ApMcuOrder" table
|
||||||
|
CREATE TABLE "public"."ApMcuOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"McuOrder_Id" smallint NULL,
|
||||||
|
"Substances" text NULL,
|
||||||
|
"Fictations" text NULL,
|
||||||
|
"Localization" text NULL,
|
||||||
|
"ClinicalDiagnoses" text NULL,
|
||||||
|
"Stadium" text NULL,
|
||||||
|
"ClinicalNotes" text NULL,
|
||||||
|
"PastHistory" text NULL,
|
||||||
|
"CurrentHistory" text NULL,
|
||||||
|
"PrevApMcu" text NULL,
|
||||||
|
"PrevApMcuNotes" text NULL,
|
||||||
|
"SupportingExams" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_ApMcuOrder_McuOrder_Id" UNIQUE ("McuOrder_Id"),
|
||||||
|
CONSTRAINT "fk_ApMcuOrder_McuOrder" FOREIGN KEY ("McuOrder_Id") REFERENCES "public"."McuOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
-- Modify "ApMcuOrder" table
|
||||||
|
ALTER TABLE "public"."ApMcuOrder" DROP COLUMN "McuOrder_Id", ADD COLUMN "Encounter_Id" bigint NULL, ADD COLUMN "Number" bigint NULL, ADD COLUMN "Doctor_Code" character varying(20) NULL, ADD CONSTRAINT "uni_ApMcuOrder_Doctor_Code" UNIQUE ("Doctor_Code"), ADD CONSTRAINT "fk_ApMcuOrder_Doctor" FOREIGN KEY ("Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, ADD CONSTRAINT "fk_ApMcuOrder_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Create "CpMcuOrder" table
|
||||||
|
CREATE TABLE "public"."CpMcuOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Number" bigint NULL,
|
||||||
|
"Doctor_Code" character varying(20) NULL,
|
||||||
|
"UrgencyLevel_Code" character varying(15) NOT NULL,
|
||||||
|
"OtherNotes" text NULL,
|
||||||
|
"ExamScheduleDate" timestamptz NULL,
|
||||||
|
"Resume" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_CpMcuOrder_Doctor_Code" UNIQUE ("Doctor_Code"),
|
||||||
|
CONSTRAINT "fk_CpMcuOrder_Doctor" FOREIGN KEY ("Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_CpMcuOrder_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "CpMcuOrderItem" table
|
||||||
|
CREATE TABLE "public"."CpMcuOrderItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"CpMcuOrder_Id" bigint NULL,
|
||||||
|
"McuSrc_Code" character varying(20) NULL,
|
||||||
|
"Note" character varying(1024) NULL,
|
||||||
|
"Result" text NULL,
|
||||||
|
"Status_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_CpMcuOrderItem_CpMcuOrder" FOREIGN KEY ("CpMcuOrder_Id") REFERENCES "public"."CpMcuOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_CpMcuOrderItem_McuSrc" FOREIGN KEY ("McuSrc_Code") REFERENCES "public"."McuSrc" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "MicroMcuOrder" table
|
||||||
|
CREATE TABLE "public"."MicroMcuOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Number" bigint NULL,
|
||||||
|
"Doctor_Code" character varying(20) NULL,
|
||||||
|
"Stage_Code" character varying(10) NOT NULL,
|
||||||
|
"AxillaryTemp" numeric NULL,
|
||||||
|
"OtherNotes" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_MicroMcuOrder_Doctor_Code" UNIQUE ("Doctor_Code"),
|
||||||
|
CONSTRAINT "fk_MicroMcuOrder_Doctor" FOREIGN KEY ("Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_MicroMcuOrder_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "MicroMcuOrderItem" table
|
||||||
|
CREATE TABLE "public"."MicroMcuOrderItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"MicroMcuOrder_Id" bigint NULL,
|
||||||
|
"McuSrc_Code" character varying(20) NULL,
|
||||||
|
"Note" character varying(1024) NULL,
|
||||||
|
"Result" text NULL,
|
||||||
|
"Status_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_MicroMcuOrderItem_McuSrc" FOREIGN KEY ("McuSrc_Code") REFERENCES "public"."McuSrc" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_MicroMcuOrderItem_MicroMcuOrder" FOREIGN KEY ("MicroMcuOrder_Id") REFERENCES "public"."MicroMcuOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "RadiologyMcuOrder" table
|
||||||
|
CREATE TABLE "public"."RadiologyMcuOrder" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Encounter_Id" bigint NULL,
|
||||||
|
"Number" bigint NULL,
|
||||||
|
"Doctor_Code" character varying(20) NULL,
|
||||||
|
"ClinicalNotes" text NULL,
|
||||||
|
"OtherNotes" text NULL,
|
||||||
|
"Resume" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_RadiologyMcuOrder_Doctor_Code" UNIQUE ("Doctor_Code"),
|
||||||
|
CONSTRAINT "fk_RadiologyMcuOrder_Doctor" FOREIGN KEY ("Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_RadiologyMcuOrder_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Create "RadiologyMcuOrderItem" table
|
||||||
|
CREATE TABLE "public"."RadiologyMcuOrderItem" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"RadiologyMcuOrder_Id" bigint NULL,
|
||||||
|
"McuSrc_Code" character varying(20) NULL,
|
||||||
|
"Note" character varying(1024) NULL,
|
||||||
|
"Result" text NULL,
|
||||||
|
"Status_Code" text NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_RadiologyMcuOrderItem_McuSrc" FOREIGN KEY ("McuSrc_Code") REFERENCES "public"."McuSrc" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_RadiologyMcuOrderItem_RadiologyMcuOrder" FOREIGN KEY ("RadiologyMcuOrder_Id") REFERENCES "public"."RadiologyMcuOrder" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
-- Modify "ApMcuOrder" table
|
||||||
|
ALTER TABLE "public"."ApMcuOrder" ADD COLUMN "Status_Code" character varying(10) NOT NULL;
|
||||||
|
-- Modify "CpMcuOrder" table
|
||||||
|
ALTER TABLE "public"."CpMcuOrder" ADD COLUMN "Status_Code" character varying(10) NOT NULL;
|
||||||
|
-- Modify "MicroMcuOrder" table
|
||||||
|
ALTER TABLE "public"."MicroMcuOrder" ADD COLUMN "Status_Code" character varying(10) NOT NULL;
|
||||||
|
-- Modify "RadiologyMcuOrder" table
|
||||||
|
ALTER TABLE "public"."RadiologyMcuOrder" ADD COLUMN "Status_Code" character varying(10) NOT NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ChemoPlan" table
|
||||||
|
ALTER TABLE "public"."ChemoPlan" ADD COLUMN "Encounter_Id" bigint NULL, ADD CONSTRAINT "fk_ChemoPlan_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Chemo" table
|
||||||
|
ALTER TABLE "public"."Chemo" ADD COLUMN "Class_Code" text NULL;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ProcedureReport" table
|
||||||
|
ALTER TABLE "public"."ProcedureReport" ALTER COLUMN "Nurse_Name" TYPE text;
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "ChemoPlan" table
|
||||||
|
ALTER TABLE "public"."ChemoPlan" ADD COLUMN "Reasons" text NULL;
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
-- Create "Registration" table
|
||||||
|
CREATE TABLE "public"."Registration" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Employee_Id" bigint NULL,
|
||||||
|
"Installation_Code" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Registration_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Registration_Installation" FOREIGN KEY ("Installation_Code") REFERENCES "public"."Installation" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "Person" table
|
||||||
|
ALTER TABLE "public"."Person" ADD COLUMN "BirthPlace" text NULL;
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
-- Create "Registrator" table
|
||||||
|
CREATE TABLE "public"."Registrator" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Employee_Id" bigint NULL,
|
||||||
|
"Installation_Code" character varying(20) NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "fk_Registrator_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION,
|
||||||
|
CONSTRAINT "fk_Registrator_Installation" FOREIGN KEY ("Installation_Code") REFERENCES "public"."Installation" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
|
||||||
|
);
|
||||||
|
-- Drop "Registration" table
|
||||||
|
DROP TABLE "public"."Registration";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- Modify "User" table
|
||||||
|
ALTER TABLE "public"."User" ALTER COLUMN "Name" TYPE character varying(50);
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
-- Modify "Specialist" table
|
||||||
|
ALTER TABLE "public"."Specialist" DROP COLUMN "Unit_Code";
|
||||||
|
-- Rename a column from "SrcUnit_Code" to "Specialist_Code"
|
||||||
|
ALTER TABLE "public"."Chemo" RENAME COLUMN "SrcUnit_Code" TO "Specialist_Code";
|
||||||
|
-- Modify "Chemo" table
|
||||||
|
ALTER TABLE "public"."Chemo" DROP CONSTRAINT "fk_Chemo_SrcUnit", ADD CONSTRAINT "fk_Chemo_Specialist" FOREIGN KEY ("Specialist_Code") REFERENCES "public"."Specialist" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Modify "Doctor" table
|
||||||
|
ALTER TABLE "public"."Doctor" DROP COLUMN "Unit_Code";
|
||||||
|
-- Rename a column from "DstUnit_Code" to "Specialist_Code"
|
||||||
|
ALTER TABLE "public"."Consultation" RENAME COLUMN "DstUnit_Code" TO "Specialist_Code";
|
||||||
|
-- Rename a column from "DstDoctor_Code" to "Doctor_Code"
|
||||||
|
ALTER TABLE "public"."Consultation" RENAME COLUMN "DstDoctor_Code" TO "Doctor_Code";
|
||||||
|
-- Modify "Consultation" table
|
||||||
|
ALTER TABLE "public"."Consultation" DROP CONSTRAINT "fk_Consultation_DstDoctor", DROP CONSTRAINT "fk_Consultation_DstUnit", ADD CONSTRAINT "fk_Consultation_Doctor" FOREIGN KEY ("Doctor_Code") REFERENCES "public"."Doctor" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, ADD CONSTRAINT "fk_Consultation_Specialist" FOREIGN KEY ("Specialist_Code") REFERENCES "public"."Specialist" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Rename a column from "Unit_Code" to "Specialist_Code"
|
||||||
|
ALTER TABLE "public"."InternalReference" RENAME COLUMN "Unit_Code" TO "Specialist_Code";
|
||||||
|
-- Modify "InternalReference" table
|
||||||
|
ALTER TABLE "public"."InternalReference" DROP CONSTRAINT "fk_InternalReference_Unit", ADD CONSTRAINT "fk_InternalReference_Specialist" FOREIGN KEY ("Specialist_Code") REFERENCES "public"."Specialist" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Rename a column from "Unit_Code" to "Specialist_Code"
|
||||||
|
ALTER TABLE "public"."Nurse" RENAME COLUMN "Unit_Code" TO "Specialist_Code";
|
||||||
|
-- Modify "Nurse" table
|
||||||
|
ALTER TABLE "public"."Nurse" DROP CONSTRAINT "fk_Nurse_Unit", ADD CONSTRAINT "fk_Nurse_Specialist" FOREIGN KEY ("Specialist_Code") REFERENCES "public"."Specialist" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Rename a column from "Unit_Code" to "Specialist_Code"
|
||||||
|
ALTER TABLE "public"."PracticeSchedule" RENAME COLUMN "Unit_Code" TO "Specialist_Code";
|
||||||
|
-- Modify "PracticeSchedule" table
|
||||||
|
ALTER TABLE "public"."PracticeSchedule" DROP CONSTRAINT "fk_PracticeSchedule_Unit", ADD CONSTRAINT "fk_PracticeSchedule_Specialist" FOREIGN KEY ("Specialist_Code") REFERENCES "public"."Specialist" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
-- Modify "ControlLetter" table
|
||||||
|
ALTER TABLE "public"."ControlLetter" DROP COLUMN "Unit_Code";
|
||||||
|
-- Modify "Encounter" table
|
||||||
|
ALTER TABLE "public"."Encounter" DROP COLUMN "Unit_Code";
|
||||||
|
-- Modify "ProcedureRoom" table
|
||||||
|
ALTER TABLE "public"."ProcedureRoom" DROP COLUMN "Unit_Code";
|
||||||
|
-- Drop "UnitPosition" table
|
||||||
|
DROP TABLE "public"."UnitPosition";
|
||||||
|
-- Drop "Unit" table
|
||||||
|
DROP TABLE "public"."Unit";
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
-- Modify "Subspecialist" table
|
||||||
|
ALTER TABLE "public"."Subspecialist" ALTER COLUMN "Name" TYPE character varying(100);
|
||||||
|
-- Modify "Specialist" table
|
||||||
|
ALTER TABLE "public"."Specialist" ADD COLUMN "Installation_Code" character varying(20) NULL, ADD CONSTRAINT "fk_Specialist_Installation" FOREIGN KEY ("Installation_Code") REFERENCES "public"."Installation" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
h1:Ha8JZHXBp6W+fzzWOIT8TuDGwBAPu7d/JQa4hxKMCRw=
|
h1:bNByj2VsHOaJEMfbX3xRNdLNTeYIVgInihZwRFfBUpc=
|
||||||
20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k=
|
20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k=
|
||||||
20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0=
|
20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0=
|
||||||
20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI=
|
20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI=
|
||||||
@@ -138,4 +138,28 @@ h1:Ha8JZHXBp6W+fzzWOIT8TuDGwBAPu7d/JQa4hxKMCRw=
|
|||||||
20251201114751.sql h1:HM17diiPknfSHAmP+kJGP6GzToaPU9/NT+KQBpf3Jq0=
|
20251201114751.sql h1:HM17diiPknfSHAmP+kJGP6GzToaPU9/NT+KQBpf3Jq0=
|
||||||
20251201114913.sql h1:gqucFgHFFLA6n/Rdz486cZH5xkaJuwefESLJMJLDue8=
|
20251201114913.sql h1:gqucFgHFFLA6n/Rdz486cZH5xkaJuwefESLJMJLDue8=
|
||||||
20251202030445.sql h1:QWBVfTepT7DaXP5E0BYoxNM0JwKIQ2qIMXzI4kbz/qE=
|
20251202030445.sql h1:QWBVfTepT7DaXP5E0BYoxNM0JwKIQ2qIMXzI4kbz/qE=
|
||||||
20251202044430.sql h1:OC5NTh0Jf8NNLVTRIvNImPiaMqJfDWkksxWcKq3UjDE=
|
20251202044430.sql h1:4QZH9lz0GrQ9rzP1AJ+hJgGalNpp+8FCRckNK7xaTbU=
|
||||||
|
20251202064000.sql h1:/EN7sT1ol/91qW1aXWrzX+Mc3XOC/7f/LtfA0JRHpbg=
|
||||||
|
20251202130629.sql h1:9mvalqfhqGCdkcJepJDzHprU2xb0i5sYys1Htf62ioo=
|
||||||
|
20251202160848.sql h1:Kd2/TziKSMezrt4XgbjQcYvY/Lo9rX0qw7/Lz0/oyKk=
|
||||||
|
20251202180207.sql h1:IHmSMIO3ia+YV5GULixbdlV1joaUAWtnjQHPd8+HKiM=
|
||||||
|
20251202231005.sql h1:lua0KKoeBptSfs/6ehZE6Azo6YUlNkOJwGFyb1HQWkY=
|
||||||
|
20251203205052.sql h1:nk0VK2Uv4bHE3SBfHo/aevVZxtHzr7zAzvmMU8TCCtk=
|
||||||
|
20251205073858.sql h1:46qqXnArgJmzGE/WO7v7Ev8Jh7BudDiGbdANexq/5Dk=
|
||||||
|
20251205211957.sql h1:3fvtZ/mBWsTIXllXMFOuCLJsp4MivVP56dunehlU0yo=
|
||||||
|
20251205214433.sql h1:rn3++FEfX7ntcJcOmCEuOMnr27TZqH0KMGRppzFwFTc=
|
||||||
|
20251205221124.sql h1:CRruUvGZqlVDBmbQSVEl4wFm+uq30AurMMDI6sb8jxg=
|
||||||
|
20251206021053.sql h1:bpuEocu4lOhZ7oLuxd//22dzjfNgU2iaWEqSD1mVwoU=
|
||||||
|
20251207020537.sql h1:m6uh4NHVF3EKNTVMqOmuBSDFD9oCQk5mAwo05fT46G4=
|
||||||
|
20251207212015.sql h1:UPelYGTeUR6rm8mU8dfNzgRDEDun0UQ4tkgsaDljn30=
|
||||||
|
20251207221222.sql h1:bTfUCvCf2UPh+BA2IY2PHQafb9DwY9nhH5FRuMEHy+0=
|
||||||
|
20251209022744.sql h1:y5/PAiZH/fYCpDJpkQdNRJwWICHH2iNIwM1V+S1P6KA=
|
||||||
|
20251209025908.sql h1:p3kZA8kyEj+mQZSrdY3k2K1NojQzFJh/MlZJ0Oy6t/k=
|
||||||
|
20251209030538.sql h1:zltV6/Fu2zJW0/lVBl7MdnWuJcqNTUIRcqYYZ8Fi1wo=
|
||||||
|
20251209051742.sql h1:BBNSmWfkamWrcKdxWjPiBS9yJ8yyQQUQIj3kip53nuE=
|
||||||
|
20251209064304.sql h1:Xs73yQbuJvuQ0OnW1FAZpeytmUl/bGTlJFrwGOsTF4w=
|
||||||
|
20251209070128.sql h1:fPGE6xOV6uCiVOqnvwn2L/GsBbgp2wxgmZOhF3bSGGM=
|
||||||
|
20251209084929.sql h1:u4LPMvkGAH4RfGC2IlBTIm7T7paMHoBSvTQ0w5Br7d0=
|
||||||
|
20251210145148.sql h1:rejGrnTpaygxPv06v0vxMytF4rk1OJBXaw3ttSmidgc=
|
||||||
|
20251211101547.sql h1:+jT5yRCEsSRExzoawrqymS/I7lVfwUQQSgSzbxCxgRk=
|
||||||
|
20251211113942.sql h1:hRwiVZnXGzgUbqOk5TZ6ZHzGs1GebIFeIKkJNb+6+f0=
|
||||||
@@ -34,4 +34,12 @@ langCfg:
|
|||||||
|
|
||||||
corsCfg:
|
corsCfg:
|
||||||
allowedOrigin:
|
allowedOrigin:
|
||||||
allowedMethod: GET, POST, PUT, PATCH, DELETE, OPTIONS
|
allowedMethod: GET, POST, PUT, PATCH, DELETE, OPTIONS
|
||||||
|
|
||||||
|
syncPartnerCfg:
|
||||||
|
oldSource
|
||||||
|
oldSecretKey
|
||||||
|
oldHost
|
||||||
|
newSource
|
||||||
|
newSecretKey
|
||||||
|
newHost
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
a "github.com/karincake/apem"
|
|
||||||
|
|
||||||
h "simrs-vx/internal/interface/simgos-sync-handler"
|
h "simrs-vx/internal/interface/simgos-sync-handler"
|
||||||
|
|
||||||
|
a "github.com/karincake/apem"
|
||||||
|
|
||||||
d "github.com/karincake/apem/db-gorm-pg"
|
d "github.com/karincake/apem/db-gorm-pg"
|
||||||
|
|
||||||
l "github.com/karincake/apem/logger-zerolog"
|
l "github.com/karincake/apem/logger-zerolog"
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
-- Create "SoapiLink" table
|
||||||
|
CREATE TABLE "public"."SoapiLink" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Simx_Id" bigint NULL,
|
||||||
|
"Simgos_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_SoapiLink_Simgos_Id" UNIQUE ("Simgos_Id"),
|
||||||
|
CONSTRAINT "uni_SoapiLink_Simx_Id" UNIQUE ("Simx_Id")
|
||||||
|
);
|
||||||
|
-- Create "SoapiSimgosLog" table
|
||||||
|
CREATE TABLE "public"."SoapiSimgosLog" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
"Date" timestamptz NULL,
|
||||||
|
"Status" text NULL,
|
||||||
|
"ErrMessage" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
|
-- Create "SoapiSimxLog" table
|
||||||
|
CREATE TABLE "public"."SoapiSimxLog" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
"Date" timestamptz NULL,
|
||||||
|
"Status" text NULL,
|
||||||
|
"ErrMessage" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
-- Create "DoctorLink" table
|
||||||
|
CREATE TABLE "public"."DoctorLink" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Simx_Id" bigint NULL,
|
||||||
|
"Simgos_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_DoctorLink_Simgos_Id" UNIQUE ("Simgos_Id"),
|
||||||
|
CONSTRAINT "uni_DoctorLink_Simx_Id" UNIQUE ("Simx_Id")
|
||||||
|
);
|
||||||
|
-- Create "DoctorSimgosLog" table
|
||||||
|
CREATE TABLE "public"."DoctorSimgosLog" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
"Date" timestamptz NULL,
|
||||||
|
"Status" text NULL,
|
||||||
|
"ErrMessage" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
|
-- Create "DoctorSimxLog" table
|
||||||
|
CREATE TABLE "public"."DoctorSimxLog" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
"Date" timestamptz NULL,
|
||||||
|
"Status" text NULL,
|
||||||
|
"ErrMessage" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
|
-- Create "NurseLink" table
|
||||||
|
CREATE TABLE "public"."NurseLink" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Simx_Id" bigint NULL,
|
||||||
|
"Simgos_Id" bigint NULL,
|
||||||
|
PRIMARY KEY ("Id"),
|
||||||
|
CONSTRAINT "uni_NurseLink_Simgos_Id" UNIQUE ("Simgos_Id"),
|
||||||
|
CONSTRAINT "uni_NurseLink_Simx_Id" UNIQUE ("Simx_Id")
|
||||||
|
);
|
||||||
|
-- Create "NurseSimgosLog" table
|
||||||
|
CREATE TABLE "public"."NurseSimgosLog" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
"Date" timestamptz NULL,
|
||||||
|
"Status" text NULL,
|
||||||
|
"ErrMessage" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
|
-- Create "NurseSimxLog" table
|
||||||
|
CREATE TABLE "public"."NurseSimxLog" (
|
||||||
|
"Id" bigserial NOT NULL,
|
||||||
|
"CreatedAt" timestamptz NULL,
|
||||||
|
"UpdatedAt" timestamptz NULL,
|
||||||
|
"DeletedAt" timestamptz NULL,
|
||||||
|
"Value" text NULL,
|
||||||
|
"Date" timestamptz NULL,
|
||||||
|
"Status" text NULL,
|
||||||
|
"ErrMessage" text NULL,
|
||||||
|
PRIMARY KEY ("Id")
|
||||||
|
);
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
h1:UdPzQZ17yyNN9HVuyrFFHj5KjLj4m6/e7s9frkdpQVU=
|
h1:V6uRNFb6js/aPft2hebJMA8tI0YJc4BuZ7Rlp56FV00=
|
||||||
20251113035508.sql h1:rjDlu6yDdy5xv6nrCOr7NialrLSLT23pzduYNq29Hf0=
|
20251113035508.sql h1:rjDlu6yDdy5xv6nrCOr7NialrLSLT23pzduYNq29Hf0=
|
||||||
20251114071129.sql h1:Z0GQ5bJo3C+tplaWzxT8n3J9HLkEaVsRVp5nn7bmYow=
|
20251114071129.sql h1:Z0GQ5bJo3C+tplaWzxT8n3J9HLkEaVsRVp5nn7bmYow=
|
||||||
20251117041601.sql h1:l/RPG5mObqCSBjO4mzG+wTq2ieSycvlfOSz4czpUdWY=
|
20251117041601.sql h1:l/RPG5mObqCSBjO4mzG+wTq2ieSycvlfOSz4czpUdWY=
|
||||||
20251118082246.sql h1:xLUwA+EvKWIg3X/TJvu7rqbtBzONiINfag5NJpMV29E=
|
20251118082246.sql h1:xLUwA+EvKWIg3X/TJvu7rqbtBzONiINfag5NJpMV29E=
|
||||||
20251118082915.sql h1:hP6FmUVFuADIN2cDg2Z1l7Wx7PQRb+IYQDvKD7J8VAM=
|
20251118082915.sql h1:hP6FmUVFuADIN2cDg2Z1l7Wx7PQRb+IYQDvKD7J8VAM=
|
||||||
20251126115527.sql h1:+2bp2nWTTqaPpKKfy5ZYSr6b1nEUXFG3tIw4r3OEnAQ=
|
20251126115527.sql h1:Bvg+Y7k+h5s+/UaezUyJb7J7uzEJS7U5Z/RoCixcUtI=
|
||||||
|
20251201093443.sql h1:dyiD1WzU9D6RjGhF0AtGfGLEsG6yocuk3HbcZWt9ZRQ=
|
||||||
|
20251209083238.sql h1:GmnvITp+vr3sYlWmPxWVxMnjSIRI0QKmv9i202kRgp4=
|
||||||
@@ -81,8 +81,8 @@ type Mr struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Provider struct {
|
type Provider struct {
|
||||||
Kode string `json:"kdProvider" json:"kode"` // API sometimes uses different keys
|
Kode string `son:"kode"`
|
||||||
NmProvider string `json:"nmProvider" json:"nama"`
|
NmProvider string `json:"nama"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Poli struct {
|
type Poli struct {
|
||||||
|
|||||||
@@ -1,7 +1,13 @@
|
|||||||
package vclaimsepcontrolletter
|
package vclaimsepcontrolletter
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
|
||||||
|
pu "simrs-vx/pkg/use-case-helper"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
@@ -9,6 +15,7 @@ type CreateDto struct {
|
|||||||
Number *string `json:"number" gorm:"unique;size:20"`
|
Number *string `json:"number" gorm:"unique;size:20"`
|
||||||
Value *string `json:"value"`
|
Value *string `json:"value"`
|
||||||
FileUrl *string `json:"fileUrl" gorm:"unique;size:1024"`
|
FileUrl *string `json:"fileUrl" gorm:"unique;size:1024"`
|
||||||
|
RequestPayload string `json:"requestPayload" validate:"maxLength=1024"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -69,3 +76,49 @@ func ToResponseList(data []VclaimSepControlLetter) []ResponseDto {
|
|||||||
}
|
}
|
||||||
return resp
|
return resp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c CreateDto) RequestPayloadIntoJson() ([]byte, error) {
|
||||||
|
payload := map[string]interface{}{}
|
||||||
|
err := json.Unmarshal([]byte(c.RequestPayload), &payload)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return json.Marshal(payload)
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseForPDF struct {
|
||||||
|
Number string `json:"noSuratKontrol"`
|
||||||
|
PlannedControlDate string `json:"tglRencanaKontrol"`
|
||||||
|
IssuedDate string `json:"tglTerbit"`
|
||||||
|
Doctor_Name string `json:"namaDokter"`
|
||||||
|
DstUnit_Name string `json:"namaPoliTujuan"`
|
||||||
|
ResponsibleDoctor_Name string `json:"namaDokterPembuat"`
|
||||||
|
VclaimSep VclaimSep `json:"sep"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type VclaimSep struct {
|
||||||
|
VclaimMember VclaimMember `json:"peserta"`
|
||||||
|
Diagnose string `json:"diagnosa"`
|
||||||
|
Number string `json:"noSep"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type VclaimMember struct {
|
||||||
|
CardNumber string `json:"noKartu"`
|
||||||
|
Name string `json:"nama"`
|
||||||
|
BirthDate string `json:"tglLahir"`
|
||||||
|
Gender string `json:"kelamin"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v ResponseForPDF) GenerateNameWithGender() string {
|
||||||
|
gender := "Perempuan"
|
||||||
|
if v.VclaimSep.VclaimMember.Gender == "L" {
|
||||||
|
gender = "Laki-Laki"
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf("%s (%s)", v.VclaimSep.VclaimMember.Name, gender)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v ResponseForPDF) GenerateBirthDate() string {
|
||||||
|
t, _ := time.Parse("2006-01-02", v.VclaimSep.VclaimMember.BirthDate)
|
||||||
|
return pu.FormatIndonesianDate(t)
|
||||||
|
}
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
package actionreport
|
|
||||||
|
|
||||||
import (
|
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
pa "simrs-vx/internal/lib/auth"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateDto struct {
|
|
||||||
Encounter_Id uint64 `json:"encounter_id" validate:"required"`
|
|
||||||
Date *time.Time `json:"date" validate:"required"`
|
|
||||||
Doctor_Code string `json:"doctor_code" validate:"required"`
|
|
||||||
Operator_Employe_Id uint `json:"operator_employe_id" validate:"required"`
|
|
||||||
Assistant_Employe_Id uint `json:"assistant_employe_id" validate:"required"`
|
|
||||||
Instrumentor_Employe_Id uint `json:"instrumentor_employe_id" validate:"required"`
|
|
||||||
Diagnose *string `json:"diagnose"`
|
|
||||||
Nurse_Code string `json:"nurse_code" validate:"required"`
|
|
||||||
Value string `json:"value" validate:"required"`
|
|
||||||
|
|
||||||
pa.AuthInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
type ReadListDto struct {
|
|
||||||
FilterDto
|
|
||||||
Includes string `json:"includes"`
|
|
||||||
Pagination ecore.Pagination
|
|
||||||
}
|
|
||||||
|
|
||||||
type FilterDto struct {
|
|
||||||
Encounter_Id *uint `json:"encounter-id"`
|
|
||||||
}
|
|
||||||
|
|
||||||
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 uint64 `json:"encounter_id"`
|
|
||||||
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
|
||||||
Date *time.Time `json:"date"`
|
|
||||||
Doctor_Code string `json:"doctor_code"`
|
|
||||||
Operator_Employe_Id uint `json:"operator_employe_id"`
|
|
||||||
Assistant_Employe_Id uint `json:"assistant_employe_id"`
|
|
||||||
Instrumentor_Employe_Id uint `json:"instrumentor_employe_id"`
|
|
||||||
Diagnose *string `json:"diagnose"`
|
|
||||||
Nurse_Code string `json:"nurse_code"`
|
|
||||||
Value *string `json:"value"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d ActionReport) ToResponse() ResponseDto {
|
|
||||||
resp := ResponseDto{
|
|
||||||
Encounter_Id: d.Encounter_Id,
|
|
||||||
Encounter: d.Encounter,
|
|
||||||
Date: d.Date,
|
|
||||||
Doctor_Code: d.Doctor_Code,
|
|
||||||
Operator_Employe_Id: d.Operator_Employe_Id,
|
|
||||||
Assistant_Employe_Id: d.Assistant_Employe_Id,
|
|
||||||
Instrumentor_Employe_Id: d.Instrumentor_Employe_Id,
|
|
||||||
Nurse_Code: d.Nurse_Code,
|
|
||||||
Value: &d.Value,
|
|
||||||
}
|
|
||||||
resp.Main = d.Main
|
|
||||||
return resp
|
|
||||||
}
|
|
||||||
|
|
||||||
func ToResponseList(data []ActionReport) []ResponseDto {
|
|
||||||
resp := make([]ResponseDto, len(data))
|
|
||||||
for i, u := range data {
|
|
||||||
resp[i] = u.ToResponse()
|
|
||||||
}
|
|
||||||
return resp
|
|
||||||
}
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
package actionreport
|
|
||||||
|
|
||||||
import (
|
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
|
||||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
|
||||||
eem "simrs-vx/internal/domain/main-entities/employee"
|
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
|
||||||
en "simrs-vx/internal/domain/main-entities/nurse"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ActionReport struct {
|
|
||||||
ecore.Main // adjust this according to the needs
|
|
||||||
Encounter_Id uint64 `json:"encounter_id" gorm:"foreignKey"`
|
|
||||||
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
|
||||||
Date *time.Time `json:"date" gorm:"not null;size:20"`
|
|
||||||
Doctor_Code string `json:"doctor_code" gorm:"size:10"`
|
|
||||||
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
|
||||||
Operator_Employe_Id uint `json:"operator_employe_id"`
|
|
||||||
Operator_Employe *eem.Employee `json:"operator_employe,omitempty" gorm:"foreignKey:Operator_Employe_Id;references:Id"`
|
|
||||||
Assistant_Employe_Id uint `json:"assistant_employe_id"`
|
|
||||||
Instrumentor_Employe_Id uint `json:"instrumentor_employe_id"`
|
|
||||||
Instrumentor_Employe *eem.Employee `json:"instrumentor_employe,omitempty" gorm:"foreignKey:Instrumentor_Employe_Id;references:Id"`
|
|
||||||
Diagnose *string `json:"diagnose" gorm:"size:1024"`
|
|
||||||
Nurse_Code string `json:"nurse_code" gorm:"size:10"`
|
|
||||||
Nurse *en.Nurse `json:"nurse,omitempty" gorm:"foreignKey:Nurse_Code;references:Code"`
|
|
||||||
Value string `json:"value"`
|
|
||||||
// SurgerySize_Code *string `json:"surgerySize_code" gorm:"size:10"`
|
|
||||||
// Billing_Code *string `json:"billing_code" gorm:"size:10"`
|
|
||||||
// SurgerySystem_Code *string `json:"surgerySystem_code" gorm:"size:10"`
|
|
||||||
// StartAt *string `json:"startAt" gorm:"size:20"`
|
|
||||||
// EndAt *string `json:"endAt" gorm:"size:20"`
|
|
||||||
// AnesthesiaStartAt *string `json:"anesthesiaStartAt" gorm:"size:20"`
|
|
||||||
// AnesthesiaEndAt *string `json:"anesthesiaEndAt" gorm:"size:20"`
|
|
||||||
// SurgeryType_Code *string `json:"surgeryType_code" gorm:"size:10"`
|
|
||||||
// SurgeryStage_Code *string `json:"surgeryStage_code" gorm:"size:10"`
|
|
||||||
// BornMortality_Code *string `json:"bornMortality_code" gorm:"size:10"`
|
|
||||||
// BornLocation_Code *string `json:"bornLocation_code" gorm:"size:10"`
|
|
||||||
// Weight *string `json:"weight" gorm:"size:10"`
|
|
||||||
// BornNotes *string `json:"bornNotes" gorm:"size:1024"`
|
|
||||||
// Description *string `json:"notes" gorm:"size:1024"`
|
|
||||||
// BleedingAmount *uint16 `json:"bleedingAmount" gorm:"size:10"`
|
|
||||||
// BloodInType_Code *string `json:"bloodInType_code" gorm:"size:10"`
|
|
||||||
// BloodInAmount *uint16 `json:"bloodInAmount" gorm:"size:10"`
|
|
||||||
// Brand *string `json:"brand" gorm:"size:100"`
|
|
||||||
// ImplantName *string `json:"implantName" gorm:"size:100"`
|
|
||||||
// ImplantRegisterNumber *string `json:"implantRegisterNumber" gorm:"size:100"`
|
|
||||||
// ImplantCompanionName *string `json:"implantCompanionName" gorm:"size:100"`
|
|
||||||
// SpecimentDest_Code *string `json:"specimentDest" gorm:"size:100"`
|
|
||||||
// TissueInfo *string `json:"tissueInfo" gorm:"size:100"`
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package apmcuorder
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Encounter_Id uint `json:"encounter_id"`
|
||||||
|
Number uint64 `json:"number"`
|
||||||
|
Doctor_Code string `json:"-"`
|
||||||
|
Substances string `json:"substances"`
|
||||||
|
Fictations string `json:"fictations"`
|
||||||
|
Localization string `json:"localization"`
|
||||||
|
ClinicalDiagnoses string `json:"clinicalDiagnoses"`
|
||||||
|
Stadium string `json:"stadium"`
|
||||||
|
ClinicalNotes string `json:"clinicalNotes"`
|
||||||
|
CurrentHistory string `json:"currentHistory"`
|
||||||
|
PastHistory string `json:"pastHistory"`
|
||||||
|
PrevApMcu string `json:"prevApMcu"`
|
||||||
|
PrevApMcuNotes string `json:"prevApMcuNotes"`
|
||||||
|
SupportingExams string `json:"supportingExams"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package apmcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ApMcuOrder struct {
|
||||||
|
ecore.BigMain
|
||||||
|
Encounter_Id uint `json:"encounter_id"`
|
||||||
|
Number uint64 `json:"number"`
|
||||||
|
Doctor_Code string `json:"doctor_code" gorm:"unique;size:20"`
|
||||||
|
Substances string `json:"substances"`
|
||||||
|
Fictations string `json:"fictations"`
|
||||||
|
Localization string `json:"localization"`
|
||||||
|
ClinicalDiagnoses string `json:"clinicalDiagnoses"`
|
||||||
|
Stadium string `json:"stadium"`
|
||||||
|
ClinicalNotes *string `json:"clinicalNotes"`
|
||||||
|
CurrentHistory string `json:"currentHistory"`
|
||||||
|
PastHistory string `json:"pastHistory"`
|
||||||
|
PrevApMcu *string `json:"prevApMcu"`
|
||||||
|
PrevApMcuNotes *string `json:"prevApMcuNotes"`
|
||||||
|
SupportingExams *string `json:"supportingExams"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code" gorm:"not null;size:10"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
package apmcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
la "simrs-vx/internal/lib/auth"
|
||||||
|
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
eamob "simrs-vx/internal/domain/main-entities/ap-mcu-order/base"
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
eamob.CreateDto
|
||||||
|
la.AuthInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
McuOrder_Id string `json:"mcu-order-id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.BigMain
|
||||||
|
Encounter_Id uint `json:"encounter_id"`
|
||||||
|
Encounter *ee.Encounter
|
||||||
|
Number uint64 `json:"number"`
|
||||||
|
Doctor_Code string `json:"doctor_code"`
|
||||||
|
Doctor *ed.Doctor
|
||||||
|
Substances string `json:"substances"`
|
||||||
|
Fictations string `json:"fictations"`
|
||||||
|
Localization string `json:"localization"`
|
||||||
|
ClinicalDiagnoses string `json:"clinicalDiagnoses"`
|
||||||
|
Stadium string `json:"stadium"`
|
||||||
|
ClinicalNotes *string `json:"clinicalNotes"`
|
||||||
|
PastHistory string `json:"pastHistory"`
|
||||||
|
CurrentHistory string `json:"currentHistory"`
|
||||||
|
PrevApMcu *string `json:"prevApMcu"`
|
||||||
|
PrevApMcuNotes *string `json:"prevApMcuNotes"`
|
||||||
|
SupportingExams *string `json:"supportingExams"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d ApMcuOrder) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Encounter_Id: d.Encounter_Id,
|
||||||
|
Encounter: d.Encounter,
|
||||||
|
Number: d.Number,
|
||||||
|
Doctor_Code: d.Doctor_Code,
|
||||||
|
Doctor: d.Doctor,
|
||||||
|
Substances: d.Substances,
|
||||||
|
Fictations: d.Fictations,
|
||||||
|
Localization: d.Localization,
|
||||||
|
ClinicalDiagnoses: d.ClinicalDiagnoses,
|
||||||
|
Stadium: d.Stadium,
|
||||||
|
ClinicalNotes: d.ClinicalNotes,
|
||||||
|
PastHistory: d.PastHistory,
|
||||||
|
CurrentHistory: d.CurrentHistory,
|
||||||
|
PrevApMcu: d.PrevApMcu,
|
||||||
|
PrevApMcuNotes: d.PrevApMcuNotes,
|
||||||
|
SupportingExams: d.SupportingExams,
|
||||||
|
}
|
||||||
|
resp.BigMain = d.BigMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []ApMcuOrder) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package apmcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
eamob "simrs-vx/internal/domain/main-entities/ap-mcu-order/base"
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ApMcuOrder struct {
|
||||||
|
eamob.ApMcuOrder
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
|
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d ApMcuOrder) IsNotNew() bool {
|
||||||
|
return d.Status_Code != erc.DSCNew
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d ApMcuOrder) IsCompleted() bool {
|
||||||
|
return d.Status_Code == erc.DSCDone
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d ApMcuOrder) IsSameDoctor(doctor_code *string) bool {
|
||||||
|
return d.Doctor_Code == *doctor_code
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
package chemo_plan
|
||||||
|
|
||||||
|
import (
|
||||||
|
// std
|
||||||
|
"time"
|
||||||
|
|
||||||
|
ere "simrs-vx/internal/domain/references/encounter"
|
||||||
|
|
||||||
|
// internal - domain - main-entities
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Parent_Id *uint `json:"parent_id"`
|
||||||
|
SeriesNumber *uint16 `json:"seriesNumber"`
|
||||||
|
CycleNumber *uint `json:"cycleNumber"`
|
||||||
|
PlanDate *time.Time `json:"planDate"`
|
||||||
|
RealizationDate *time.Time `json:"realizationDate"`
|
||||||
|
Notes *string `json:"notes"`
|
||||||
|
Status ere.StatusProtocolChemo `json:"status"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Parent_Id *uint `json:"parent-id"`
|
||||||
|
Protocol_Id *uint `json:"protocol-id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
Parent_Id *uint `json:"parent_id"` // chemo.Id
|
||||||
|
Protocol_Id *uint `json:"protocol_id"`
|
||||||
|
SeriesNumber *uint16 `json:"seriesNumber"` // series ke -
|
||||||
|
CycleNumber *uint `json:"cycleNumber"` // cycle ke -
|
||||||
|
PlanDate *time.Time `json:"planDate"`
|
||||||
|
RealizationDate *time.Time `json:"realizationDate"`
|
||||||
|
Notes *string `json:"notes"`
|
||||||
|
Status ere.StatusProtocolChemo `json:"status"`
|
||||||
|
Reasons *string `json:"reasons"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d ChemoPlan) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Parent_Id: d.Parent_Id,
|
||||||
|
SeriesNumber: d.SeriesNumber,
|
||||||
|
CycleNumber: d.CycleNumber,
|
||||||
|
PlanDate: d.PlanDate,
|
||||||
|
RealizationDate: d.RealizationDate,
|
||||||
|
Notes: d.Notes,
|
||||||
|
Status: d.Status,
|
||||||
|
}
|
||||||
|
resp.Main = d.Main
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []ChemoPlan) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package chemo_plan
|
||||||
|
|
||||||
|
import (
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
|
||||||
|
ere "simrs-vx/internal/domain/references/encounter"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ChemoPlan struct {
|
||||||
|
ecore.Main
|
||||||
|
Parent_Id *uint `json:"parent_id"` // chemo.Id
|
||||||
|
Protocol_Id *uint `json:"protocol_id"`
|
||||||
|
SeriesNumber *uint16 `json:"seriesNumber"` // series ke -
|
||||||
|
CycleNumber *uint `json:"cycleNumber"` // cycle ke -
|
||||||
|
PlanDate *time.Time `json:"planDate"`
|
||||||
|
RealizationDate *time.Time `json:"realizationDate"`
|
||||||
|
Notes *string `json:"notes"`
|
||||||
|
Status ere.StatusProtocolChemo `json:"status"`
|
||||||
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
|
Reasons *string `json:"reasons"` // json
|
||||||
|
}
|
||||||
@@ -9,18 +9,21 @@ import (
|
|||||||
|
|
||||||
// internal - domain - main-entities
|
// internal - domain - main-entities
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
|
||||||
|
ec "simrs-vx/internal/domain/main-entities/chemo"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Chemo_Id *uint `json:"chemo_id"`
|
||||||
Patient_Weight *float32 `json:"patient_weight"`
|
Patient_Weight *float32 `json:"patient_weight"`
|
||||||
Patient_Height *float32 `json:"patient_height"`
|
Patient_Height *float32 `json:"patient_height"`
|
||||||
Diagnoses *string `json:"diagnoses"`
|
Diagnoses *string `json:"diagnoses"`
|
||||||
Duration *uint `json:"duration"`
|
Interval *uint `json:"interval"`
|
||||||
DurationUnit_Code *erc.TimeUnitCode `json:"durationUnit_code"`
|
Cycle *uint `json:"cycle"`
|
||||||
StartDate *time.Time `json:"startDate"`
|
Series *uint16 `json:"series"`
|
||||||
EndDate *time.Time `json:"endDate"`
|
StartDate *time.Time `json:"startDate"`
|
||||||
|
EndDate *time.Time `json:"endDate"`
|
||||||
|
Status_Code erc.DataVerifiedCode `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -30,7 +33,7 @@ type ReadListDto struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type FilterDto struct {
|
type FilterDto struct {
|
||||||
Encounter_Id *uint `json:"encounter-id"`
|
Chemo_Id *uint `json:"chemo-id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadDetailDto struct {
|
type ReadDetailDto struct {
|
||||||
@@ -55,28 +58,32 @@ type MetaDto struct {
|
|||||||
|
|
||||||
type ResponseDto struct {
|
type ResponseDto struct {
|
||||||
ecore.Main
|
ecore.Main
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Chemo_Id *uint `json:"chemo_id"`
|
||||||
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
Chemo *ec.Chemo `json:"chemo,omitempty"`
|
||||||
Patient_Weight *float32 `json:"patient_weight"`
|
Patient_Weight *float32 `json:"patient_weight"`
|
||||||
Patient_Height *float32 `json:"patient_height"`
|
Patient_Height *float32 `json:"patient_height"`
|
||||||
Diagnoses *string `json:"diagnoses"`
|
Diagnoses *string `json:"diagnoses"`
|
||||||
Duration *uint `json:"duration"`
|
Interval *uint `json:"interval"`
|
||||||
DurationUnit_Code *erc.TimeUnitCode `json:"durationUnit_code"`
|
Cycle *uint `json:"cycle"`
|
||||||
StartDate *time.Time `json:"startDate"`
|
Series *uint16 `json:"series"`
|
||||||
EndDate *time.Time `json:"endDate"`
|
StartDate *time.Time `json:"startDate"`
|
||||||
|
EndDate *time.Time `json:"endDate"`
|
||||||
|
Status_Code erc.DataVerifiedCode `json:"status_code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d ChemoProtocol) ToResponse() ResponseDto {
|
func (d ChemoProtocol) ToResponse() ResponseDto {
|
||||||
resp := ResponseDto{
|
resp := ResponseDto{
|
||||||
Encounter_Id: d.Encounter_Id,
|
Chemo_Id: d.Chemo_Id,
|
||||||
Encounter: d.Encounter,
|
Chemo: d.Chemo,
|
||||||
Patient_Weight: d.Patient_Weight,
|
Patient_Weight: d.Patient_Weight,
|
||||||
Patient_Height: d.Patient_Height,
|
Patient_Height: d.Patient_Height,
|
||||||
Diagnoses: d.Diagnoses,
|
Diagnoses: d.Diagnoses,
|
||||||
Duration: d.Duration,
|
Interval: d.Interval,
|
||||||
DurationUnit_Code: d.DurationUnit_Code,
|
Cycle: d.Cycle,
|
||||||
StartDate: d.StartDate,
|
Series: d.Series,
|
||||||
EndDate: d.EndDate,
|
StartDate: d.StartDate,
|
||||||
|
EndDate: d.EndDate,
|
||||||
|
Status_Code: d.Status_Code,
|
||||||
}
|
}
|
||||||
resp.Main = d.Main
|
resp.Main = d.Main
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
@@ -1,21 +1,34 @@
|
|||||||
package chemo_protocol
|
package chemo_protocol
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
|
||||||
"simrs-vx/internal/domain/references/common"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
|
||||||
|
ec "simrs-vx/internal/domain/main-entities/chemo"
|
||||||
|
ecp "simrs-vx/internal/domain/main-entities/chemo-plan"
|
||||||
|
eus "simrs-vx/internal/domain/main-entities/user"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ChemoProtocol struct {
|
type ChemoProtocol struct {
|
||||||
ecore.Main
|
ecore.Main
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Chemo_Id *uint `json:"chemo_id"`
|
||||||
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
Chemo *ec.Chemo `json:"chemo,omitempty" gorm:"foreignKey:Chemo_Id;references:Id"`
|
||||||
Patient_Weight *float32 `json:"patient_weight"`
|
Patient_Weight *float32 `json:"patient_weight"`
|
||||||
Patient_Height *float32 `json:"patient_height"`
|
Patient_Height *float32 `json:"patient_height"`
|
||||||
Diagnoses *string `json:"diagnoses"`
|
Diagnoses *string `json:"diagnoses"`
|
||||||
Duration *uint `json:"duration"`
|
Duration *uint `json:"duration"` // not used
|
||||||
DurationUnit_Code *common.TimeUnitCode `json:"durationUnit_code" gorm:"size:10"`
|
DurationUnit_Code *erc.TimeUnitCode `json:"durationUnit_code"` // not used
|
||||||
StartDate *time.Time `json:"startDate"`
|
Interval *uint `json:"interval"`
|
||||||
EndDate *time.Time `json:"endDate"`
|
Cycle *uint `json:"cycle"` // total cycle
|
||||||
|
Series *uint16 `json:"series"` // total series
|
||||||
|
StartDate *time.Time `json:"startDate"`
|
||||||
|
EndDate *time.Time `json:"endDate"`
|
||||||
|
Status_Code erc.DataVerifiedCode `json:"status_code"`
|
||||||
|
VerifiedAt *time.Time `json:"verifiedAt"`
|
||||||
|
VerifiedBy_User_Id *uint `json:"verifiedBy_user_id"`
|
||||||
|
VerifiedBy *eus.User `json:"verifiedBy,omitempty" gorm:"foreignKey:VerifiedBy_User_Id;references:Id"`
|
||||||
|
ChemoPlans *[]ecp.ChemoPlan `json:"chemoPlans,omitempty" gorm:"foreignKey:Protocol_Id;references:Id"`
|
||||||
|
Patient_Id *uint `json:"patient_id"`
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
package chemo
|
package chemo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
// std
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
// internal - lib
|
// internal - lib
|
||||||
@@ -13,14 +14,13 @@ import (
|
|||||||
// internal - domain - main-entities
|
// internal - domain - main-entities
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
eun "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
eus "simrs-vx/internal/domain/main-entities/user"
|
eus "simrs-vx/internal/domain/main-entities/user"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
Status_Code erc.DataVerifiedCode `json:"status_code"`
|
Status_Code erc.DataVerifiedCode `json:"status_code"`
|
||||||
SrcUnit_Code *string `json:"srcUnit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -33,7 +33,7 @@ type FilterDto struct {
|
|||||||
Encounter_Id *uint `json:"encounter-id"`
|
Encounter_Id *uint `json:"encounter-id"`
|
||||||
Status_Code *erc.DataVerifiedCode `json:"status-code"`
|
Status_Code *erc.DataVerifiedCode `json:"status-code"`
|
||||||
VerifiedBy_User_Id *uint `json:"verifiedBy-user-id"`
|
VerifiedBy_User_Id *uint `json:"verifiedBy-user-id"`
|
||||||
SrcUnit_Code *string `json:"srcUnit-code"`
|
Specialist_Code *string `json:"specialist-code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadDetailDto struct {
|
type ReadDetailDto struct {
|
||||||
@@ -50,10 +50,12 @@ type DeleteDto struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type VerifyDto struct {
|
type VerifyDto struct {
|
||||||
Id uint16 `json:"id"`
|
Id uint16 `json:"id"`
|
||||||
Status_Code erc.DataVerifiedCode `json:"status_code"`
|
Status_Code erc.DataVerifiedCode `json:"status_code"`
|
||||||
Bed *string `json:"bed" validate:"required"`
|
Bed *string `json:"bed"`
|
||||||
Needs *string `json:"needs" validate:"required"`
|
Needs *string `json:"needs"`
|
||||||
|
Doctor_Code *string `json:"doctor_code" validate:"required"`
|
||||||
|
NextChemoDate *time.Time `json:"nextChemoDate"`
|
||||||
|
|
||||||
pa.AuthInfo
|
pa.AuthInfo
|
||||||
}
|
}
|
||||||
@@ -72,8 +74,11 @@ type ResponseDto struct {
|
|||||||
VerifiedAt *time.Time `json:"verifiedAt"`
|
VerifiedAt *time.Time `json:"verifiedAt"`
|
||||||
VerifiedBy_User_Id *uint `json:"verifiedBy_user_id"`
|
VerifiedBy_User_Id *uint `json:"verifiedBy_user_id"`
|
||||||
VerifiedBy *eus.User `json:"verifiedBy,omitempty"`
|
VerifiedBy *eus.User `json:"verifiedBy,omitempty"`
|
||||||
SrcUnit_Code *string `json:"srcUnit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
SrcUnit *eun.Unit `json:"srcUnit,omitempty"`
|
Specialist *es.Specialist `json:"specialist,omitempty"`
|
||||||
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
|
Doctor *ed.Doctor `json:"doctor,omitempty"`
|
||||||
|
NextChemoDate *time.Time `json:"nextChemoDate"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d Chemo) ToResponse() ResponseDto {
|
func (d Chemo) ToResponse() ResponseDto {
|
||||||
@@ -84,8 +89,11 @@ func (d Chemo) ToResponse() ResponseDto {
|
|||||||
VerifiedAt: d.VerifiedAt,
|
VerifiedAt: d.VerifiedAt,
|
||||||
VerifiedBy_User_Id: d.VerifiedBy_User_Id,
|
VerifiedBy_User_Id: d.VerifiedBy_User_Id,
|
||||||
VerifiedBy: d.VerifiedBy,
|
VerifiedBy: d.VerifiedBy,
|
||||||
SrcUnit_Code: d.SrcUnit_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
SrcUnit: d.SrcUnit,
|
Specialist: d.Specialist,
|
||||||
|
Doctor_Code: d.Doctor_Code,
|
||||||
|
Doctor: d.Doctor,
|
||||||
|
NextChemoDate: d.NextChemoDate,
|
||||||
}
|
}
|
||||||
resp.Main = d.Main
|
resp.Main = d.Main
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
package chemo
|
package chemo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
ere "simrs-vx/internal/domain/references/encounter"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
|
||||||
eun "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
eus "simrs-vx/internal/domain/main-entities/user"
|
|
||||||
|
|
||||||
erc "simrs-vx/internal/domain/references/common"
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
|
eus "simrs-vx/internal/domain/main-entities/user"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Chemo struct {
|
type Chemo struct {
|
||||||
@@ -19,8 +21,12 @@ type Chemo struct {
|
|||||||
VerifiedAt *time.Time `json:"verifiedAt"`
|
VerifiedAt *time.Time `json:"verifiedAt"`
|
||||||
VerifiedBy_User_Id *uint `json:"verifiedBy_user_id"`
|
VerifiedBy_User_Id *uint `json:"verifiedBy_user_id"`
|
||||||
VerifiedBy *eus.User `json:"verifiedBy,omitempty" gorm:"foreignKey:VerifiedBy_User_Id;references:Id"`
|
VerifiedBy *eus.User `json:"verifiedBy,omitempty" gorm:"foreignKey:VerifiedBy_User_Id;references:Id"`
|
||||||
SrcUnit_Code *string `json:"src_unit_code"`
|
Specialist_Code *string `json:"specialist_code"` // klinik asal
|
||||||
SrcUnit *eun.Unit `json:"src_unit,omitempty" gorm:"foreignKey:SrcUnit_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
Bed *string `json:"bed" gorm:"size:1024"`
|
Bed *string `json:"bed" gorm:"size:1024"`
|
||||||
Needs *string `json:"needs" gorm:"size:2048"`
|
Needs *string `json:"needs" gorm:"size:2048"`
|
||||||
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
|
Doctor *ed.Doctor `json:"doctor" gorm:"foreignKey:Doctor_Code;references:Code"`
|
||||||
|
NextChemoDate *time.Time `json:"nextChemoDate"`
|
||||||
|
Class_Code ere.ChemoClassCode `json:"class_code"`
|
||||||
}
|
}
|
||||||
@@ -13,14 +13,14 @@ import (
|
|||||||
// internal - domain - main-entities
|
// internal - domain - main-entities
|
||||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
Date *time.Time `json:"date"`
|
Date *time.Time `json:"date"`
|
||||||
Problem *string `json:"problem" validate:"maxLength=10240"`
|
Problem *string `json:"problem" validate:"maxLength=10240"`
|
||||||
DstUnit_Code *string `json:"dstUnit_code"`
|
Specialist_Code *string `json:"dstSpecialist_code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -30,9 +30,9 @@ type ReadListDto struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type FilterDto struct {
|
type FilterDto struct {
|
||||||
Encounter_Id *uint `json:"encounter-id"`
|
Encounter_Id *uint `json:"encounter-id"`
|
||||||
DstUnit_Code *string `json:"dstUnit-code"`
|
Specialist_Code *string `json:"dstSpecialist-code"`
|
||||||
DstDoctor_Code *string `json:"dstDoctor-code"`
|
Doctor_Code *string `json:"doctor-code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadDetailDto struct {
|
type ReadDetailDto struct {
|
||||||
@@ -63,29 +63,29 @@ type MetaDto struct {
|
|||||||
|
|
||||||
type ResponseDto struct {
|
type ResponseDto struct {
|
||||||
ecore.Main
|
ecore.Main
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
||||||
Date *time.Time `json:"date"`
|
Date *time.Time `json:"date"`
|
||||||
Problem *string `json:"problem"`
|
Problem *string `json:"problem"`
|
||||||
Solution *string `json:"solution"`
|
Solution *string `json:"solution"`
|
||||||
DstUnit_Code *string `json:"dstUnit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
DstUnit *eu.Unit `json:"dstUnit,omitempty"`
|
Specialist *es.Specialist `json:"specialist,omitempty"`
|
||||||
DstDoctor_Code *string `json:"dstDoctor_code"`
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
DstDoctor *ed.Doctor `json:"dstDoctor,omitempty"`
|
Doctor *ed.Doctor `json:"doctor,omitempty"`
|
||||||
RepliedAt *time.Time `json:"repliedAt"`
|
RepliedAt *time.Time `json:"repliedAt"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d Consultation) ToResponse() ResponseDto {
|
func (d Consultation) ToResponse() ResponseDto {
|
||||||
resp := ResponseDto{
|
resp := ResponseDto{
|
||||||
Encounter_Id: d.Encounter_Id,
|
Encounter_Id: d.Encounter_Id,
|
||||||
Encounter: d.Encounter,
|
Encounter: d.Encounter,
|
||||||
Date: d.Date,
|
Date: d.Date,
|
||||||
Problem: d.Problem,
|
Problem: d.Problem,
|
||||||
Solution: d.Solution,
|
Solution: d.Solution,
|
||||||
DstUnit_Code: d.DstUnit_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
DstUnit: d.DstUnit,
|
Specialist: d.Specialist,
|
||||||
DstDoctor_Code: d.DstDoctor_Code,
|
Doctor_Code: d.Doctor_Code,
|
||||||
DstDoctor: d.DstDoctor,
|
Doctor: d.Doctor,
|
||||||
}
|
}
|
||||||
resp.Main = d.Main
|
resp.Main = d.Main
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Consultation struct {
|
type Consultation struct {
|
||||||
@@ -15,11 +15,11 @@ type Consultation struct {
|
|||||||
Encounter *ee.Encounter `json:"encounter" gorm:"foreignKey:Encounter_Id;references:Id"`
|
Encounter *ee.Encounter `json:"encounter" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
Date *time.Time `json:"date"`
|
Date *time.Time `json:"date"`
|
||||||
|
|
||||||
Problem *string `json:"case" gorm:"size:10240"`
|
Problem *string `json:"case" gorm:"size:10240"`
|
||||||
Solution *string `json:"solution" gorm:"size:10240"`
|
Solution *string `json:"solution" gorm:"size:10240"`
|
||||||
DstUnit_Code *string `json:"dstUnit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
DstUnit *eu.Unit `json:"dstUnit" gorm:"foreignKey:DstUnit_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
DstDoctor_Code *string `json:"dstDoctor_code"`
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
DstDoctor *ed.Doctor `json:"dstDoctor" gorm:"foreignKey:DstDoctor_Code;references:Code"`
|
Doctor *ed.Doctor `json:"doctor" gorm:"foreignKey:Doctor_Code;references:Code"`
|
||||||
RepliedAt *time.Time `json:"repliedAt"`
|
RepliedAt *time.Time `json:"repliedAt"`
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,6 @@ import (
|
|||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
es "simrs-vx/internal/domain/main-entities/specialist"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
@@ -66,8 +65,6 @@ type ResponseDto struct {
|
|||||||
ecore.Main
|
ecore.Main
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
Encounter *ee.Encounter `json:"encounter,omitempty"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
|
||||||
Unit *eu.Unit `json:"unit,omitempty"`
|
|
||||||
Specialist_Code *string `json:"specialist_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Specialist *es.Specialist `json:"specialist,omitempty"`
|
Specialist *es.Specialist `json:"specialist,omitempty"`
|
||||||
Subspecialist_Code *string `json:"subspecialist_code"`
|
Subspecialist_Code *string `json:"subspecialist_code"`
|
||||||
@@ -81,8 +78,6 @@ func (d ControlLetter) ToResponse() ResponseDto {
|
|||||||
resp := ResponseDto{
|
resp := ResponseDto{
|
||||||
Encounter_Id: d.Encounter_Id,
|
Encounter_Id: d.Encounter_Id,
|
||||||
Encounter: d.Encounter,
|
Encounter: d.Encounter,
|
||||||
Unit_Code: d.Unit_Code,
|
|
||||||
Unit: d.Unit,
|
|
||||||
Specialist_Code: d.Specialist_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
Specialist: d.Specialist,
|
Specialist: d.Specialist,
|
||||||
Subspecialist_Code: d.Subspecialist_Code,
|
Subspecialist_Code: d.Subspecialist_Code,
|
||||||
|
|||||||
@@ -8,15 +8,12 @@ import (
|
|||||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
es "simrs-vx/internal/domain/main-entities/specialist"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type ControlLetter struct {
|
type ControlLetter struct {
|
||||||
ecore.Main // adjust this according to the needs
|
ecore.Main // adjust this according to the needs
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
Encounter *ee.Encounter `json:"encounter" gorm:"foreignKey:Encounter_Id;references:Id"`
|
Encounter *ee.Encounter `json:"encounter" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
|
||||||
Unit *eu.Unit `json:"unit" gorm:"foreignKey:Unit_Code;references:Code"`
|
|
||||||
Specialist_Code *string `json:"specialist_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Specialist *es.Specialist `json:"specialist" gorm:"foreignKey:Specialist_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
Subspecialist_Code *string `json:"subspecialist_code"`
|
Subspecialist_Code *string `json:"subspecialist_code"`
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package cpmcuorderitem
|
||||||
|
|
||||||
|
type SubCreateDto struct {
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code" validate:"required"`
|
||||||
|
Note string `json:"note"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package cpmcuorderitem
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ems "simrs-vx/internal/domain/main-entities/mcu-src"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CpMcuOrderItem struct {
|
||||||
|
ecore.BigMain // adjust this according to the needs
|
||||||
|
CpMcuOrder_Id uint64 `json:"cpMcuOrder_id" gorm:"uniqueIndex:idx_order_src"`
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code" gorm:"uniqueIndex:idx_order_src"`
|
||||||
|
McuSrc *ems.McuSrc `json:"mcuSrc,omitempty" gorm:"foreignKey:McuSrc_Code;references:Code"`
|
||||||
|
Note *string `json:"note" gorm:"size:1024"`
|
||||||
|
Result *string `json:"result"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
package cpmcuorderitem
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
emro "simrs-vx/internal/domain/main-entities/cp-mcu-order"
|
||||||
|
ems "simrs-vx/internal/domain/main-entities/mcu-src"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
CpMcuOrder_Id uint64 `json:"cpMcuOrder_id"`
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
CpMcuOrder_Id *uint64 `json:"cp-mcu-order-id"`
|
||||||
|
McuSrc_Code *string `json:"mcu-src-code"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status-code"`
|
||||||
|
}
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type SetScheduleDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
ExaminationDate *time.Time `json:"examinationDate"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.BigMain
|
||||||
|
CpMcuOrder_Id uint64 `json:"cpMcuOrder_id"`
|
||||||
|
CpMcuOrder *emro.CpMcuOrder `json:"cpMcuOrder,omitempty"`
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code"`
|
||||||
|
McuSrc *ems.McuSrc `json:"mcuSrc,omitempty"`
|
||||||
|
Result *string `json:"result"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d CpMcuOrderItem) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
CpMcuOrder_Id: d.CpMcuOrder_Id,
|
||||||
|
CpMcuOrder: d.CpMcuOrder,
|
||||||
|
McuSrc_Code: d.McuSrc_Code,
|
||||||
|
McuSrc: d.McuSrc,
|
||||||
|
Result: d.Result,
|
||||||
|
Status_Code: d.Status_Code,
|
||||||
|
}
|
||||||
|
resp.BigMain = d.BigMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []CpMcuOrderItem) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package cpmcuorderitem
|
||||||
|
|
||||||
|
import (
|
||||||
|
emo "simrs-vx/internal/domain/main-entities/cp-mcu-order"
|
||||||
|
emoib "simrs-vx/internal/domain/main-entities/cp-mcu-order-item/base"
|
||||||
|
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CpMcuOrderItem struct {
|
||||||
|
emoib.CpMcuOrderItem
|
||||||
|
CpMcuOrder *emo.CpMcuOrder `json:"cpMcuOrder,omitempty" gorm:"foreignKey:CpMcuOrder_Id;references:Id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d CpMcuOrderItem) IsCompleted() bool {
|
||||||
|
return d.Status_Code == erc.DSCDone
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package cpmcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ercl "simrs-vx/internal/domain/references/clinical"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CpMcuOrder struct {
|
||||||
|
ecore.BigMain
|
||||||
|
Encounter_Id uint `json:"encounter_id"`
|
||||||
|
Number uint64 `json:"number"`
|
||||||
|
Doctor_Code string `json:"doctor_code" gorm:"unique;size:20"`
|
||||||
|
UrgencyLevel_Code ercl.McuUrgencyLevelCode `json:"urgencyLevel_code" gorm:"not null;size:15"`
|
||||||
|
OtherNotes *string `json:"otherNotes"`
|
||||||
|
ExamScheduleDate *time.Time `json:"examinationDate"`
|
||||||
|
Resume *string `json:"resume"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code" gorm:"not null;size:10"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
package cpmcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
la "simrs-vx/internal/lib/auth"
|
||||||
|
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Encounter_Id uint `json:"encounter_id" validate:"required"`
|
||||||
|
Number uint64 `json:"number"` // SHOULD BE AUTOMATIC WITHOUT SYNC
|
||||||
|
UrgencyLevel_Code string `json:"urgencyLevel_code" validate:"required"`
|
||||||
|
OtherNotes string `json:"otherNotes"`
|
||||||
|
la.AuthInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Encounter_Id uint `json:"encounter-id"`
|
||||||
|
Doctor_Code string `json:"doctor-code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.BigMain
|
||||||
|
Encounter_Id uint
|
||||||
|
Encounter *ee.Encounter
|
||||||
|
Number uint64 `json:"number"`
|
||||||
|
Doctor_Code string `json:"doctor_code"`
|
||||||
|
Doctor *ed.Doctor
|
||||||
|
UrgencyLevel_Code string `json:"urgencyLevel_code" gorm:"not null;size:15"`
|
||||||
|
OtherNotes *string `json:"otherNotes"`
|
||||||
|
Resume *string `json:"resume"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d CpMcuOrder) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Encounter_Id: d.Encounter_Id,
|
||||||
|
Encounter: d.Encounter,
|
||||||
|
Number: d.Number,
|
||||||
|
Doctor_Code: d.Doctor_Code,
|
||||||
|
Doctor: d.Doctor,
|
||||||
|
UrgencyLevel_Code: string(d.UrgencyLevel_Code),
|
||||||
|
OtherNotes: d.OtherNotes,
|
||||||
|
Resume: d.Resume,
|
||||||
|
}
|
||||||
|
resp.BigMain = d.BigMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []CpMcuOrder) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package cpmcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecmoi "simrs-vx/internal/domain/main-entities/cp-mcu-order-item/base"
|
||||||
|
eamob "simrs-vx/internal/domain/main-entities/cp-mcu-order/base"
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CpMcuOrder struct {
|
||||||
|
eamob.CpMcuOrder
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
|
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
||||||
|
Items []*ecmoi.CpMcuOrderItem `json:"items" gorm:"foreignKey:CpMcuOrder_Id;references:Id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d CpMcuOrder) IsNotNew() bool {
|
||||||
|
return d.Status_Code != erc.DSCNew
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d CpMcuOrder) IsCompleted() bool {
|
||||||
|
return d.Status_Code == erc.DSCDone
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d CpMcuOrder) IsSameDoctor(doctor_code *string) bool {
|
||||||
|
return d.Doctor_Code == *doctor_code
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package devicepackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Code string `json:"code" validate:"maxLength=20"`
|
||||||
|
Name string `json:"name" validate:"maxLength=50"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
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.SmallMain
|
||||||
|
Code string `json:"code"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d DevicePackage) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Code: d.Code,
|
||||||
|
Name: d.Name,
|
||||||
|
}
|
||||||
|
resp.SmallMain = d.SmallMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []DevicePackage) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package devicepackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type DevicePackage struct {
|
||||||
|
ecore.SmallMain
|
||||||
|
Code string `json:"code" gorm:"unique;size:20;not null"`
|
||||||
|
Name string `json:"name" gorm:"size:50"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package devicepackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/device"
|
||||||
|
edp "simrs-vx/internal/domain/main-entities/device-package"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
DevicePackage_Code string `json:"devicePackage_code" validate:"maxLength=20"`
|
||||||
|
Device_Code string `json:"code" validate:"maxLength=20"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
DevicePackage_Code string `json:"devicePackage-code"`
|
||||||
|
Device_Code string `json:"code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
DevicePackage_Code string `json:"devicePackage_code"`
|
||||||
|
DevicePackage *edp.DevicePackage `json:"devicePackage,omitempty"`
|
||||||
|
Device_Code string `json:"code"`
|
||||||
|
Device *ed.Device `json:"device,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d DevicePackageItem) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
DevicePackage_Code: d.DevicePackage_Code,
|
||||||
|
DevicePackage: d.DevicePackage,
|
||||||
|
Device_Code: d.Device_Code,
|
||||||
|
Device: d.Device,
|
||||||
|
}
|
||||||
|
resp.Id = d.Id
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []DevicePackageItem) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package devicepackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/device"
|
||||||
|
edp "simrs-vx/internal/domain/main-entities/device-package"
|
||||||
|
)
|
||||||
|
|
||||||
|
type DevicePackageItem struct {
|
||||||
|
ecore.Main
|
||||||
|
DevicePackage_Code string `json:"devicePackage_code" gorm:"size:20;not null"`
|
||||||
|
DevicePackage *edp.DevicePackage `json:"devicePackage" gorm:"foreignKey:DevicePackage_Code;references:Code"`
|
||||||
|
Device_Code string `json:"code" gorm:"size:20;not null"`
|
||||||
|
Device *ed.Device `json:"device" gorm:"foreignKey:Device_Code;references:Code"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package devicepackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Code string `json:"code" validate:"maxLength=20"`
|
||||||
|
Name string `json:"name" validate:"maxLength=50"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
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.SmallMain
|
||||||
|
Code string `json:"code"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d DevicePackage) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Code: d.Code,
|
||||||
|
Name: d.Name,
|
||||||
|
}
|
||||||
|
resp.SmallMain = d.SmallMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []DevicePackage) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package devicepackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type DevicePackage struct {
|
||||||
|
ecore.SmallMain
|
||||||
|
Code string `json:"code" gorm:"unique;size:20;not null"`
|
||||||
|
Name string `json:"name" gorm:"size:50"`
|
||||||
|
}
|
||||||
@@ -5,7 +5,6 @@ import (
|
|||||||
ee "simrs-vx/internal/domain/main-entities/employee"
|
ee "simrs-vx/internal/domain/main-entities/employee"
|
||||||
es "simrs-vx/internal/domain/main-entities/specialist"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -69,8 +68,6 @@ type ResponseDto struct {
|
|||||||
Employee *ee.Employee `json:"employee,omitempty"`
|
Employee *ee.Employee `json:"employee,omitempty"`
|
||||||
IHS_Number *string `json:"ihs_number"`
|
IHS_Number *string `json:"ihs_number"`
|
||||||
SIP_Number *string `json:"sip_number"`
|
SIP_Number *string `json:"sip_number"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
|
||||||
Unit *eu.Unit `json:"unit,omitempty"`
|
|
||||||
Specialist_Code *string `json:"specialist_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Specialist *es.Specialist `json:"specialist,omitempty" `
|
Specialist *es.Specialist `json:"specialist,omitempty" `
|
||||||
Subspecialist_Code *string `json:"subspecialist_code"`
|
Subspecialist_Code *string `json:"subspecialist_code"`
|
||||||
@@ -84,8 +81,6 @@ func (d Doctor) ToResponse() ResponseDto {
|
|||||||
Employee: d.Employee,
|
Employee: d.Employee,
|
||||||
IHS_Number: d.IHS_Number,
|
IHS_Number: d.IHS_Number,
|
||||||
SIP_Number: d.SIP_Number,
|
SIP_Number: d.SIP_Number,
|
||||||
Unit_Code: d.Unit_Code,
|
|
||||||
Unit: d.Unit,
|
|
||||||
Specialist_Code: d.Specialist_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
Specialist: d.Specialist,
|
Specialist: d.Specialist,
|
||||||
Subspecialist_Code: d.Subspecialist_Code,
|
Subspecialist_Code: d.Subspecialist_Code,
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import (
|
|||||||
ee "simrs-vx/internal/domain/main-entities/employee"
|
ee "simrs-vx/internal/domain/main-entities/employee"
|
||||||
es "simrs-vx/internal/domain/main-entities/specialist"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -17,8 +16,6 @@ type Doctor struct {
|
|||||||
IHS_Number *string `json:"ihs_number" gorm:"unique;size:20"`
|
IHS_Number *string `json:"ihs_number" gorm:"unique;size:20"`
|
||||||
SIP_Number *string `json:"sip_number" gorm:"unique;size:20"`
|
SIP_Number *string `json:"sip_number" gorm:"unique;size:20"`
|
||||||
SIP_ExpiredDate *time.Time `json:"sip_expiredDate"`
|
SIP_ExpiredDate *time.Time `json:"sip_expiredDate"`
|
||||||
Unit_Code *string `json:"unit_code" gorm:"size:10"`
|
|
||||||
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
|
|
||||||
Specialist_Code *string `json:"specialist_code" gorm:"size:10"`
|
Specialist_Code *string `json:"specialist_code" gorm:"size:10"`
|
||||||
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
Subspecialist_Code *string `json:"subspecialist_code" gorm:"size:10"`
|
Subspecialist_Code *string `json:"subspecialist_code" gorm:"size:10"`
|
||||||
|
|||||||
@@ -30,32 +30,41 @@ import (
|
|||||||
er "simrs-vx/internal/domain/main-entities/rehab/base"
|
er "simrs-vx/internal/domain/main-entities/rehab/base"
|
||||||
es "simrs-vx/internal/domain/main-entities/specialist"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Patient_Id *uint `json:"patient_id"`
|
Patient_Id *uint `json:"patient_id"`
|
||||||
RegisteredAt *time.Time `json:"registeredAt"`
|
RegisteredAt *time.Time `json:"registeredAt"`
|
||||||
Class_Code ere.EncounterClassCode `json:"class_code" validate:"maxLength=10"`
|
Class_Code ere.EncounterClassCode `json:"class_code" validate:"maxLength=10"`
|
||||||
SubClass_Code *string `json:"subClass_code" validate:"maxLength=10"` // for sub
|
SubClass_Code *string `json:"subClass_code" validate:"maxLength=10"` // for sub
|
||||||
Infra_Code *string `json:"infra_code"` // for inpatient
|
Infra_Code *string `json:"infra_code"` // for inpatient
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Specialist_Code *string `json:"specialist_code"`
|
Subspecialist_Code *string `json:"subspecialist_code"`
|
||||||
Subspecialist_Code *string `json:"subspecialist_code"`
|
VisitDate time.Time `json:"visitDate"`
|
||||||
VisitDate time.Time `json:"visitDate"`
|
StartedAt *time.Time `json:"startedAt"`
|
||||||
PaymentMethod_Code ere.AllPaymentMethodCode `json:"paymentMethod_code" gorm:"size:10"`
|
FinishedAt *time.Time `json:"finishedAt"`
|
||||||
InsuranceCompany_Code *string `json:"insuranceCompany_code"`
|
PaymentMethod_Code ere.AllPaymentMethodCode `json:"paymentMethod_code" gorm:"size:10"`
|
||||||
Member_Number *string `json:"member_number" validate:"maxLength=20"`
|
InsuranceCompany_Code *string `json:"insuranceCompany_code"`
|
||||||
Ref_Number *string `json:"ref_number" validate:"maxLength=20"`
|
Member_Number *string `json:"member_number" validate:"maxLength=20"`
|
||||||
Trx_Number *string `json:"trx_number" validate:"maxLength=20"`
|
RefTypeCode ere.RefTypeCode `json:"refTypeCode"`
|
||||||
Appointment_Doctor_Code *string `json:"appointment_doctor_code"`
|
Ref_Number *string `json:"ref_number" validate:"maxLength=20"`
|
||||||
Adm_Employee_Id *uint `json:"-"`
|
Trx_Number *string `json:"trx_number" validate:"maxLength=20"`
|
||||||
Responsible_Doctor_Code *string `json:"responsible_doctor_code"`
|
Appointment_Doctor_Code *string `json:"appointment_doctor_code"`
|
||||||
RefSource_Name *string `json:"refSource_name" validate:"maxLength=100"`
|
Adm_Employee_Id *uint `json:"-"`
|
||||||
Appointment_Id *uint `json:"appointment_id"`
|
Responsible_Doctor_Code *string `json:"responsible_doctor_code"`
|
||||||
RefTypeCode ere.RefTypeCode `json:"refTypeCode"`
|
Responsible_Nurse_Code *string `json:"responsible_nurse_code"`
|
||||||
NewStatus bool `json:"newStatus"`
|
Discharge_Method_Code *ere.DischargeMethodCode `json:"discharge_method_code" gorm:"size:16"`
|
||||||
VclaimReference *TRujukan `json:"vclaimReference"`
|
RefSource_Name *string `json:"refSource_name" validate:"maxLength=100"`
|
||||||
|
Appointment_Id *uint `json:"appointment_id"`
|
||||||
|
EarlyEducation *string `json:"earlyEducation"`
|
||||||
|
MedicalDischargeEducation *string `json:"medicalDischargeEducation"`
|
||||||
|
AdmDischargeEducation *string `json:"admDischargeEducation"`
|
||||||
|
DischargeReason *string `json:"dischargeReason"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code" gorm:"size:10"`
|
||||||
|
Discharge_Date *time.Time `json:"discharge_date"`
|
||||||
|
DeathCause *edc.DeathCause `json:"deathCause"`
|
||||||
|
NewStatus bool `json:"newStatus"`
|
||||||
|
VclaimReference *TRujukan `json:"vclaimReference"`
|
||||||
|
|
||||||
Id uint `json:"-"`
|
Id uint `json:"-"`
|
||||||
RecentEncounterAdm *Encounter `json:"-"` // if subClass_Code is rehab
|
RecentEncounterAdm *Encounter `json:"-"` // if subClass_Code is rehab
|
||||||
@@ -78,8 +87,14 @@ type TRujukan struct {
|
|||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
FilterDto
|
FilterDto
|
||||||
Includes string `json:"includes"`
|
Includes string `json:"includes"`
|
||||||
Pagination ecore.Pagination
|
Pagination ecore.Pagination
|
||||||
|
Patient_Identifier *string `json:"patient-identifier"`
|
||||||
|
StartDate *string `json:"start-date"`
|
||||||
|
EndDate *string `json:"end-date"`
|
||||||
|
PaymentMethod_Code *string `json:"paymentMethod-code"`
|
||||||
|
Status_Code *string `json:"status-code"`
|
||||||
|
Specialist_Code *string `json:"specialist-code"`
|
||||||
|
|
||||||
pa.AuthInfo
|
pa.AuthInfo
|
||||||
}
|
}
|
||||||
@@ -89,7 +104,6 @@ type FilterDto struct {
|
|||||||
Patient *ep.Patient `json:"patient,omitempty"`
|
Patient *ep.Patient `json:"patient,omitempty"`
|
||||||
RegisteredAt *time.Time `json:"registeredAt"`
|
RegisteredAt *time.Time `json:"registeredAt"`
|
||||||
Class_Code ere.EncounterClassCode `json:"class-code" validate:"maxLength=10"`
|
Class_Code ere.EncounterClassCode `json:"class-code" validate:"maxLength=10"`
|
||||||
Unit_Code *string `json:"unit-code"`
|
|
||||||
Specialist_Code *string `json:"specialist-code"`
|
Specialist_Code *string `json:"specialist-code"`
|
||||||
Subspecialist_Code *string `json:"subspecialist-code"`
|
Subspecialist_Code *string `json:"subspecialist-code"`
|
||||||
VisitDate time.Time `json:"visitDate"`
|
VisitDate time.Time `json:"visitDate"`
|
||||||
@@ -154,7 +168,7 @@ type CheckinDto struct {
|
|||||||
pa.AuthInfo
|
pa.AuthInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
type SwitchUnitDto struct {
|
type SwitchSpecialistDto struct {
|
||||||
Id uint `json:"id"`
|
Id uint `json:"id"`
|
||||||
PolySwitchCode *ere.PolySwitchCode `json:"polySwitchCode"`
|
PolySwitchCode *ere.PolySwitchCode `json:"polySwitchCode"`
|
||||||
InternalReferences *[]eir.CreateDto `json:"internalReferences" validate:"required"`
|
InternalReferences *[]eir.CreateDto `json:"internalReferences" validate:"required"`
|
||||||
@@ -164,7 +178,7 @@ type SwitchUnitDto struct {
|
|||||||
pa.AuthInfo
|
pa.AuthInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
type ApproveCancelUnitDto struct {
|
type ApproveCancelSpecialistDto struct {
|
||||||
Id uint `json:"id"`
|
Id uint `json:"id"`
|
||||||
InternalReferences_Id uint `json:"internalReferences_id" validate:"required"`
|
InternalReferences_Id uint `json:"internalReferences_id" validate:"required"`
|
||||||
Dst_Doctor_Code *string `json:"dst_doctor_code"`
|
Dst_Doctor_Code *string `json:"dst_doctor_code"`
|
||||||
@@ -178,12 +192,10 @@ type ResponseDto struct {
|
|||||||
Patient *ep.Patient `json:"patient,omitempty"`
|
Patient *ep.Patient `json:"patient,omitempty"`
|
||||||
RegisteredAt *time.Time `json:"registeredAt"`
|
RegisteredAt *time.Time `json:"registeredAt"`
|
||||||
Class_Code ere.EncounterClassCode `json:"class_code"`
|
Class_Code ere.EncounterClassCode `json:"class_code"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
|
||||||
Specialist_Code *string `json:"specialist_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Specialist *es.Specialist `json:"specialist,omitempty"`
|
Specialist *es.Specialist `json:"specialist,omitempty"`
|
||||||
Subspecialist_Code *string `json:"subspecialist_code"`
|
Subspecialist_Code *string `json:"subspecialist_code"`
|
||||||
Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty"`
|
Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty"`
|
||||||
Unit *eu.Unit `json:"unit,omitempty"`
|
|
||||||
VisitDate time.Time `json:"visitDate"`
|
VisitDate time.Time `json:"visitDate"`
|
||||||
PaymentMethod_Code ere.AllPaymentMethodCode `json:"paymentMethod_code"`
|
PaymentMethod_Code ere.AllPaymentMethodCode `json:"paymentMethod_code"`
|
||||||
InsuranceCompany_Code *string `json:"insuranceCompany_code"`
|
InsuranceCompany_Code *string `json:"insuranceCompany_code"`
|
||||||
@@ -228,8 +240,6 @@ func (d Encounter) ToResponse() ResponseDto {
|
|||||||
Patient: d.Patient,
|
Patient: d.Patient,
|
||||||
RegisteredAt: d.RegisteredAt,
|
RegisteredAt: d.RegisteredAt,
|
||||||
Class_Code: d.Class_Code,
|
Class_Code: d.Class_Code,
|
||||||
Unit_Code: d.Unit_Code,
|
|
||||||
Unit: d.Unit,
|
|
||||||
Specialist_Code: d.Specialist_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
Specialist: d.Specialist,
|
Specialist: d.Specialist,
|
||||||
Subspecialist_Code: d.Subspecialist_Code,
|
Subspecialist_Code: d.Subspecialist_Code,
|
||||||
@@ -281,3 +291,8 @@ func ToResponseList(data []Encounter) []ResponseDto {
|
|||||||
}
|
}
|
||||||
return resp
|
return resp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CreateWithPatientDto struct {
|
||||||
|
Encounter CreateDto `json:"encounter"`
|
||||||
|
Patient ep.CreateDto `json:"patient"`
|
||||||
|
}
|
||||||
@@ -25,7 +25,6 @@ import (
|
|||||||
er "simrs-vx/internal/domain/main-entities/rehab/base"
|
er "simrs-vx/internal/domain/main-entities/rehab/base"
|
||||||
es "simrs-vx/internal/domain/main-entities/specialist"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Encounter struct {
|
type Encounter struct {
|
||||||
@@ -34,8 +33,6 @@ type Encounter struct {
|
|||||||
Patient *ep.Patient `json:"patient,omitempty" gorm:"foreignKey:Patient_Id;references:Id"`
|
Patient *ep.Patient `json:"patient,omitempty" gorm:"foreignKey:Patient_Id;references:Id"`
|
||||||
RegisteredAt *time.Time `json:"registeredAt"`
|
RegisteredAt *time.Time `json:"registeredAt"`
|
||||||
Class_Code ere.EncounterClassCode `json:"class_code" gorm:"not null;size:10"`
|
Class_Code ere.EncounterClassCode `json:"class_code" gorm:"not null;size:10"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
|
||||||
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
|
|
||||||
Specialist_Code *string `json:"specialist_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
Subspecialist_Code *string `json:"subspecialist_code"`
|
Subspecialist_Code *string `json:"subspecialist_code"`
|
||||||
|
|||||||
@@ -3,15 +3,16 @@ package infra
|
|||||||
import (
|
import (
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ei "simrs-vx/internal/domain/main-entities/item"
|
ei "simrs-vx/internal/domain/main-entities/item"
|
||||||
erb "simrs-vx/internal/domain/main-entities/room/base"
|
|
||||||
|
erb "simrs-vx/internal/domain/main-entities/procedure-room/base"
|
||||||
|
|
||||||
ero "simrs-vx/internal/domain/references/organization"
|
ero "simrs-vx/internal/domain/references/organization"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Code string `json:"code" validate:"maxLength=10"`
|
Code string `json:"code" validate:"maxLength=20"`
|
||||||
Name string `json:"name" validate:"maxLength=50"`
|
Name string `json:"name" validate:"maxLength=50"`
|
||||||
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" validate:"maxLength=15"`
|
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" validate:"maxLength=20"`
|
||||||
Parent_Code *string `json:"parent_code"`
|
Parent_Code *string `json:"parent_code"`
|
||||||
Item_Code *string `json:"-"`
|
Item_Code *string `json:"-"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Unit_Code *string `json:"unit_code"`
|
||||||
@@ -31,7 +32,7 @@ type ReadListDto struct {
|
|||||||
type FilterDto struct {
|
type FilterDto struct {
|
||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup-code"`
|
InfraGroup_Code ero.InfraGroupCode `json:"infra-group-code"`
|
||||||
Parent_Code *string `json:"parent-code"`
|
Parent_Code *string `json:"parent-code"`
|
||||||
Item_Id *string `json:"item-code"`
|
Item_Id *string `json:"item-code"`
|
||||||
Search string `json:"search" gormhelper:"searchColumns=Code,Name"`
|
Search string `json:"search" gormhelper:"searchColumns=Code,Name"`
|
||||||
@@ -69,7 +70,7 @@ type ResponseDto struct {
|
|||||||
Childrens []Infra `json:"childrens,omitempty"`
|
Childrens []Infra `json:"childrens,omitempty"`
|
||||||
Item_Code *string `json:"item_code"`
|
Item_Code *string `json:"item_code"`
|
||||||
Item *ei.Item `json:"item,omitempty"`
|
Item *ei.Item `json:"item,omitempty"`
|
||||||
Rooms []erb.Basic `json:"rooms,omitempty"`
|
ProcedureRooms *erb.ProcedureRoom `json:"rooms,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d Infra) ToResponse() ResponseDto {
|
func (d Infra) ToResponse() ResponseDto {
|
||||||
@@ -79,10 +80,10 @@ func (d Infra) ToResponse() ResponseDto {
|
|||||||
InfraGroup_Code: d.InfraGroup_Code,
|
InfraGroup_Code: d.InfraGroup_Code,
|
||||||
Parent_Code: d.Parent_Code,
|
Parent_Code: d.Parent_Code,
|
||||||
// Parent: d.Parent,
|
// Parent: d.Parent,
|
||||||
Childrens: d.Childrens,
|
Childrens: d.Childrens,
|
||||||
Item_Code: d.Item_Code,
|
Item_Code: d.Item_Code,
|
||||||
Item: d.Item,
|
Item: d.Item,
|
||||||
Rooms: d.Rooms,
|
ProcedureRooms: d.ProcedureRooms,
|
||||||
}
|
}
|
||||||
resp.SmallMain = d.SmallMain
|
resp.SmallMain = d.SmallMain
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
@@ -4,20 +4,20 @@ import (
|
|||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ei "simrs-vx/internal/domain/main-entities/item"
|
ei "simrs-vx/internal/domain/main-entities/item"
|
||||||
|
|
||||||
erb "simrs-vx/internal/domain/main-entities/room/base"
|
erb "simrs-vx/internal/domain/main-entities/procedure-room/base"
|
||||||
|
|
||||||
ero "simrs-vx/internal/domain/references/organization"
|
ero "simrs-vx/internal/domain/references/organization"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Infra struct {
|
type Infra struct {
|
||||||
ecore.SmallMain // adjust this according to the needs
|
ecore.SmallMain // adjust this according to the needs
|
||||||
Code string `json:"code" gorm:"uniqueIndex;size:10;not null"`
|
Code string `json:"code" gorm:"uniqueIndex;size:20;not null"`
|
||||||
Name string `json:"name" gorm:"size:50"`
|
Name string `json:"name" gorm:"size:50"`
|
||||||
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" gorm:"size:15"`
|
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" gorm:"size:20"`
|
||||||
Parent_Code *string `json:"parent_code" gorm:"size:10"`
|
Parent_Code *string `json:"parent_code" gorm:"size:20"`
|
||||||
Parent *Infra `json:"parent" gorm:"foreignKey:Parent_Code;references:Code"`
|
Parent *Infra `json:"parent" gorm:"foreignKey:Parent_Code;references:Code"`
|
||||||
Childrens []Infra `json:"childrens" gorm:"foreignKey:Parent_Code;references:Code"`
|
Childrens []Infra `json:"childrens" gorm:"foreignKey:Parent_Code;references:Code"`
|
||||||
Item_Code *string `json:"item_code" gorm:"size:50"`
|
Item_Code *string `json:"item_code" gorm:"size:50"`
|
||||||
Item *ei.Item `json:"item,omitempty" gorm:"foreignKey:Item_Code;references:Code"`
|
Item *ei.Item `json:"item,omitempty" gorm:"foreignKey:Item_Code;references:Code"`
|
||||||
Rooms []erb.Basic `json:"rooms" gorm:"foreignKey:Infra_Code;references:Code"`
|
ProcedureRooms *erb.ProcedureRoom `json:"rooms" gorm:"foreignKey:Infra_Code;references:Code"`
|
||||||
}
|
}
|
||||||
@@ -9,9 +9,9 @@ import (
|
|||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Id *uint `json:"id"`
|
Id *uint `json:"id"`
|
||||||
Code *string `json:"code" validate:"maxLength=10"`
|
Code *string `json:"code" validate:"maxLength=20"`
|
||||||
Name string `json:"name" validate:"maxLength=50"`
|
Name string `json:"name" validate:"maxLength=50"`
|
||||||
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" validate:"maxLength=10"`
|
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" validate:"maxLength=20"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import (
|
|||||||
|
|
||||||
type Installation struct {
|
type Installation struct {
|
||||||
ecore.SmallMain // adjust this according to the needs
|
ecore.SmallMain // adjust this according to the needs
|
||||||
Code string `json:"code" gorm:"unique;size:10"`
|
Code string `json:"code" gorm:"unique;size:20"`
|
||||||
Name string `json:"name" gorm:"size:50"`
|
Name string `json:"name" gorm:"size:50"`
|
||||||
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" gorm:"size:10"`
|
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" gorm:"size:10"`
|
||||||
InstallationPositions []eipb.Basic `json:"installationPositions,omitempty" gorm:"foreignKey:Installation_Code;references:Code"`
|
InstallationPositions []eipb.Basic `json:"installationPositions,omitempty" gorm:"foreignKey:Installation_Code;references:Code"`
|
||||||
|
|||||||
@@ -5,17 +5,17 @@ import (
|
|||||||
|
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Encounter_Id *uint `json:"-"`
|
Encounter_Id *uint `json:"-"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Doctor_Code *string `json:"doctor_code"`
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
Nurse_Code *string `json:"nurse_code"`
|
Nurse_Code *string `json:"nurse_code"`
|
||||||
Status_Code erc.DataApprovalCode `json:"status_code"`
|
Status_Code erc.DataApprovalCode `json:"status_code"`
|
||||||
SrcDoctor_Code *string `json:"srcDoctor_code"`
|
SrcDoctor_Code *string `json:"srcDoctor_code"`
|
||||||
SrcNurse_Code *string `json:"srcNurse_code"`
|
SrcNurse_Code *string `json:"srcNurse_code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -25,10 +25,10 @@ type ReadListDto struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type FilterDto struct {
|
type FilterDto struct {
|
||||||
Encounter_Id *uint `json:"encounter-id"`
|
Encounter_Id *uint `json:"encounter-id"`
|
||||||
Unit_Code *uint `json:"unit-code"`
|
Specialist_Code *uint `json:"specialist-code"`
|
||||||
Doctor_Code *uint `json:"doctor-code"`
|
Doctor_Code *uint `json:"doctor-code"`
|
||||||
Status_Code erc.DataApprovalCode `json:"status-code"`
|
Status_Code erc.DataApprovalCode `json:"status-code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadDetailDto struct {
|
type ReadDetailDto struct {
|
||||||
@@ -53,22 +53,22 @@ type MetaDto struct {
|
|||||||
|
|
||||||
type ResponseDto struct {
|
type ResponseDto struct {
|
||||||
ecore.Main
|
ecore.Main
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Unit *eu.Unit `json:"unit,omitempty"`
|
Specialist *es.Specialist `json:"specialist,omitempty"`
|
||||||
Doctor_Code *string `json:"doctor_id"`
|
Doctor_Code *string `json:"doctor_id"`
|
||||||
Doctor *ed.Doctor `json:"doctor,omitempty"`
|
Doctor *ed.Doctor `json:"doctor,omitempty"`
|
||||||
Status_Code *erc.DataApprovalCode `json:"status_code"`
|
Status_Code *erc.DataApprovalCode `json:"status_code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d InternalReference) ToResponse() ResponseDto {
|
func (d InternalReference) ToResponse() ResponseDto {
|
||||||
resp := ResponseDto{
|
resp := ResponseDto{
|
||||||
Encounter_Id: d.Encounter_Id,
|
Encounter_Id: d.Encounter_Id,
|
||||||
Unit_Code: d.Unit_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
Unit: d.Unit,
|
Specialist: d.Specialist,
|
||||||
Doctor_Code: d.Doctor_Code,
|
Doctor_Code: d.Doctor_Code,
|
||||||
Doctor: d.Doctor,
|
Doctor: d.Doctor,
|
||||||
Status_Code: d.Status_Code,
|
Status_Code: d.Status_Code,
|
||||||
}
|
}
|
||||||
resp.Main = d.Main
|
resp.Main = d.Main
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
@@ -6,21 +6,21 @@ import (
|
|||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
en "simrs-vx/internal/domain/main-entities/nurse"
|
en "simrs-vx/internal/domain/main-entities/nurse"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
)
|
)
|
||||||
|
|
||||||
type InternalReference struct {
|
type InternalReference struct {
|
||||||
ecore.Main
|
ecore.Main
|
||||||
Encounter_Id *uint `json:"encounter_id"`
|
Encounter_Id *uint `json:"encounter_id"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
Doctor_Code *string `json:"doctor_code"`
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
||||||
Status_Code *erc.DataApprovalCode `json:"status_code"`
|
Status_Code *erc.DataApprovalCode `json:"status_code"`
|
||||||
SrcDoctor_Code *string `json:"srcDoctor_code"`
|
SrcDoctor_Code *string `json:"srcDoctor_code"`
|
||||||
SrcDoctor *ed.Doctor `json:"srcDoctor,omitempty" gorm:"foreignKey:SrcDoctor_Code;references:Code"`
|
SrcDoctor *ed.Doctor `json:"srcDoctor,omitempty" gorm:"foreignKey:SrcDoctor_Code;references:Code"`
|
||||||
SrcNurse_Code *string `json:"srcNurse_code"`
|
SrcNurse_Code *string `json:"srcNurse_code"`
|
||||||
SrcNurse *en.Nurse `json:"srcNurse,omitempty" gorm:"foreignKey:SrcNurse_Code;references:Code"`
|
SrcNurse *en.Nurse `json:"srcNurse,omitempty" gorm:"foreignKey:SrcNurse_Code;references:Code"`
|
||||||
Nurse_Code *string `json:"nurse_code"`
|
Nurse_Code *string `json:"nurse_code"`
|
||||||
Nurse *en.Nurse `json:"nurse,omitempty" gorm:"foreignKey:Nurse_Code;references:Code"`
|
Nurse *en.Nurse `json:"nurse,omitempty" gorm:"foreignKey:Nurse_Code;references:Code"`
|
||||||
}
|
}
|
||||||
@@ -13,6 +13,8 @@ type CreateDto struct {
|
|||||||
Uom_Code *string `json:"uom_code" validate:"maxLength=10"`
|
Uom_Code *string `json:"uom_code" validate:"maxLength=10"`
|
||||||
Infra_Code *string `json:"infra_code"`
|
Infra_Code *string `json:"infra_code"`
|
||||||
Stock *int `json:"stock"`
|
Stock *int `json:"stock"`
|
||||||
|
BuyingPrice *float64 `json:"buyingPrice"`
|
||||||
|
SellingPrice *float64 `json:"sellingPrice"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -33,7 +35,7 @@ type FilterDto struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type ReadDetailDto struct {
|
type ReadDetailDto struct {
|
||||||
Id *uint16 `json:"id"`
|
Id *uint `json:"id"`
|
||||||
Code *string `json:"code"`
|
Code *string `json:"code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package materialpackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
em "simrs-vx/internal/domain/main-entities/material"
|
||||||
|
emp "simrs-vx/internal/domain/main-entities/material-package"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
MaterialPackage_Code string `json:"materialPackage_code" validate:"maxLength=20"`
|
||||||
|
Material_Code string `json:"material_code" validate:"maxLength=20"`
|
||||||
|
Count uint16 `json:"count" validate:"required"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
MaterialPackage_Code string `json:"material-package-code"`
|
||||||
|
Material_Code string `json:"material_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
MaterialPackage_Code string `json:"materialPackage_code"`
|
||||||
|
MaterialPackage *emp.MaterialPackage `json:"materialPackage,omitempty"`
|
||||||
|
Material_Code string `json:"material_code"`
|
||||||
|
Material *em.Material `json:"material,omitempty"`
|
||||||
|
Count *uint16 `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MaterialPackageItem) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
MaterialPackage_Code: d.MaterialPackage_Code,
|
||||||
|
MaterialPackage: d.MaterialPackage,
|
||||||
|
Material_Code: d.Material_Code,
|
||||||
|
Material: d.Material,
|
||||||
|
Count: d.Count,
|
||||||
|
}
|
||||||
|
resp.Id = d.Id
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []MaterialPackageItem) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package materialpackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
em "simrs-vx/internal/domain/main-entities/material"
|
||||||
|
emp "simrs-vx/internal/domain/main-entities/material-package"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MaterialPackageItem struct {
|
||||||
|
ecore.Main
|
||||||
|
MaterialPackage_Code string `json:"materialPackage_code" gorm:"size:20;not null"`
|
||||||
|
MaterialPackage *emp.MaterialPackage `json:"materialPackage" gorm:"foreignKey:MaterialPackage_Code;references:Code"`
|
||||||
|
Material_Code string `json:"code" gorm:"size:20;not null"`
|
||||||
|
Material *em.Material `json:"material" gorm:"foreignKey:Material_Code;references:Code"`
|
||||||
|
Count *uint16 `json:"count"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
package materialpackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Code string `json:"code" validate:"maxLength=20"`
|
||||||
|
Name string `json:"name" validate:"maxLength=50"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id *uint16 `json:"id"`
|
||||||
|
Code *string `json:"code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint16 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id *uint16 `json:"id"`
|
||||||
|
Code *string `json:"code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.SmallMain
|
||||||
|
Code string `json:"code"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MaterialPackage) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Code: d.Code,
|
||||||
|
Name: d.Name,
|
||||||
|
}
|
||||||
|
resp.SmallMain = d.SmallMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []MaterialPackage) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package materialpackage
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MaterialPackage struct {
|
||||||
|
ecore.SmallMain
|
||||||
|
Code string `json:"code" gorm:"unique;size:20;not null"`
|
||||||
|
Name string `json:"name" gorm:"size:50"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package micromcuorderitem
|
||||||
|
|
||||||
|
type SubCreateDto struct {
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code" validate:"required"`
|
||||||
|
Note string `json:"note"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package micromcuorderitem
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ems "simrs-vx/internal/domain/main-entities/mcu-src"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MicroMcuOrderItem struct {
|
||||||
|
ecore.BigMain // adjust this according to the needs
|
||||||
|
MicroMcuOrder_Id uint64 `json:"microMcuOrder_id" gorm:"uniqueIndex:idx_order_src"`
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code" gorm:"uniqueIndex:idx_order_src"`
|
||||||
|
McuSrc *ems.McuSrc `json:"mcuSrc,omitempty" gorm:"foreignKey:McuSrc_Code;references:Code"`
|
||||||
|
Note *string `json:"note" gorm:"size:1024"`
|
||||||
|
Result *string `json:"result"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
package micromcuorderitem
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ems "simrs-vx/internal/domain/main-entities/mcu-src"
|
||||||
|
emro "simrs-vx/internal/domain/main-entities/micro-mcu-order"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
MicroMcuOrder_Id uint64 `json:"microMcuOrder_id"`
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
MicroMcuOrder_Id *uint64 `json:"micro-mcu-order-id"`
|
||||||
|
McuSrc_Code *string `json:"mcu-src-code"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status-code"`
|
||||||
|
}
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type SetScheduleDto struct {
|
||||||
|
Id uint `json:"id"`
|
||||||
|
ExaminationDate *time.Time `json:"examinationDate"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.BigMain
|
||||||
|
MicroMcuOrder_Id uint64 `json:"microMcuOrder_id"`
|
||||||
|
MicroMcuOrder *emro.MicroMcuOrder `json:"microMcuOrder,omitempty"`
|
||||||
|
McuSrc_Code string `json:"mcuSrc_code"`
|
||||||
|
McuSrc *ems.McuSrc `json:"mcuSrc,omitempty"`
|
||||||
|
Result *string `json:"result"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MicroMcuOrderItem) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
MicroMcuOrder_Id: d.MicroMcuOrder_Id,
|
||||||
|
MicroMcuOrder: d.MicroMcuOrder,
|
||||||
|
McuSrc_Code: d.McuSrc_Code,
|
||||||
|
McuSrc: d.McuSrc,
|
||||||
|
Result: d.Result,
|
||||||
|
Status_Code: d.Status_Code,
|
||||||
|
}
|
||||||
|
resp.BigMain = d.BigMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []MicroMcuOrderItem) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package micromcuorderitem
|
||||||
|
|
||||||
|
import (
|
||||||
|
ems "simrs-vx/internal/domain/main-entities/mcu-src"
|
||||||
|
emo "simrs-vx/internal/domain/main-entities/micro-mcu-order"
|
||||||
|
emoib "simrs-vx/internal/domain/main-entities/micro-mcu-order-item/base"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MicroMcuOrderItem struct {
|
||||||
|
emoib.MicroMcuOrderItem
|
||||||
|
MicroMcuOrder *emo.MicroMcuOrder `json:"microMcuOrder,omitempty" gorm:"foreignKey:MicroMcuOrder_Id;references:Id"`
|
||||||
|
McuSrc *ems.McuSrc `json:"mcuSrc,omitempty" gorm:"foreignKey:McuSrc_Code;references:Code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MicroMcuOrderItem) IsCompleted() bool {
|
||||||
|
return d.Status_Code == erc.DSCDone
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package micromcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ercl "simrs-vx/internal/domain/references/clinical"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MicroMcuOrder struct {
|
||||||
|
ecore.BigMain
|
||||||
|
Encounter_Id uint `json:"encounter_id"`
|
||||||
|
Number uint64 `json:"number"`
|
||||||
|
Doctor_Code string `json:"doctor_code" gorm:"unique;size:20"`
|
||||||
|
Stage_Code ercl.McuOrderStageCode `json:"stage_code" gorm:"not null;size:10"`
|
||||||
|
AxillaryTemp float64 `json:"axillaryTemp"`
|
||||||
|
OtherNotes *string `json:"otherNotes"`
|
||||||
|
Status_Code erc.DataStatusCode `json:"status_code" gorm:"not null;size:10"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
package micromcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
la "simrs-vx/internal/lib/auth"
|
||||||
|
|
||||||
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
ercl "simrs-vx/internal/domain/references/clinical"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CreateDto struct {
|
||||||
|
Encounter_Id uint `json:"encounter_id" validate:"required"`
|
||||||
|
Number uint64 `json:"number"` // SHOULD BE AUTOMATIC WITHOUT SYNC
|
||||||
|
OrderStage_Code string `json:"orderStage_code" gorm:"not null;size:10"`
|
||||||
|
AxillaryTemp float64 `json:"axillaryTemp"`
|
||||||
|
OtherNotes string `json:"otherNotes"`
|
||||||
|
la.AuthInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadListDto struct {
|
||||||
|
FilterDto
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
Sort string `json:"sort"`
|
||||||
|
Pagination ecore.Pagination
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterDto struct {
|
||||||
|
Encounter_Id uint `json:"encounter-id"`
|
||||||
|
Doctor_Code string `json:"doctor-code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadDetailDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
Includes string `json:"includes"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
CreateDto
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteDto struct {
|
||||||
|
Id uint64 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MetaDto struct {
|
||||||
|
PageNumber int `json:"page_number"`
|
||||||
|
PageSize int `json:"page_size"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseDto struct {
|
||||||
|
ecore.BigMain
|
||||||
|
Encounter_Id uint
|
||||||
|
Encounter *ee.Encounter
|
||||||
|
Number uint64 `json:"number"`
|
||||||
|
Doctor_Code string `json:"doctor_code"`
|
||||||
|
Doctor *ed.Doctor
|
||||||
|
Stage_Code ercl.McuOrderStageCode `json:"stage_code" gorm:"not null;size:10"`
|
||||||
|
AxillaryTemp float64 `json:"axillaryTemp"`
|
||||||
|
OtherNotes *string `json:"otherNotes"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MicroMcuOrder) ToResponse() ResponseDto {
|
||||||
|
resp := ResponseDto{
|
||||||
|
Encounter_Id: d.Encounter_Id,
|
||||||
|
Encounter: d.Encounter,
|
||||||
|
Number: d.Number,
|
||||||
|
Doctor_Code: d.Doctor_Code,
|
||||||
|
Doctor: d.Doctor,
|
||||||
|
Stage_Code: d.Stage_Code,
|
||||||
|
AxillaryTemp: d.AxillaryTemp,
|
||||||
|
OtherNotes: d.OtherNotes,
|
||||||
|
}
|
||||||
|
resp.BigMain = d.BigMain
|
||||||
|
return resp
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToResponseList(data []MicroMcuOrder) []ResponseDto {
|
||||||
|
resp := make([]ResponseDto, len(data))
|
||||||
|
for i, u := range data {
|
||||||
|
resp[i] = u.ToResponse()
|
||||||
|
}
|
||||||
|
return resp
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package micromcuorder
|
||||||
|
|
||||||
|
import (
|
||||||
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
|
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
|
emmoi "simrs-vx/internal/domain/main-entities/micro-mcu-order-item/base"
|
||||||
|
eamob "simrs-vx/internal/domain/main-entities/micro-mcu-order/base"
|
||||||
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MicroMcuOrder struct {
|
||||||
|
eamob.MicroMcuOrder
|
||||||
|
Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
|
||||||
|
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
||||||
|
Items []*emmoi.MicroMcuOrderItem `json:"items" gorm:"foreignKey:MicroMcuOrder_Id;references:Id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MicroMcuOrder) IsNotNew() bool {
|
||||||
|
return d.Status_Code != erc.DSCNew
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MicroMcuOrder) IsCompleted() bool {
|
||||||
|
return d.Status_Code == erc.DSCDone
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d MicroMcuOrder) IsSameDoctor(doctor_code *string) bool {
|
||||||
|
return d.Doctor_Code == *doctor_code
|
||||||
|
}
|
||||||
@@ -4,15 +4,15 @@ import (
|
|||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ee "simrs-vx/internal/domain/main-entities/employee"
|
ee "simrs-vx/internal/domain/main-entities/employee"
|
||||||
ei "simrs-vx/internal/domain/main-entities/infra"
|
ei "simrs-vx/internal/domain/main-entities/infra"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Code *string `json:"code" validate:"maxLength=20"`
|
Code *string `json:"code" validate:"maxLength=20"`
|
||||||
Employee_Id *uint `json:"employee_id"`
|
Employee_Id *uint `json:"employee_id"`
|
||||||
IHS_Number *string `json:"ihs_number" validate:"maxLength=20"`
|
IHS_Number *string `json:"ihs_number" validate:"maxLength=20"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Infra_Code *string `json:"infra_code"`
|
Infra_Code *string `json:"infra_code"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -22,11 +22,11 @@ type ReadListDto struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type FilterDto struct {
|
type FilterDto struct {
|
||||||
Code *string `json:"code"`
|
Code *string `json:"code"`
|
||||||
Employee_Id *uint `json:"employee-id"`
|
Employee_Id *uint `json:"employee-id"`
|
||||||
IHS_Number *string `json:"ihs-number"`
|
IHS_Number *string `json:"ihs-number"`
|
||||||
Unit_Code *string `json:"unit-code"`
|
Specialist_Code *string `json:"specialist-code"`
|
||||||
Infra_Code *string `json:"infra-code"`
|
Infra_Code *string `json:"infra-code"`
|
||||||
}
|
}
|
||||||
type ReadDetailDto struct {
|
type ReadDetailDto struct {
|
||||||
Id *uint16 `json:"id"`
|
Id *uint16 `json:"id"`
|
||||||
@@ -53,26 +53,26 @@ type MetaDto struct {
|
|||||||
|
|
||||||
type ResponseDto struct {
|
type ResponseDto struct {
|
||||||
ecore.Main
|
ecore.Main
|
||||||
Code *string `json:"code"`
|
Code *string `json:"code"`
|
||||||
Employee_Id *uint `json:"employee_id"`
|
Employee_Id *uint `json:"employee_id"`
|
||||||
Employee *ee.Employee `json:"employee,omitempty"`
|
Employee *ee.Employee `json:"employee,omitempty"`
|
||||||
IHS_Number *string `json:"ihs_number"`
|
IHS_Number *string `json:"ihs_number"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Unit *eu.Unit `json:"unit,omitempty"`
|
Specialist *es.Specialist `json:"specialist,omitempty"`
|
||||||
Infra_Code *string `json:"infra_code"`
|
Infra_Code *string `json:"infra_code"`
|
||||||
Infra *ei.Infra `json:"infra,omitempty"`
|
Infra *ei.Infra `json:"infra,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d Nurse) ToResponse() ResponseDto {
|
func (d Nurse) ToResponse() ResponseDto {
|
||||||
resp := ResponseDto{
|
resp := ResponseDto{
|
||||||
Code: d.Code,
|
Code: d.Code,
|
||||||
Employee_Id: d.Employee_Id,
|
Employee_Id: d.Employee_Id,
|
||||||
Employee: d.Employee,
|
Employee: d.Employee,
|
||||||
IHS_Number: d.IHS_Number,
|
IHS_Number: d.IHS_Number,
|
||||||
Unit_Code: d.Unit_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
Unit: d.Unit,
|
Specialist: d.Specialist,
|
||||||
Infra_Code: d.Infra_Code,
|
Infra_Code: d.Infra_Code,
|
||||||
Infra: d.Infra,
|
Infra: d.Infra,
|
||||||
}
|
}
|
||||||
resp.Main = d.Main
|
resp.Main = d.Main
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
@@ -4,17 +4,17 @@ import (
|
|||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ee "simrs-vx/internal/domain/main-entities/employee"
|
ee "simrs-vx/internal/domain/main-entities/employee"
|
||||||
ei "simrs-vx/internal/domain/main-entities/infra"
|
ei "simrs-vx/internal/domain/main-entities/infra"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Nurse struct {
|
type Nurse struct {
|
||||||
ecore.Main // adjust this according to the needs
|
ecore.Main // adjust this according to the needs
|
||||||
Code *string `json:"code" gorm:"unique;size:20"`
|
Code *string `json:"code" gorm:"unique;size:20"`
|
||||||
Employee_Id *uint `json:"employee_id"`
|
Employee_Id *uint `json:"employee_id"`
|
||||||
Employee *ee.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"`
|
Employee *ee.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"`
|
||||||
IHS_Number *string `json:"ihs_number" gorm:"unique;size:20"`
|
IHS_Number *string `json:"ihs_number" gorm:"unique;size:20"`
|
||||||
Unit_Code *string `json:"unit_code" gorm:"size:10"`
|
Specialist_Code *string `json:"specialist_code" gorm:"size:10"`
|
||||||
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
Infra_Code *string `json:"infra_code" gorm:"size:10"`
|
Infra_Code *string `json:"infra_code" gorm:"size:10"`
|
||||||
Infra *ei.Infra `json:"infra,omitempty" gorm:"foreignKey:Infra_Code;references:Code"`
|
Infra *ei.Infra `json:"infra,omitempty" gorm:"foreignKey:Infra_Code;references:Code"`
|
||||||
}
|
}
|
||||||
@@ -60,6 +60,7 @@ type UpdateDto struct {
|
|||||||
|
|
||||||
type DeleteDto struct {
|
type DeleteDto struct {
|
||||||
Id uint `json:"id"`
|
Id uint `json:"id"`
|
||||||
|
pa.AuthInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
type SearchDto struct {
|
type SearchDto struct {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ type Patient struct {
|
|||||||
RegisteredAt *time.Time `json:"registeredAt"`
|
RegisteredAt *time.Time `json:"registeredAt"`
|
||||||
RegisteredBy_User_Name *string `json:"registeredBy_user_name" gorm:"size:100"`
|
RegisteredBy_User_Name *string `json:"registeredBy_user_name" gorm:"size:100"`
|
||||||
Status_Code erc.ActiveStatusCode `json:"status_code" gorm:"not null;size:10"`
|
Status_Code erc.ActiveStatusCode `json:"status_code" gorm:"not null;size:10"`
|
||||||
Number *string `json:"number" gorm:"unique;size:15"`
|
Number *string `json:"number" gorm:"size:15;unique"`
|
||||||
Parent_Number *string `json:"parent_number"`
|
Parent_Number *string `json:"parent_number"`
|
||||||
Parent *Patient `json:"parent,omitempty" gorm:"foreignKey:Parent_Number;references:Number"`
|
Parent *Patient `json:"parent,omitempty" gorm:"foreignKey:Parent_Number;references:Number"`
|
||||||
}
|
}
|
||||||
@@ -19,6 +19,7 @@ type CreateDto struct {
|
|||||||
FrontTitle *string `json:"frontTitle" validate:"maxLength=50"`
|
FrontTitle *string `json:"frontTitle" validate:"maxLength=50"`
|
||||||
EndTitle *string `json:"endTitle" validate:"maxLength=50"`
|
EndTitle *string `json:"endTitle" validate:"maxLength=50"`
|
||||||
BirthDate *time.Time `json:"birthDate,omitempty"`
|
BirthDate *time.Time `json:"birthDate,omitempty"`
|
||||||
|
BirthPlace *string `json:"birthPlace" validate:"maxLength=4"`
|
||||||
BirthRegency_Code *string `json:"birthRegency_code" validate:"maxLength=4"`
|
BirthRegency_Code *string `json:"birthRegency_code" validate:"maxLength=4"`
|
||||||
Gender_Code *erp.GenderCode `json:"gender_code"`
|
Gender_Code *erp.GenderCode `json:"gender_code"`
|
||||||
ResidentIdentityNumber *string `json:"residentIdentityNumber" validate:"nik;maxLength=16"`
|
ResidentIdentityNumber *string `json:"residentIdentityNumber" validate:"nik;maxLength=16"`
|
||||||
@@ -46,14 +47,13 @@ type ReadListDto struct {
|
|||||||
|
|
||||||
type FilterDto struct {
|
type FilterDto struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
FrontTitle *string `json:"frontTitle"`
|
FrontTitle *string `json:"front-title"`
|
||||||
EndTitle *string `json:"endTitle"`
|
EndTitle *string `json:"end-title"`
|
||||||
BirthDate *time.Time `json:"birthDate,omitempty"`
|
BirthDate *time.Time `json:"birth-date,omitempty"`
|
||||||
BirthRegency_Code *string `json:"birthRegency-code"`
|
|
||||||
Gender_Code *erp.GenderCode `json:"gender-code"`
|
Gender_Code *erp.GenderCode `json:"gender-code"`
|
||||||
ResidentIdentityNumber *string `json:"residentIdentityNumber"`
|
ResidentIdentityNumber *string `json:"resident-identity-number"`
|
||||||
PassportNumber *string `json:"passportNumber"`
|
PassportNumber *string `json:"passport-number"`
|
||||||
DrivingLicenseNumber *string `json:"drivingLicenseNumber"`
|
DrivingLicenseNumber *string `json:"driving-license-number"`
|
||||||
Religion_Code *erp.ReligionCode `json:"religion-code"`
|
Religion_Code *erp.ReligionCode `json:"religion-code"`
|
||||||
Education_Code *erp.EducationCode `json:"education-code"`
|
Education_Code *erp.EducationCode `json:"education-code"`
|
||||||
Ocupation_Code *erp.OcupationCode `json:"occupation-code"`
|
Ocupation_Code *erp.OcupationCode `json:"occupation-code"`
|
||||||
@@ -61,7 +61,7 @@ type FilterDto struct {
|
|||||||
Nationality *string `json:"nationality"`
|
Nationality *string `json:"nationality"`
|
||||||
Ethnic_Code *string `json:"ethnic-code"`
|
Ethnic_Code *string `json:"ethnic-code"`
|
||||||
Language_Code *string `json:"language-code"`
|
Language_Code *string `json:"language-code"`
|
||||||
CommunicationIssueStatus bool `json:"communicationIssueStatus"`
|
CommunicationIssueStatus bool `json:"communication-issue-status"`
|
||||||
Disability *string `json:"disability"`
|
Disability *string `json:"disability"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,6 +94,7 @@ type ResponseDto struct {
|
|||||||
FrontTitle *string `json:"frontTitle"`
|
FrontTitle *string `json:"frontTitle"`
|
||||||
EndTitle *string `json:"endTitle"`
|
EndTitle *string `json:"endTitle"`
|
||||||
BirthDate *time.Time `json:"birthDate,omitempty"`
|
BirthDate *time.Time `json:"birthDate,omitempty"`
|
||||||
|
BirthPlace *string `json:"birthPlace"`
|
||||||
BirthRegency_Code *string `json:"birthRegency_code"`
|
BirthRegency_Code *string `json:"birthRegency_code"`
|
||||||
BirthRegency *er.Regency `json:"birthRegency,omitempty"`
|
BirthRegency *er.Regency `json:"birthRegency,omitempty"`
|
||||||
Gender_Code *erp.GenderCode `json:"gender_code"`
|
Gender_Code *erp.GenderCode `json:"gender_code"`
|
||||||
@@ -128,6 +129,7 @@ func (d *Person) ToResponse() ResponseDto {
|
|||||||
FrontTitle: d.FrontTitle,
|
FrontTitle: d.FrontTitle,
|
||||||
EndTitle: d.EndTitle,
|
EndTitle: d.EndTitle,
|
||||||
BirthDate: d.BirthDate,
|
BirthDate: d.BirthDate,
|
||||||
|
BirthPlace: d.BirthPlace,
|
||||||
BirthRegency_Code: d.BirthRegency_Code,
|
BirthRegency_Code: d.BirthRegency_Code,
|
||||||
BirthRegency: d.BirthRegency,
|
BirthRegency: d.BirthRegency,
|
||||||
Gender_Code: d.Gender_Code,
|
Gender_Code: d.Gender_Code,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ type Person struct {
|
|||||||
FrontTitle *string `json:"frontTitle" gorm:"size:50"`
|
FrontTitle *string `json:"frontTitle" gorm:"size:50"`
|
||||||
EndTitle *string `json:"endTitle" gorm:"size:50"`
|
EndTitle *string `json:"endTitle" gorm:"size:50"`
|
||||||
BirthDate *time.Time `json:"birthDate,omitempty"`
|
BirthDate *time.Time `json:"birthDate,omitempty"`
|
||||||
|
BirthPlace *string `json:"birthPlace,omitempty"`
|
||||||
BirthRegency_Code *string `json:"birthRegency_code" gorm:"size:4"`
|
BirthRegency_Code *string `json:"birthRegency_code" gorm:"size:4"`
|
||||||
BirthRegency *er.Regency `json:"birthRegency,omitempty" gorm:"foreignKey:BirthRegency_Code;references:Code"`
|
BirthRegency *er.Regency `json:"birthRegency,omitempty" gorm:"foreignKey:BirthRegency_Code;references:Code"`
|
||||||
Gender_Code *erp.GenderCode `json:"gender_code" gorm:"size:10"`
|
Gender_Code *erp.GenderCode `json:"gender_code" gorm:"size:10"`
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
Doctor_Code *string `json:"doctor_code"`
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Day_Code *erc.DayCode `json:"day_code"`
|
Day_Code *erc.DayCode `json:"day_code"`
|
||||||
StartTime *string `json:"startTime" validate:"maxLength=5"`
|
StartTime *string `json:"startTime" validate:"maxLength=5"`
|
||||||
EndTime *string `json:"endTime" validate:"maxLength=5"`
|
EndTime *string `json:"endTime" validate:"maxLength=5"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
@@ -20,11 +20,11 @@ type ReadListDto struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type FilterDto struct {
|
type FilterDto struct {
|
||||||
Doctor_Code *string `json:"doctor-code"`
|
Doctor_Code *string `json:"doctor-code"`
|
||||||
Unit_Code *string `json:"unit-code"`
|
Specialist_Code *string `json:"specialist-code"`
|
||||||
Day_Code *erc.DayCode `json:"day-code"`
|
Day_Code *erc.DayCode `json:"day-code"`
|
||||||
StartTime *string `json:"startTime"`
|
StartTime *string `json:"startTime"`
|
||||||
EndTime *string `json:"endTime"`
|
EndTime *string `json:"endTime"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadDetailDto struct {
|
type ReadDetailDto struct {
|
||||||
@@ -48,20 +48,20 @@ type MetaDto struct {
|
|||||||
|
|
||||||
type ResponseDto struct {
|
type ResponseDto struct {
|
||||||
ecore.Main
|
ecore.Main
|
||||||
Doctor_Code *string `json:"doctor_code"`
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Day_Code *erc.DayCode `json:"day_code"`
|
Day_Code *erc.DayCode `json:"day_code"`
|
||||||
StartTime *string `json:"startTime"`
|
StartTime *string `json:"startTime"`
|
||||||
EndTime *string `json:"endTime"`
|
EndTime *string `json:"endTime"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d PracticeSchedule) ToResponse() ResponseDto {
|
func (d PracticeSchedule) ToResponse() ResponseDto {
|
||||||
resp := ResponseDto{
|
resp := ResponseDto{
|
||||||
Doctor_Code: d.Doctor_Code,
|
Doctor_Code: d.Doctor_Code,
|
||||||
Unit_Code: d.Unit_Code,
|
Specialist_Code: d.Specialist_Code,
|
||||||
Day_Code: d.Day_Code,
|
Day_Code: d.Day_Code,
|
||||||
StartTime: d.StartTime,
|
StartTime: d.StartTime,
|
||||||
EndTime: d.EndTime,
|
EndTime: d.EndTime,
|
||||||
}
|
}
|
||||||
resp.Main = d.Main
|
resp.Main = d.Main
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
@@ -3,17 +3,17 @@ package practiceschedule
|
|||||||
import (
|
import (
|
||||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
||||||
erc "simrs-vx/internal/domain/references/common"
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PracticeSchedule struct {
|
type PracticeSchedule struct {
|
||||||
ecore.Main // adjust this according to the needs
|
ecore.Main // adjust this according to the needs
|
||||||
Doctor_Code *string `json:"doctor_code"`
|
Doctor_Code *string `json:"doctor_code"`
|
||||||
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
|
||||||
Unit_Code *string `json:"unit_code"`
|
Specialist_Code *string `json:"specialist_code"`
|
||||||
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
|
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
|
||||||
Day_Code *erc.DayCode `json:"day_code"`
|
Day_Code *erc.DayCode `json:"day_code"`
|
||||||
StartTime *string `json:"startTime" gorm:"size:5"`
|
StartTime *string `json:"startTime" gorm:"size:5"`
|
||||||
EndTime *string `json:"endTime" gorm:"size:5"`
|
EndTime *string `json:"endTime" gorm:"size:5"`
|
||||||
}
|
}
|
||||||
Loaded 100 of 338 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in New Issue
Block a user