update All feture and service
This commit is contained in:
No files matched your search
@@ -2,21 +2,53 @@ package questionnaireresponse
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"service/internal/satusehat/common"
|
||||
)
|
||||
|
||||
type QuestionnaireResponseRequest struct {
|
||||
OrganizationID string `json:"organization_id,omitempty"`
|
||||
QuestionnaireResponseID string `json:"questionnaire_response_id,omitempty"`
|
||||
QuestionnaireURL string `json:"questionnaire_url" binding:"required"` // e.g., "https://fhir.kemkes.go.id/Questionnaire/Q0007"
|
||||
Status string `json:"status" binding:"required,oneof=in-progress completed amended entered-in-error stopped"`
|
||||
Subject *common.ReferenceDTO `json:"subject" binding:"required"` // Patient
|
||||
Encounter *common.ReferenceDTO `json:"encounter,omitempty"`
|
||||
Authored *time.Time `json:"authored" binding:"required"`
|
||||
Author *common.ReferenceDTO `json:"author,omitempty"`
|
||||
Source *common.ReferenceDTO `json:"source,omitempty"`
|
||||
Items []map[string]interface{} `json:"item" binding:"required,min=1"` // Raw FHIR formatted items
|
||||
OrganizationID string `json:"organization_id,omitempty"`
|
||||
QuestionnaireResponseID string `json:"questionnaire_response_id,omitempty"`
|
||||
|
||||
QuestionnaireURL string `json:"questionnaire_url" binding:"required"` // e.g. "https://fhir.kemkes.go.id/Questionnaire/Q0007"
|
||||
Status string `json:"status" binding:"required,oneof=in-progress completed amended entered-in-error stopped"`
|
||||
|
||||
PatientID string `json:"patient_id" binding:"required"`
|
||||
PatientName string `json:"patient_name,omitempty"`
|
||||
|
||||
EncounterID string `json:"encounter_id,omitempty"`
|
||||
EncounterDisplay string `json:"encounter_display,omitempty"`
|
||||
|
||||
AuthorID string `json:"author_id,omitempty"`
|
||||
AuthorName string `json:"author_name,omitempty"`
|
||||
AuthorType string `json:"author_type,omitempty"` // default: "Practitioner"
|
||||
|
||||
SourceID string `json:"source_id,omitempty"`
|
||||
SourceName string `json:"source_name,omitempty"`
|
||||
SourceType string `json:"source_type,omitempty"` // default: "Patient"
|
||||
|
||||
Authored *time.Time `json:"authored" binding:"required"`
|
||||
|
||||
Items []ItemDTO `json:"items" binding:"required,min=1"`
|
||||
}
|
||||
|
||||
// ItemDTO represents one questionnaire answer in flat form.
|
||||
// Provide exactly one of the answer_* fields per item.
|
||||
type ItemDTO struct {
|
||||
LinkID string `json:"link_id" binding:"required"`
|
||||
Text string `json:"text,omitempty"`
|
||||
|
||||
AnswerBoolean *bool `json:"answer_boolean,omitempty"`
|
||||
AnswerString string `json:"answer_string,omitempty"`
|
||||
AnswerInteger *int `json:"answer_integer,omitempty"`
|
||||
AnswerDecimal *float64 `json:"answer_decimal,omitempty"`
|
||||
AnswerDate *time.Time `json:"answer_date,omitempty"`
|
||||
AnswerDateTime *time.Time `json:"answer_datetime,omitempty"`
|
||||
AnswerQuantityValue *float64 `json:"answer_quantity_value,omitempty"`
|
||||
AnswerQuantityUnit string `json:"answer_quantity_unit,omitempty"`
|
||||
AnswerQuantitySystem string `json:"answer_quantity_system,omitempty"`
|
||||
AnswerQuantityCode string `json:"answer_quantity_code,omitempty"`
|
||||
AnswerCodingSystem string `json:"answer_coding_system,omitempty"`
|
||||
AnswerCodingCode string `json:"answer_coding_code,omitempty"`
|
||||
AnswerCodingDisplay string `json:"answer_coding_display,omitempty"`
|
||||
}
|
||||
|
||||
type QuestionnaireResponsePatchRequest []map[string]interface{}
|
||||
Reference in New Issue
Block a user