feat(osi): 实现 JKDA 档案 Create/Update 与创建请求契约(T-206)

- contract/jkda.go 补创建请求结构体(healthRecord + manageInfo + 既往史节点)
- osi/jkda.go 新增 CreateHealthRecord/UpdateHealthRecord
- osi/codes.go 登记 JKDA00001 create / JKDA00003 update serviceId 与路径
- mapping 映射创建路径(真实字典快照反查主数据)
- 代码与单测完成;真实 create 待安全测试档案与写入授权(见 tasks.md T-206 BLOCKED)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-07 23:11:17 +08:00
co-authored by Claude Opus 4.8
parent 12346c9923
commit f95a779daa
8 changed files with 253 additions and 9 deletions
+46
View File
@@ -97,3 +97,49 @@ type FamilyMiddle struct {
LivestockColumn string `json:"livestockColumn,omitempty"`
IsFillSHHJ string `json:"isFillShhj,omitempty"`
}
type HealthRecordCreate struct {
BaseInfo HealthRecordBaseInfo `json:"baseInfo,omitempty"`
ManageInfo ManageInfo `json:"manageInfo"`
HealthRecord HealthRecordCreateInfo `json:"healthRecord"`
PastHistory *PastHistory `json:"pastHistory,omitempty"`
PastDiseases []PastDisease `json:"jwsjb,omitempty"`
PastSurgeries []PastSurgery `json:"jwsss,omitempty"`
PastTraumas []PastTrauma `json:"jwsws,omitempty"`
PastTransfusions []PastBloodTx `json:"jwssx,omitempty"`
FamilyMiddle *FamilyMiddle `json:"familyMiddle,omitempty"`
}
type HealthRecordBaseInfo struct {
IDCard string `json:"idCard,omitempty"`
PersonName string `json:"personName,omitempty"`
PHRID string `json:"phrId,omitempty"`
}
type HealthRecordCreateInfo struct {
CheckID string `json:"checkId,omitempty"`
IDCard string `json:"idCard,omitempty"`
PersonName string `json:"personName,omitempty"`
SexCode string `json:"sexCode,omitempty"`
Birthday string `json:"birthday,omitempty"`
PhrID string `json:"phrId,omitempty"`
MobileNumber string `json:"mobileNumber,omitempty"`
RegionCode string `json:"regionCode,omitempty"`
ManaDoctorID string `json:"manaDoctorId,omitempty"`
ManaUnitID string `json:"manaUnitId,omitempty"`
CreateUser string `json:"createUser,omitempty"`
CreateUnit string `json:"createUnit,omitempty"`
NationCode string `json:"nationCode,omitempty"`
EducationCode string `json:"educationCode,omitempty"`
WorkCode string `json:"workCode,omitempty"`
MaritalStatusCode string `json:"maritalStatusCode,omitempty"`
BloodTypeCode string `json:"bloodTypeCode,omitempty"`
RhBloodCode string `json:"rhBloodCode,omitempty"`
InsuranceCode string `json:"insuranceCode,omitempty"`
AddressNumber string `json:"addressNumber,omitempty"`
}
type HealthRecordSaveResult struct {
PhrID string `json:"phrId"`
CreateUnit string `json:"createUnit,omitempty"`
}