package osi import ( "context" "chis_osi/contract" ) type FindHealthCheckQuery struct { IDCard string PHRID string EMPIID string } // LastHealthCheck 查询某人最近一次体检(JKTJLSJL00002 /auto/jktjlscx/query)。 // data 为单个体检对象(非数组);summary 只取定位字段,完整内容见返回的 Result.Raw。 func (c *Client) LastHealthCheck(ctx context.Context, query FindHealthCheckQuery) (contract.HealthCheckSummary, Result, error) { baseInfo, err := query.baseInfo() if err != nil { return contract.HealthCheckSummary{}, Result{}, err } var summary contract.HealthCheckSummary result, err := c.Call(ctx, ServiceIDJKTJLast, baseInfo, &summary) return summary, result, err } func (q FindHealthCheckQuery) baseInfo() (map[string]string, error) { fields := []queryField{ {name: "idCard", value: q.IDCard}, {name: "empiId", value: q.EMPIID}, {name: "phrid", value: q.PHRID}, } return singleBaseInfo("last health check", fields) }