Skip to content

module ​

go
import "github.com/prescriptoo/prescriptoo-api/services/doctor/module"

Package module wires doctor authentication, profiles and documentation-first portal operations.

Index ​

type Module ​

Module owns doctor registration, profile lookup and authentication wiring.

go
type Module struct {
    // contains filtered or unexported fields
}

func NewModule ​

go
func NewModule(databases ...*pgxpool.Pool) *Module

NewModule wires persistent profiles when a database is supplied. Without providers, authentication fails closed with 503.

func (*Module) Catalogs ​

go
func (m *Module) Catalogs() doctorpublic.CatalogManager

Catalogs exposes Doctor-owned reference data to the Admin application.

func (*Module) ConfigureAuthentication ​

go
func (m *Module) ConfigureAuthentication(identity types.IIdentityService, accounts identitypublic.AccountReader, authentication identitypublic.AuthenticationService)

ConfigureAuthentication supplies the Identity capabilities needed by doctor auth and profiles.

func (*Module) ConfigureClinicalSuggestions ​

go
func (m *Module) ConfigureClinicalSuggestions(service ports.DoctorClinicalService)

ConfigureClinicalSuggestions supplies the shared query-only Doctor clinical service.

func (*Module) ConfigureDoctorOrganizations ​

go
func (m *Module) ConfigureDoctorOrganizations(service sharedports.DoctorOrganizationService)

ConfigureDoctorOrganizations supplies the shared organization service for doctors.

func (*Module) ConfigureFinalPrescriptions ​

go
func (m *Module) ConfigureFinalPrescriptions(service ports.FinalPrescriptionService)

ConfigureFinalPrescriptions injects the real immutable clinical-document capability.

func (*Module) ConfigurePatientService ​

go
func (m *Module) ConfigurePatientService(service sharedports.PatientService)

ConfigurePatientService injects the shared patient port before registering routes.

func (*Module) ConfigurePatients ​

go
func (m *Module) ConfigurePatients(d PatientDependencies)

ConfigurePatients supplies Doctor's persistence and business eligibility dependencies.

func (*Module) ConfigureRegistration ​

go
func (m *Module) ConfigureRegistration(identity identitypublic.TransactionalRegistration, invitations organizationpublic.DoctorInvitationRedeemer)

ConfigureRegistration supplies account creation and organization invitation redemption.

func (*Module) Directory ​

go
func (m *Module) Directory() doctorpublic.Directory

Directory returns the curated professional directory used by Admin.

func (*Module) FinalPrescriptionDoctors ​

go
func (m *Module) FinalPrescriptionDoctors() ports.FinalPrescriptionDoctorVerifier

FinalPrescriptionDoctors supplies transaction-bound snapshot verification without exposing Doctor internals.

func (*Module) FinalPrescriptionPatients ​

go
func (m *Module) FinalPrescriptionPatients() ports.FinalPrescriptionPatientReader

FinalPrescriptionPatients supplies a transaction-bound patient lookup without exposing repositories.

func (*Module) PatientService ​

go
func (m *Module) PatientService() sharedports.PatientService

PatientService exposes Doctor's implementation of the shared patient port.

func (*Module) RegisterHuma ​

go
func (m *Module) RegisterHuma(api huma.API)

RegisterHuma registers registration, authentication, profiles and remaining portal contracts.

type PatientDependencies ​

PatientDependencies configures Doctor's patient business service without permission providers.

go
type PatientDependencies = services.PatientDependencies

Generated by gomarkdoc

Documentation follows the source. Planned contracts are marked explicitly.