Saltar al contenido

Instalación

Requisitos Previos

  • Se requiere Go 1.23 o posterior. Puedes verificar tu versión con:
go version
  • Tu proyecto debe usar Go modules (go.mod). Si aún no tienes uno, inicialízalo:
go mod init your-module-name

Instalar

Cada versión FHIR se publica como un módulo Go independiente. Instala solo la versión que necesites.

FHIR R4 (4.0.1)

go get github.com/gofhir/models/r4/v2

FHIR R4B (4.3.0)

go get github.com/gofhir/models/r4b/v2

FHIR R5 (5.0.0)

go get github.com/gofhir/models/r5/v2

R4 Helpers (opcional)

El sub-paquete helpers proporciona valores CodeableConcept preconstruidos para categorías comunes de observación, categorías de condición, códigos LOINC y unidades UCUM:

go get github.com/gofhir/models/r4/v2/helpers

Importar

Después de instalar, importa el paquete en tus archivos fuente Go:

import "github.com/gofhir/models/r4/v2"

O para R4B y R5:

import "github.com/gofhir/models/r4b/v2"
import "github.com/gofhir/models/r5/v2"

Todos los tipos, builders, constantes de sistemas de códigos y funciones de serialización se exportan desde el paquete específico de la versión. No hay un sub-paquete separado para builders o serialización – todo está en un solo lugar.

Usar Múltiples Versiones FHIR

Si tu aplicación necesita trabajar con más de una versión FHIR, puedes importar múltiples paquetes en el mismo proyecto. Usa alias de importación de Go para evitar colisiones de nombres:

import (
    r4 "github.com/gofhir/models/r4/v2"
    r5 "github.com/gofhir/models/r5/v2"
)

func main() {
    // R4 Patient
    patientR4 := r4.NewPatientBuilder().
        SetId("r4-patient").
        SetActive(true).
        Build()

    // R5 Patient
    patientR5 := r5.NewPatientBuilder().
        SetId("r5-patient").
        SetActive(true).
        Build()

    _, _ = r4.Marshal(patientR4)
    _, _ = r5.Marshal(patientR5)
}

Dado que cada versión FHIR es un módulo Go separado con su propio go.mod, las versiones de dependencias se resuelven de forma independiente y nunca entran en conflicto.

Verificar la Instalación

Crea un archivo de prueba simple para confirmar que todo funciona:

package main

import (
    "fmt"

    "github.com/gofhir/models/r4/v2"
)

func main() {
    patient := r4.NewPatientBuilder().
        SetId("test").
        Build()
    data, err := r4.Marshal(patient)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(data))
}

Ejecútalo:

go run main.go

Salida esperada:

{"resourceType":"Patient","id":"test"}

Siguientes Pasos

Continúa con la guía de Inicio Rápido para ver ejemplos completos de creación, serialización y deserialización de recursos FHIR.

Última actualización