Documentation
¶
Index ¶
- Variables
- type BusinessHours
- type BusinessHoursOutput
- type Contacts
- type ContactsOutput
- type Coordinates
- type CoordinatesOutput
- type Facility
- type FacilityOutput
- type FacilityPage
- type FacilityService
- type FacilityServicePage
- type HealthCRMLib
- func (h *HealthCRMLib) CreateFacility(ctx context.Context, facility *Facility) (*FacilityOutput, error)
- func (h *HealthCRMLib) GetFacilities(ctx context.Context) (*FacilityPage, error)
- func (h *HealthCRMLib) GetFacilitiesOfferingAService(ctx context.Context, serviceID string) (*FacilityPage, error)
- func (h *HealthCRMLib) GetFacilityByID(ctx context.Context, id string) (*FacilityOutput, error)
- func (h *HealthCRMLib) GetFacilityServices(ctx context.Context, facilityID string, pagination *Pagination) (*FacilityServicePage, error)
- func (h *HealthCRMLib) UpdateFacility(ctx context.Context, id string, updatePayload *Facility) (*FacilityOutput, error)
- type Identifiers
- type IdentifiersOutput
- type Pagination
- type ServiceIdentifier
Constants ¶
This section is empty.
Variables ¶
var ( // BaseURL represents the health CRM's base URL BaseURL = serverutils.MustGetEnvVar("HEALTH_CRM_BASE_URL") )
Functions ¶
This section is empty.
Types ¶
type BusinessHours ¶ added in v1.0.3
type BusinessHours struct {
Day string `json:"day"`
OpeningTime string `json:"opening_time"`
ClosingTime string `json:"closing_time"`
}
BusinessHours models data to store business hours
type BusinessHoursOutput ¶ added in v1.0.1
type BusinessHoursOutput struct {
ID string `json:"id"`
Day string `json:"day"`
OpeningTime string `json:"opening_time"`
ClosingTime string `json:"closing_time"`
FacilityID string `json:"facility_id"`
}
BusinessHoursOutput models data that show facility's operational hours
type Contacts ¶
type Contacts struct {
ContactType string `json:"contact_type,omitempty"`
ContactValue string `json:"contact_value,omitempty"`
Role string `json:"role,omitempty"`
}
Contacts models facility's model data class
type ContactsOutput ¶
type ContactsOutput struct {
ID string `json:"id"`
ContactType string `json:"contact_type"`
ContactValue string `json:"contact_value"`
Active bool `json:"active"`
Role string `json:"role"`
FacilityID string `json:"facility_id"`
}
ContactsOutput is used to show facility contacts
type Coordinates ¶
type Coordinates struct {
Latitude string `json:"latitude,omitempty"`
Longitude string `json:"longitude,omitempty"`
}
Coordinates models the geographical's location data class of a facility
type CoordinatesOutput ¶
type CoordinatesOutput struct {
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
}
CoordinatesOutput is used to show geographical coordinates
type Facility ¶
type Facility struct {
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
FacilityType string `json:"facility_type,omitempty"`
County string `json:"county,omitempty"`
Country string `json:"country,omitempty"`
Address string `json:"address,omitempty"`
Coordinates *Coordinates `json:"coordinates,omitempty"`
Contacts []Contacts `json:"contacts,omitempty"`
Identifiers []Identifiers `json:"identifiers,omitempty"`
BusinessHours []BusinessHours `json:"businesshours,omitempty"`
}
Facility is the hospitals data class
type FacilityOutput ¶
type FacilityOutput struct {
ID string `json:"id"`
Created time.Time `json:"created"`
Name string `json:"name"`
Description string `json:"description"`
FacilityType string `json:"facility_type"`
County string `json:"county"`
Country string `json:"country"`
Coordinates CoordinatesOutput `json:"coordinates"`
Status string `json:"status"`
Address string `json:"address"`
Contacts []ContactsOutput `json:"contacts"`
Identifiers []IdentifiersOutput `json:"identifiers"`
BusinessHours []BusinessHoursOutput `json:"businesshours"`
Services []FacilityService `json:"services"`
}
FacilityOutput is used to display facility(ies)
type FacilityPage ¶
type FacilityPage struct {
Count int `json:"count"`
Next string `json:"next"`
Previous any `json:"previous"`
PageSize int `json:"page_size"`
CurrentPage int `json:"current_page"`
TotalPages int `json:"total_pages"`
StartIndex int `json:"start_index"`
EndIndex int `json:"end_index"`
Results []FacilityOutput `json:"results"`
}
FacilityPage is the hospitals model used to show facility details
type FacilityService ¶ added in v1.0.1
type FacilityService struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Identifiers []*ServiceIdentifier `json:"identifiers"`
}
FacilityService models the data class that is used to show facility services
type FacilityServicePage ¶ added in v1.0.1
type FacilityServicePage struct {
Results []FacilityService `json:"results"`
Count int `json:"count"`
Next string `json:"next"`
Previous string `json:"previous"`
PageSize int `json:"page_size"`
CurrentPage int `json:"current_page"`
TotalPages int `json:"total_pages"`
StartIndex int `json:"start_index"`
EndIndex int `json:"end_index"`
}
FacilityServicePage models the services offered in a facility
type HealthCRMLib ¶
type HealthCRMLib struct {
// contains filtered or unexported fields
}
HealthCRMLib interacts with the healthcrm APIs
func NewHealthCRMLib ¶
func NewHealthCRMLib() (*HealthCRMLib, error)
NewHealthCRMLib initializes a new instance of healthCRM SDK
func (*HealthCRMLib) CreateFacility ¶
func (h *HealthCRMLib) CreateFacility(ctx context.Context, facility *Facility) (*FacilityOutput, error)
CreateFacility is used to create facility in health CRM service
func (*HealthCRMLib) GetFacilities ¶
func (h *HealthCRMLib) GetFacilities(ctx context.Context) (*FacilityPage, error)
GetFacilities is used to fetch facilities from health crm facility registry
func (*HealthCRMLib) GetFacilitiesOfferingAService ¶ added in v1.0.6
func (h *HealthCRMLib) GetFacilitiesOfferingAService(ctx context.Context, serviceID string) (*FacilityPage, error)
GetFacilitiesOfferingAService fetches the facilities that offer a particular service
func (*HealthCRMLib) GetFacilityByID ¶
func (h *HealthCRMLib) GetFacilityByID(ctx context.Context, id string) (*FacilityOutput, error)
GetFacilityByID is used to fetch facilities from health crm facility registry using its ID
func (*HealthCRMLib) GetFacilityServices ¶ added in v1.0.1
func (h *HealthCRMLib) GetFacilityServices(ctx context.Context, facilityID string, pagination *Pagination) (*FacilityServicePage, error)
GetFacilityServices fetches services associated with facility
func (*HealthCRMLib) UpdateFacility ¶
func (h *HealthCRMLib) UpdateFacility(ctx context.Context, id string, updatePayload *Facility) (*FacilityOutput, error)
UpdateFacility is used to update facility's data
type Identifiers ¶
type Identifiers struct {
IdentifierType string `json:"identifier_type,omitempty"`
IdentifierValue string `json:"identifier_value,omitempty"`
ValidFrom string `json:"valid_from,omitempty"`
ValidTo string `json:"valid_to,omitempty"`
}
Identifiers models facility's identifiers; can be MFL Code, Slade Code etc...
type IdentifiersOutput ¶
type IdentifiersOutput struct {
ID string `json:"id"`
IdentifierType string `json:"identifier_type"`
IdentifierValue string `json:"identifier_value"`
ValidFrom string `json:"valid_from"`
ValidTo string `json:"valid_to"`
FacilityID string `json:"facility_id"`
}
IdentifiersOutput is used to display facility identifiers
type Pagination ¶ added in v1.0.8
Pagination is used to hold pagination values
type ServiceIdentifier ¶ added in v1.0.1
type ServiceIdentifier struct {
ID string `json:"id"`
IdentifierType string `json:"identifier_type"`
IdentifierValue string `json:"identifier_value"`
ServiceID string `json:"service_id"`
}
ServiceIdentifier models the structure of facility's service identifiers