Documentation
¶
Index ¶
- func GetReport(obx []Report) (r entity.Report)
- func HandleByMsgType(store HL7Store, data []byte) (string, int, error)
- func New(store HL7Store, client HealthcareClient, debugMode bool) http.Handler
- func NewPubSubMessage(body io.Reader) (*pubSubMessage, error)
- type API
- type CE
- type CM_DICT
- type CM_MSG
- type CM_NDL
- type CX
- type Exam
- type HL7Store
- type HealthcareClient
- type Hl7Client
- type Message
- type ORM
- type ORU
- type PL
- type Report
- type XCN
- type XPN
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewPubSubMessage ¶
Types ¶
type API ¶
type API struct {
Store HL7Store
Client HealthcareClient
// contains filtered or unexported fields
}
type CE ¶ added in v0.6.3
type CE struct {
Identifier string `hl7:"1"`
Text string `hl7:"2"`
CodingSystem string `hl7:"3"`
AltIdentifier string `hl7:"4"`
AltText string `hl7:"5"`
AltCodingSystem string `hl7:"6"`
}
Coded Element
type CX ¶ added in v0.6.3
type CX struct {
ID string `hl7:"1"`
CheckDigit string `hl7:"2"`
CheckDigitScheme string `hl7:"3"`
AssigningAuthority string `hl7:"4"`
IdentifierTypeCode string `hl7:"5"`
}
Extended Composite ID
type Exam ¶ added in v0.6.3
type HL7Store ¶ added in v0.6.3
type HL7Store interface {
SaveORM(context.Context, *entity.Order) error
SaveORU(context.Context, *entity.Observation) error
// TODO: already, I can see how this will get out of hand
// think of another design pattern that decouples the storing logic
// but still allows us to conveniently add handlers
GetProcedures(context.Context, int32) ([]byte, error)
UpdateProcedures(context.Context, []byte) (int, int, error)
}
type HealthcareClient ¶
type Message ¶ added in v0.6.3
type Message struct {
FieldSeparator string `hl7:"MSH.1"`
EncodingChars string `hl7:"MSH.2"`
SendingApp string `hl7:"MSH.3"`
SendingFac string `hl7:"MSH.4"`
ReceivingApp string `hl7:"MSH.5"`
ReceivingFac string `hl7:"MSH.6"`
DateTime string `hl7:"MSH.7"`
MsgType CM_MSG `hl7:"MSH.9"`
ControlID string `hl7:"MSH.10"`
ProcessingID string `hl7:"MSH.11"`
Version string `hl7:"MSH.12"`
}
type ORM ¶ added in v0.6.3
type ORM struct {
FieldSeparator string `hl7:"MSH.1"`
EncodingChars string `hl7:"MSH.2"`
SendingApp string `hl7:"MSH.3"`
SendingFac string `hl7:"MSH.4"`
ReceivingApp string `hl7:"MSH.5"`
ReceivingFac string `hl7:"MSH.6"`
DateTime string `hl7:"MSH.7"`
MsgType CM_MSG `hl7:"MSH.9"`
ControlID string `hl7:"MSH.10"`
ProcessingID string `hl7:"MSH.11"`
Version string `hl7:"MSH.12"`
MRN CX `hl7:"PID.3"`
PatientName XPN `hl7:"PID.5"`
DOB string `hl7:"PID.7"`
Sex string `hl7:"PID.8"`
SSN string `hl7:"PID.19"`
VisitNo string `hl7:"PV1.19"`
PatientClass string `hl7:"PV1.2"`
AssignedLocation PL `hl7:"PV1.3"`
Accession string `hl7:"ORC.2"`
FillerOrderNo string `hl7:"ORC.3"`
OrderStatus string `hl7:"ORC.5"`
OrderDT string `hl7:"ORC.9"`
OrderingProvider XCN `hl7:"ORC.12"`
Service CE `hl7:"OBR.4"`
Priority string `hl7:"OBR.5"`
StatusDT string `hl7:"OBR.22"`
}
type ORU ¶ added in v0.6.3
type ORU struct {
FieldSeparator string `hl7:"MSH.1"`
EncodingChars string `hl7:"MSH.2"`
SendingApp string `hl7:"MSH.3"`
SendingFac string `hl7:"MSH.4"`
ReceivingApp string `hl7:"MSH.5"`
ReceivingFac string `hl7:"MSH.6"`
DateTime string `hl7:"MSH.7"`
MsgType CM_MSG `hl7:"MSH.9"`
ControlID string `hl7:"MSH.10"`
ProcessingID string `hl7:"MSH.11"`
Version string `hl7:"MSH.12"`
MRN CX `hl7:"PID.3"`
PatientName XPN `hl7:"PID.5"`
DOB string `hl7:"PID.7"`
Sex string `hl7:"PID.8"`
SSN string `hl7:"PID.19"`
VisitNo string `hl7:"PV1.19"`
PatientClass string `hl7:"PV1.2"`
AssignedLocation PL `hl7:"PV1.3"`
DictationTimes CM_DICT `hl7:"ORC.7"`
}
func (*ORU) ToObservation ¶ added in v0.6.3
type PL ¶ added in v0.6.3
type PL struct {
PointOfCare string `hl7:"1"`
Room string `hl7:"2"`
Bed string `hl7:"3"`
Facility string `hl7:"4"`
LocationStatus string `hl7:"5"`
PersonLocationType string `hl7:"6"`
Building string `hl7:"7"`
Floor string `hl7:"8"`
LocationDescription string `hl7:"9"`
}
Person Location
Click to show internal directories.
Click to hide internal directories.