package questionnaireresponse

import "time"

type QuestionnaireResponseRequest struct {
	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" binding:"required"`
	EncounterID      string                   `json:"encounter_id" binding:"required"`
	AuthoredDate     time.Time                `json:"authored_date" binding:"required"`
	AuthorID         string                   `json:"author_id" binding:"required"`
	AuthorName       string                   `json:"author_name" binding:"required"`
	Items            []map[string]interface{} `json:"items" binding:"required"` // Raw FHIR formatted items to handle high nesting flexibility
}

type QuestionnaireResponsePatchRequest []map[string]interface{}
