Files
satusehat-bridging/internal/model/encounter.go
2025-11-24 09:13:08 +07:00

83 lines
2.3 KiB
Go

package model
type EncounterRequest struct {
ResourceType string `json:"resourceType"`
Status string `json:"status"`
Class Class `json:"class"`
Subject Subject `json:"subject"`
Participant []Participant `json:"participant"`
Period struct {
Start string `json:"start"`
} `json:"end"`
Location []Location `json:"location"`
StatusHistory []StatusHistory `json:"statusHistory"`
ServiceProvider struct {
Reference string `json:"reference"`
} `json:"serviceProvider"`
Identifier []IdentifierEncounter `json:"identifier"`
}
type Class struct {
System string `json:"system"`
Code string `json:"code"`
Display string `json:"display"`
}
type Subject struct {
Reference string `json:"reference"`
Display string `json:"display"`
}
type Participant struct {
Type []struct {
Coding []Class `json:"coding"`
} `json:"type"`
Individual Subject `json:"individual"`
}
type Location struct {
Location Reference `json:"location"`
}
type StatusHistory struct {
Status string `json:"status"`
Period struct {
Start string `json:"start"`
} `json:"period"`
}
type EncounterUpdateRequest struct {
ResourceType string `json:"resourceType"`
ID string `json:"id"`
Status string `json:"status"`
Class Class `json:"class"`
Subject Subject `json:"subject"`
Participant []Participant `json:"participant"`
Period Period `json:"period"`
Location []Location `json:"location"`
StatusHistory []StatusHistory `json:"statusHistory"`
ServiceProvider struct {
Reference string `json:"reference"`
} `json:"serviceProvider"`
Identifier []IdentifierEncounter `json:"identifier"`
Hospitalization Hospitalization `json:"hospitalization"`
Diagnosis []DiagnosisEncounter `json:"diagnosis"`
}
type Hospitalization struct {
DischargeDisposition struct {
Coding []Class `json:"coding"`
Text string `json:"text"`
} `json:"dischargeDisposition"`
}
type DiagnosisEncounter struct {
Condition Reference `json:"condition"`
Use Type `json:"use"`
Rank int `json:"rank"`
}
type IdentifierEncounter struct {
System string `json:"system"`
Value string `json:"value"`
}