Private Sub Print_Click()
On Error GoTo Err_Trap
'### Note: if you encounter a namespace problem with a variable declaration you have to
'### put MDINVOICEREQUESTMANAGER300Lib in front of the variable declaration
'### for example instead of declaring:
'### Dim tarmedInput As ITarmedInput
'### you write:
'### Dim tarmedInput As MDINVOICEREQUESTMANAGER300Lib.ITarmedInput
Dim bStatus As Boolean
Dim today As Date
today = DateTime.Now
'### MDInvoiceRequestManager interface
Dim mdinvManager As MDInvoiceRequestManager
Set mdinvManager = New MDInvoiceRequestManager
'### MDInvoiceRequestManager interface
Dim mdinvRequest As IMDInvoiceRequest
Set mdinvRequest = mdinvManager.CreateMDInvoiceRequest(enGerman, "This Test Program", 100, 0)
'### module language for errors
mdinvManager.ModuleLanguage = enGerman
'### optional set modus needed only for XML invoice
mdinvManager.Modus = enTest
'### Address interface
Dim address As IAddress
Set address = mdinvRequest.CreateAddress()
'### initialize the invoice request
mdinvRequest.Initialize (ePaymentMode)
'### set header only needed for XML invoice
Dim lHibernationPeriod As Long
lHibernationPeriod = 14
Dim ePrintout As YesNoType
ePrintout = enNo
bStatus = mdinvRequest.SetHeader("2012345678901", "7612345678901", lHibernationPeriod, ePrintout)
'### invoice
Dim invoiceID, vatNumber, caseID, remark As String
Dim lResendID As Long
Dim dPrepaidAmount As Double
invoiceID = "200001001"
vatNumber = ""
lResendID = 0
dPrepaidAmount = 0
caseID = "1/1"
remark = ""
bStatus = mdinvRequest.SetInvoice(invoiceID, today, enFinal, lResendID, vatNumber, dPrepaidAmount, caseID, remark)
'### esr
bStatus = address.Initialize()
bStatus = address.SetCompany("UBS AG", "Department")
bStatus = address.SetPostal("Hauptstrasse 11", "Postfach", "4132", "Muttenz", "BL", "CH")
Dim lPaymentPeriode As Long
lPaymentPeriode = 35
bStatus = mdinvRequest.SetESR(en9to16or27, "010001628", "123456200001001", "01-162-8", address, lPaymentPeriode)
'### biller
bStatus = address.Initialize()
bStatus = address.SetCompany("Company XY", "")
bStatus = address.SetPostal("Mustermusterstrasse 128", "", "4414", "Füllinsdorf", "", "")
bStatus = address.AddPhone("", "061", "41", "")
bStatus = address.SetFax("922 03 72", "061", "", "")
bStatus = address.SetOnline("tmr@tmr.ch", "http://www.tmr.ch")
bStatus = mdinvRequest.SetBiller("2011234567890", "H-1211-11", address, "")
'### provider
bStatus = address.Initialize()
bStatus = address.SetPerson("Dobler", "Urs", "Herr", "Dr. med.")
bStatus = address.SetPostal("Ribigasse 3-5", "", "4434", "Hölstein", "", "")
bStatus = address.AddPhone("956 99 00", "061", "", "")
bStatus = address.SetFax("956 99 10", "061", "", "")
Dim eanProvider As String
eanProvider = "2034567890111"
bStatus = mdinvRequest.SetProvider(eanProvider, "P-1234-56", address, "FMH Innere Medizin")
'### patient
bStatus = address.Initialize()
bStatus = address.SetPerson("Eggenberger", "Rolf", "Herr", "Dr.")
bStatus = address.SetPostal("Ribigasse 3-5", "", "4434", "Hölstein", "", "")
Dim birthdate As Date
birthdate = DateTime.DateValue("28.2.1964")
Dim eSex As SexType
eSex = enMale
Dim ssn, patID As String
ssn = ""
patID = ""
bStatus = mdinvRequest.SetPatient(address, eSex, birthdate, ssn, patID)
'### guarantor (patient)
bStatus = mdinvRequest.SetGuarantor(address, "")
'### no referrer
'### treatment
Dim eCanton As CantonType
eCanton = enBL
Dim eTreatmentType As TreatmentType
eTreatmentType = enAmbulatory
bStatus = mdinvRequest.SetTreatment(DateTime.DateValue("28.1.2004"), DateTime.DateValue("5.3.2004"), eCanton, eTreatmentType)
'### law
bStatus = mdinvRequest.SetKVG(enDisease, "Insured ID", DateTime.DateValue("28.1.2004"), "Case ID", "ContractNumber")
bStatus = mdinvRequest.AddDiagnosis(enDiagnosisByContract, "A1", "A1 Text", "A1 SubType")
bStatus = mdinvRequest.AddDiagnosis(enDiagnosisByContract, "B2", "", "")
'### before adding the tarmed service initialize the ITarmedInput interface
Dim tarmedInput As ITarmedInput
Set tarmedInput = mdinvRequest.CreateTarmedInput()
Dim eanResponible As String
eanResponible = eanProvider
bStatus = tarmedInput.SetPhysician(enMedicalRoleSelfEmployed, enBillingRoleBoth, eanProvider, eanResponible)
bStatus = tarmedInput.SetPatient(birthdate, eSex)
Dim eanSection As String
eanSection = ""
bStatus = tarmedInput.SetTreatment(eCanton, enKVG, eTreatmentType, enSettlementElectronic, eanSection)
'### add dignity if necessary
'### add section if necessary
Dim lStatus As Long
bStatus = mdinvRequest.AddTarmedService(tarmedInput, "00.0010", "", 1, 1, DateTime.DateValue("28.1.2004"), enSideNone, enNo, lHook, 0, "", lStatus)
'### use print preview for this test program
mdinvManager.PrintPreview = enYes
'### optional set the filepath to the bmp logo file
mdinvManager.PrintLogo = ""
'### finally print invoice
Dim mdinvResult As MDInvoiceResult
Dim lTimestamp As Long
'### no print template is specified - standard template will be used
bStatus = mdinvManager.Print("", enNo, Form1.hWnd, lTimestamp, mdinvResult)
'### relase resources
Set address = Nothing
Set tarmedInput = Nothing
Set mdinvRequest = Nothing
Set mdinvResult = Nothing
Set mdinvManager = Nothing
Exit Sub
Err_Trap:
MsgBox "Error: " & Err.Description, vbCritical, _
"Opps! Error" & Str$(Err.Number)
'### relase resources
Set address = Nothing
Set tarmedInput = Nothing
Set mdinvRequest = Nothing
Set mdinvResult = Nothing
Set mdinvManager = Nothing
End Sub
|