# GraphQL to Rest
### **BenefitTypes**
#### Method: **GET**
#### Response:
```json=
{"name":"string","value":"string"}[]
```
#### Graphql:
```typescript=
const GET_BENEFIT_TYPE= gql`
query {
insured_benefit_types {
value
comment
}
}`
```
---
### **ClaimStatusTypes**
#### Method: **GET**
#### Response: {name:string,value:string}[]
```typescript=
const GET_STATUS_TYPE = gql`
query {
claim_statuses {
comment
value
}
}
`
```
---
### **CompanyTypes**
#### Method: **GET**
#### Response:
```json=
{"name":"string","value":"string"}[]
```
#### GraphQl
```typescript=
const COMPANY_TYPES = gql`
query {
company_role_types {
value
}
}
`
```
---
### **CompanyCardList**
#### Method: **GET**
#### Response:
```json=
{
"id":"string",
"name":"string",
"content":"string",
"company":{
"id":"string",
"code":"string",
"name":"string"
}
}[]
```
#### GraphQl
```typescript=
const CARD_LIST_DATA = gql`
query {
cards {
card_id
company {
company_id
companyCode
name
}
content
name
}
}
`
```
---
### **UpdateCardDetail**
#### Method: **PUT**
#### Request:
```json=
{
"id":"string",
"data": {
"content": "string",
"name": "string",
"schema_data": "string",
"insurer_id": "string"
}
}
```
#### Response:
```json=
{
"content": "string",
"name": "string",
"schema_data": "string",
"insurer_id": "string"
}
```
#### Graphql:
```javascript=
const UPDATE_CARD = gql`
mutation UpdateCardById($card_id: uuid!, $data: cards_set_input!) {
update_cards_by_pk(pk_columns: {card_id: $card_id}, _set: $data) {
content
name
schema_data
insurer_id
}
}
`
```
---
### **GetCardDetail**
#### Method: **GET**
#### Request:
```json=
{"id":"string"}
```
#### Response:
```json=
{
"content":"string",
"insurerId":"String",
"name":"string"
}
```
#### Graphql
```typescript=
const GET_CARD_DETAIL = gql`
query cardById($id: uuid!) {
cards_by_pk(card_id: $id) {
content
insurer_id
name
}
}
`
```
---
### **GetCardByInsurerId**
#### Method: **GET**
#### Request:
```json=
{"id":"string"}
```
#### Response:
```json=
{
"cardId":"string",
"name":"string"
}
```
#### Graphql
```typescript=
const GET_CARD_BY_INSURER_ID = gql`
query cardByInsurerId($id: uuid!) {
companies_by_pk(company_id: $id) {
cards {
card_id
name
}
}
}
`
```
---
### **InsertCard**
#### Method: **POST**
#### Request:
```json=
{
"insurerId":"string",
"content":"string",
"name":"string",
"schemaData":"string"
}
```
#### Response:
```json=
{
"cardId":"string",
}
```
#### Graphql
```typescript=
const INSERT_CARD = gql`
mutation ($content: String!, $insurer_id: uuid!, $name: String!, $schema_data: jsonb!) {
insert_cards(objects: {content: $content, insurer_id: $insurer_id, name: $name, schema_data: $schema_data}) {
returning {
card_id
}
}
}
`
```
---
### **GetCertificate**
#### Method: **GET**
#### Request:
```json=
{
"search":"string",
"insurerId":"string",
"policyNumber":"string",
"insuredPersonName":"string",
"insuredPersonPaperId":"string",
"insuredCertificateCode":"string",
"insuredPersonPhone":"string",
}
```
#### Response:
```json=
{
"insuredCertificates": {
"certificateCode":"string",
"createdAt":"string",
"deletedAt":"string",
"duedAt":"string",
"email":"string",
"insuredCertificateId":"string",
"insuredPersonId":"string",
"isVoluntary":"string",
"issuedAt":"string",
"parentInsuredCertificateId":"string",
"planId":"string",
"policyId":"string",
"updatedAt":"string",
"policy": {
"brokerId":"string",
"corporateId":"string",
"createdAt":"string",
"deletedAt":"string",
"duedAt":"string",
"insuredPersonId":"string",
"insurerId":"string",
"issuedAt":"string",
"policyId":"string",
"policyNumber":"string",
"remarkCopay":"string",
"tpaId":"string",
"types": "string",
"updatedAt":"string"
},
"insured_person": {
"createdAt":"string",
"deletedAt":"string",
"dob":"string",
"email":"string",
"gender":"string",
"insuredNumber":"string",
"insuredPersonId":"string",
"name":"string",
"notes":"string",
"paperExpiredAt":"string",
"paperId":"string",
"paperIssuedAt":"string",
"paperIssuedPlace":"string",
"phone":"string",
"updatedAt":"string",
"userId":"string"
}
}
```
#### Graphql
```typescript=
const GET_CERTIFICATES = gql`
query (
$searchBy: search_by_enum!
$insurerId: String
$policyNumber: String
$insuredPersonName: String
$insuredPersonPaperId: String
$insuredCertificateCode: String
$insuredPersonPhone: String
) {
search_certificates(
search_by: $searchBy
insurer_id: $insurerId
policy_number: $policyNumber
insured_person_name: $insuredPersonName
insured_person_paper_id: $insuredPersonPaperId
insured_certificate_code: $insuredCertificateCode
insured_person_phone: $insuredPersonPhone
) {
success
message
insured_certificates {
certificate_code
created_at
deleted_at
dued_at
email
insured_certificate_id
insured_person_id
is_voluntary
issued_at
parent_insured_certificate_id
plan_id
policy_id
updated_at
policy {
broker_id
corporate_id
created_at
deleted_at
dued_at
insured_person_id
insurer_id
issued_at
policy_id
policy_number
remark_copay
tpa_id
types
updated_at
}
insured_person {
created_at
deleted_at
dob
email
gender
insured_number
insured_person_id
name
notes
paper_expired_at
paper_id
paper_issued_at
paper_issued_place
phone
updated_at
user_id
}
}
}
}
`
```
---
### **GetCertificateList**
#### Method: **GET**
#### Response:
```json=
{
"insuredCertificates": {
"insuredCertificateId":"string",
"certificateCode":"string",
"duedAt":"string",
"issuedAt":"string",
"policy": {
"companyByCorporateId" :{
"name":"string"
},
"insuredPerson": {
"name":"string"
},
"policyId":"string"
},
"parentInsuredCertificate" :{
"insuredPerson": {
"name":"string",
"insuredNumber":"string"
}
}
}
}
```
#### Graphql
```typescript=
const GET_CERTIFICATE_LIST = gql`
query certificateByInsuredPersonId($id: uuid!) {
insured_persons_by_pk(insured_person_id: $id) {
insured_certificates {
insured_certificate_id
certificate_code
dued_at
issued_at
policy {
companyByCorporateId {
name
}
insured_person {
name
}
policy_id
}
parent_insured_certificate {
insured_person {
name
insured_number
}
}
}
}
}
`
```
---
### **GetCertificateDetail**
#### Method: **GET**
#### Request:
```json=
{"id":"string"}
```
#### Response:
```json=
{
"insuredCertificateId":"string",
"certificateCode":"string",
"email":"string",
"plan": {
"name":"string",
},
"duedAt":"string",
"issuedAt":"string",
"insuredPerson" :{
"name":"string",
"paperId":"string",
},
"policy": {
"policyNumber":"string"
},
"childrenInsuredCertificates" :{
"insuredCertificateId":"string",
"certificateCode":"string",
"email":"string",
"issuedAt":"string",
"duedAt":"string",
"plan" :{
"name":"string"
},
"insuredPerson": {
"name":"string",
"paperId":"string"
},
"policy" :{
"policyNumber":"string"
}
},
"parentInsuredCertificate": {
"insuredCertificateId":"string",
"certificateCode":"string",
"email":"string",
"issuedAt":"string",
"duedAt":"string",
"plan" :{
"name":"string"
},
"insuredPerson": {
"name":"string",
"paperId":"string",
},
"policy" :{
"policyNumber":"string"
}
}
}
```
#### Graphql
```typescript=
const GET_CERTIFICATE_DETAIL = gql`
query certificateById($id: uuid!) {
insured_certificates_by_pk(insured_certificate_id: $id) {
insured_certificate_id
certificate_code
email
plan {
name
}
dued_at
issued_at
insured_person {
name
paper_id
}
policy {
policy_number
}
children_insured_certificates {
insured_certificate_id
certificate_code
email
issued_at
dued_at
plan {
name
}
insured_person {
name
paper_id
}
policy {
policy_number
}
}
parent_insured_certificate {
insured_certificate_id
certificate_code
email
issued_at
dued_at
plan {
name
}
insured_person {
name
paper_id
}
policy {
policy_number
}
}
}
}
`
```
---
### **GetMedicalProviderList**
#### Method: **GET**
#### Response:
```json=
{
"medicalProviderId":"string",
"name":"string",
"address":"string",
"phone":"string",
"province":"string",
"IsDirectBilling":"boolean",
"email":"string",
"description":"string",
"type":"string",
}
```
#### Graphql
```typescript=
const MEDICAL_PROVIDER_LIST = gql`
query {
mp_medical_providers {
medical_provider_id
name
address
phone
province
is_direct_billing
email
description
type
}
}
`
```
---
### **GetMedicalProviderType**
#### Method: **GET**
#### Response:
```json=
{"name":"string","value":"string"}
```
#### Graphql
```typescript=
const GET_MEDICAL_PROVIDER_TYPE = gql`
query {
mp_medical_provider_types {
comment
value
}
}
`
```
---
### **InsertMedicalProvider**
#### Method: **POST**
#### Request:
```json=
{
"name":"string",
"address":"string",
"phone":"string",
"email":"string",
"province":"string",
"type":"string",
"isDirectBilling":"boolean",
"description":"string"
}
```
#### Response:
```json=
{ "medicalProviderId":"string"}
```
#### Graphql
```typescript=
const INSERT_MEDICAL_PROVIDER = gql`
mutation (
$name: String!
$address: String
$phone: String
$email: String
$province: String
$type: mp_medical_provider_types_enum
$is_direct_billing: Boolean
$description: String
) {
insert_mp_medical_providers(
objects: {
name: $name
address: $address
phone: $phone
email: $email
province: $province
description: $description
type: $type
is_direct_billing: $is_direct_billing
}
on_conflict: {
constraint: medical_providers_name_province_type_key
update_columns: [address, description, phone, email]
}
) {
returning {
medical_provider_id
}
}
}
`
```
---
### **GetMedicalProviderDetail**
#### Method: **GET**
#### Request:
```json=
{"id":"string"}
```
#### Response:
```json=
{
"name":"string",
"address":"string",
"phone":"string",
"email":"string",
"province":"string",
"type":"string",
"isDirectBilling":"boolean",
"description":"string"
}
```
#### Graphql
```typescript=
const GET_MEDICAL_PROVIDER_DETAIL = gql`
query medicalProviderById($id: uuid!) {
mp_medical_providers_by_pk(medical_provider_id: $id) {
name
type
description
is_direct_billing
email
phone
address
province
}
}
`
```
---
### **UpdateMedicalProvider**
#### Method: **PUT**
#### Request:
```json=
{
"id":"string",
"name":"string",
"address":"string",
"phone":"string",
"email":"string",
"province":"string",
"type":"string",
"isDirectBilling":"boolean",
"description":"string"
}
```
#### Graphql
```typescript=
const UPDATE_MEDICAL_PROVIDER_BY_ID = gql`
mutation Update($medical_provider_id: uuid!, $data: mp_medical_providers_set_input!) {
update_mp_medical_providers_by_pk(pk_columns: {medical_provider_id: $medical_provider_id}, _set: $data) {
name
phone
province
type
address
email
is_direct_billing
description
}
}
`
```
---
### **GetPlanBalanceType**
#### Method: **GET**
#### Response:
```json=
{"name":"string","value":"string"}
```
#### Graphql
```typescript=
const GET_PLAN_BALANCE_TYPE = gql`
query {
plan_balance_types {
value
comment
}
}
`
```
---
**GetCopaymentTarget**
Method: **GET**
Response:{name:string,value:string}
```typescript=
const GET_CO_PAYMENT_TARGET = gql`
query {
plan_co_payment_targets {
comment
value
}
}
`
```
---
### **GetOriginalClaim**
#### Method: **GET**
#### Request:
```json=
{"id":"string"}
```
#### Response:
```json=
{
"claimCode":"string",
"benefitType":"string",
"diagnosis":"string",
"eventDates":"string",
"medicalProviderName":"string",
"paymentAccountName":"string",
"paymentAccountNumber":"string",
"paymentBankBranch":"string",
"paymentBankCity":"string",
"paymentBankName":"string",
"requestAmount":"string",
"source":"string",
"claimInformations" :{
"name":"string",
"value":"string",
},
"insuredCertificate": {
"parentInsuredCertificate": {
"insuredPerson": {
"name":"string",
}
},
"insuredPerson": {
"name":"string"
},
"policy" :{
"insurer" :{
"name":"string"
},
"issuedAt":"string",
"duedAt":"string"
}
}
}
```
#### Graphql
```typescript=
const GET_ORIGINAL_CLAIM_DATA = gql`
query originalDataByClaimId($id: uuid!) {
claim_requests_by_pk(claim_request_id: $id) {
claim_code
benefit_type
diagnosis
event_dates
medical_provider_name
payment_account_name
payment_account_number
payment_bank_branch
payment_bank_city
payment_bank_name
request_amount
source
claim_informations {
name
value
}
insured_certificate {
parent_insured_certificate {
insured_person {
name
}
}
insured_person {
name
}
policy {
insurer {
name
}
issued_at
dued_at
}
}
}
}
`
```
---
### **GetClaimInfoMetadata**
#### Method: **GET**
#### Response:
```json=
{"title":"string","value":"string"}
```
#### Graphql
```typescript=
const GET_METADATA_CLAIM_INFO = gql`
query {
metadata(where: {type: {_eq: "claim_info"}}) {
title
value
}
}
`
```