Documentation ¶
Overview ¶
Package generator implements functionality to generate various patient related information, including, but not limited to: - person information, ie: name, surname, ethnicity, address, etc., - patient type and class, - orders and test results, - allergies, - diagnosis, - procedures.
The data is generated based on information provided in the pathway.
Index ¶
- type Config
- type Generator
- func (g Generator) AddAllergies(patientInfo *ir.PatientInfo, allergies []pathway.Allergy)
- func (g Generator) NewDoctor(c *pathway.Consultant) *ir.Doctor
- func (g Generator) NewDocument(eventTime time.Time, d *pathway.Document) *ir.Document
- func (g *Generator) NewHeader(step *pathway.Step) *message.HeaderInfo
- func (g Generator) NewOrder(o *pathway.Order, eventTime time.Time) *ir.Order
- func (g Generator) NewPatient(person *ir.Person, doctor *ir.Doctor) *state.Patient
- func (g Generator) NewPerson(pathwayPerson *pathway.Person) *ir.Person
- func (g Generator) NewRegistrationPatientClassAndType() *config.PatientClassAndType
- func (g Generator) NewVisitID() uint64
- func (g Generator) OrderWithClinicalNote(ctx context.Context, o *ir.Order, n *pathway.ClinicalNote, eventTime time.Time) (*ir.Order, error)
- func (g Generator) ResetPatient(p *state.Patient) *state.Patient
- func (g Generator) SetResults(o *ir.Order, r *pathway.Results, eventTime time.Time) (*ir.Order, error)
- func (g Generator) UpdateDocumentContent(dm *ir.Document, dp *pathway.Document) error
- func (g Generator) UpdateFromPathway(patientInfo *ir.PatientInfo, updatePerson *pathway.UpdatePerson)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Clock clock.Clock HL7Config *config.HL7Config Header *config.Header AddressGenerator person.AddressGenerator MRNGenerator id.Generator PlacerGenerator id.Generator FillerGenerator id.Generator NotesGenerator order.NotesGenerator DateGenerator codedelement.DateGenerator Data *config.Data Doctors *doctor.Doctors MsgCtrlGenerator *header.MessageControlGenerator OrderProfiles *orderprofile.OrderProfiles // contains filtered or unexported fields }
Config contains the configuration for Generator.
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator implements functionality to generate various patient related information based on the information provided in the pathway.
func (Generator) AddAllergies ¶
func (g Generator) AddAllergies(patientInfo *ir.PatientInfo, allergies []pathway.Allergy)
AddAllergies adds allergies specified in the pathway to the patientInfo:
- If there are any allergies specified in the pathways, they are always added to existing allergies on the patientInfo.
- If the allergies were not specified in the pathway (ie. allergies is nil) and the allergies on the patientInfo have not been initialised yet (ie are also nil), initialise them to an empty slice (to make sure we'll not make an attempt to generate them on the next ADT-like event, as that would increase the likelihood of the patient having allergies), and then generate them.
- If the allergies from the pathway are explicitly set to empty slice, the allergies on the patient info are also set to empty slice.
func (Generator) NewDoctor ¶
func (g Generator) NewDoctor(c *pathway.Consultant) *ir.Doctor
NewDoctor returns a new doctor based on the Consultant information from the pathway. If consultant is not specified, it returns a random doctor. Otherwise, it attempts to lookup an existic doctor basd on consultant ID. If any doctor is found, it returns it. Othwerise creates a new doctor from Consultant information, with the default speciality defined in messageConfig.HospitalService.
func (Generator) NewDocument ¶
NewDocument returns a NewDocument for MDM^T02 messages.
func (*Generator) NewHeader ¶
func (g *Generator) NewHeader(step *pathway.Step) *message.HeaderInfo
NewHeader returns a new header for the given step.
func (Generator) NewOrder ¶
NewOrder returns a new order based on order information from the pathway and eventTime.
func (Generator) NewPatient ¶
NewPatient returns a new patient based on Person information and a doctor provided.
func (Generator) NewRegistrationPatientClassAndType ¶
func (g Generator) NewRegistrationPatientClassAndType() *config.PatientClassAndType
NewRegistrationPatientClassAndType returns a PatientClassAndType for a patient newly registered.
func (Generator) NewVisitID ¶
NewVisitID generates a new visit identifier.
func (Generator) OrderWithClinicalNote ¶
func (g Generator) OrderWithClinicalNote(ctx context.Context, o *ir.Order, n *pathway.ClinicalNote, eventTime time.Time) (*ir.Order, error)
OrderWithClinicalNote creates an order with a Clinical Note based on the pathway.
func (Generator) ResetPatient ¶
ResetPatient returns a Patient based on the given Patient. Medical History (Orders, Encounters) and general information is kept, but other information is cleared as if the patient was a new patient.
func (Generator) SetResults ¶
func (g Generator) SetResults(o *ir.Order, r *pathway.Results, eventTime time.Time) (*ir.Order, error)
SetResults sets results on an existing Order based on the results information from the pathway. If order is nil, this also creates an Order using details in pathway.Result. Returns an error of the retults cannot be created.
func (Generator) UpdateDocumentContent ¶
UpdateDocumentContent updates the given document for MDM^T02 messages.
func (Generator) UpdateFromPathway ¶
func (g Generator) UpdateFromPathway(patientInfo *ir.PatientInfo, updatePerson *pathway.UpdatePerson)
UpdateFromPathway updates PatientInfo with information from pathway. It Updates: - person information - diagnoses - procedures - allergies
Directories ¶
Path | Synopsis |
---|---|
Package address contains functionality to generate addresses.
|
Package address contains functionality to generate addresses. |
Package codedelement contains functionality to generate Coded Elements that have a Code and a Description.
|
Package codedelement contains functionality to generate Coded Elements that have a Code and a Description. |
Package document contains functions needed to generate a ir.Document object.
|
Package document contains functions needed to generate a ir.Document object. |
Package header contains functionality to generate headers.
|
Package header contains functionality to generate headers. |
Package id provides the functionality to generate identifiers.
|
Package id provides the functionality to generate identifiers. |
Package names provides functionality to generate names for humans.
|
Package names provides functionality to generate names for humans. |
Package notes contains functions needed to generate a ir.ClinicalNote object given the pathway.ClinicalNote object.
|
Package notes contains functions needed to generate a ir.ClinicalNote object given the pathway.ClinicalNote object. |
Package order provides functionality to generate order and set results.
|
Package order provides functionality to generate order and set results. |
Package person provides functionality to generate a person.
|
Package person provides functionality to generate a person. |
Package text contains functions needed to generate random sentences.
|
Package text contains functions needed to generate random sentences. |