From 8c839ae7b41bbfd9261d14beb0a430e95edb95a9 Mon Sep 17 00:00:00 2001 From: PoorvadityaXcaliber Date: Mon, 1 Sep 2025 16:33:49 +0530 Subject: [PATCH 1/2] added: status in documentReference status --- fhir-models/fhir/documentReferenceStatus.go | 45 ++++++++------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/fhir-models/fhir/documentReferenceStatus.go b/fhir-models/fhir/documentReferenceStatus.go index 9bccdfe5..1706ad62 100644 --- a/fhir-models/fhir/documentReferenceStatus.go +++ b/fhir-models/fhir/documentReferenceStatus.go @@ -16,7 +16,6 @@ package fhir import ( "encoding/json" - "fmt" "strings" ) @@ -24,45 +23,32 @@ import ( // PLEASE DO NOT EDIT BY HAND // DocumentReferenceStatus is documented here http://hl7.org/fhir/ValueSet/document-reference-status -type DocumentReferenceStatus int +type DocumentReferenceStatus string const ( - DocumentReferenceStatusCurrent DocumentReferenceStatus = iota - DocumentReferenceStatusSuperseded - DocumentReferenceStatusEnteredInError + DocumentReferenceStatusCurrent DocumentReferenceStatus = "current" + DocumentReferenceStatusSuperseded DocumentReferenceStatus = "superseded" + DocumentReferenceStatusEnteredInError DocumentReferenceStatus = "entered-in-error" ) func (code DocumentReferenceStatus) MarshalJSON() ([]byte, error) { return json.Marshal(code.Code()) } -func (code *DocumentReferenceStatus) UnmarshalJSON(json []byte) error { - s := strings.Trim(string(json), "\"") - switch s { - case "current": - *code = DocumentReferenceStatusCurrent - case "superseded": - *code = DocumentReferenceStatusSuperseded - case "entered-in-error": - *code = DocumentReferenceStatusEnteredInError - default: - return fmt.Errorf("unknown DocumentReferenceStatus code `%s`", s) - } + +func (code *DocumentReferenceStatus) UnmarshalJSON(data []byte) error { + s := strings.Trim(string(data), "\"") + *code = DocumentReferenceStatus(s) return nil } + func (code DocumentReferenceStatus) String() string { return code.Code() } + func (code DocumentReferenceStatus) Code() string { - switch code { - case DocumentReferenceStatusCurrent: - return "current" - case DocumentReferenceStatusSuperseded: - return "superseded" - case DocumentReferenceStatusEnteredInError: - return "entered-in-error" - } - return "" + return string(code) } + func (code DocumentReferenceStatus) Display() string { switch code { case DocumentReferenceStatusCurrent: @@ -71,9 +57,11 @@ func (code DocumentReferenceStatus) Display() string { return "Superseded" case DocumentReferenceStatusEnteredInError: return "Entered in Error" + default: + return string(code) } - return "" } + func (code DocumentReferenceStatus) Definition() string { switch code { case DocumentReferenceStatusCurrent: @@ -82,6 +70,7 @@ func (code DocumentReferenceStatus) Definition() string { return "This reference has been superseded by another reference." case DocumentReferenceStatusEnteredInError: return "This reference was created in error." + default: + return "Custom or non-standard status code: " + string(code) } - return "" } From 6f6f594f8a3a46c68285ba666be356c123da618b Mon Sep 17 00:00:00 2001 From: PoorvadityaXcaliber Date: Tue, 2 Sep 2025 11:42:43 +0530 Subject: [PATCH 2/2] added: composition status --- fhir-models/fhir/compositionStatus.go | 44 ++++++++------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/fhir-models/fhir/compositionStatus.go b/fhir-models/fhir/compositionStatus.go index 982252f6..0f74b1ab 100644 --- a/fhir-models/fhir/compositionStatus.go +++ b/fhir-models/fhir/compositionStatus.go @@ -16,7 +16,6 @@ package fhir import ( "encoding/json" - "fmt" "strings" ) @@ -24,50 +23,33 @@ import ( // PLEASE DO NOT EDIT BY HAND // CompositionStatus is documented here http://hl7.org/fhir/ValueSet/composition-status -type CompositionStatus int +type CompositionStatus string const ( - CompositionStatusPreliminary CompositionStatus = iota - CompositionStatusFinal - CompositionStatusAmended - CompositionStatusEnteredInError + CompositionStatusPreliminary CompositionStatus = "preliminary" + CompositionStatusFinal CompositionStatus = "final" + CompositionStatusAmended CompositionStatus = "amended" + CompositionStatusEnteredInError CompositionStatus = "entered-in-error" ) func (code CompositionStatus) MarshalJSON() ([]byte, error) { return json.Marshal(code.Code()) } -func (code *CompositionStatus) UnmarshalJSON(json []byte) error { - s := strings.Trim(string(json), "\"") - switch s { - case "preliminary": - *code = CompositionStatusPreliminary - case "final": - *code = CompositionStatusFinal - case "amended": - *code = CompositionStatusAmended - case "entered-in-error": - *code = CompositionStatusEnteredInError - default: - return fmt.Errorf("unknown CompositionStatus code `%s`", s) - } + +func (code *CompositionStatus) UnmarshalJSON(data []byte) error { + s := strings.Trim(string(data), "\"") + *code = CompositionStatus(s) return nil } + func (code CompositionStatus) String() string { return code.Code() } + func (code CompositionStatus) Code() string { - switch code { - case CompositionStatusPreliminary: - return "preliminary" - case CompositionStatusFinal: - return "final" - case CompositionStatusAmended: - return "amended" - case CompositionStatusEnteredInError: - return "entered-in-error" - } - return "" + return string(code) } + func (code CompositionStatus) Display() string { switch code { case CompositionStatusPreliminary: