| From : | Alexander Turdziladze <turdziladze@gmail.com> |
| To : | Vladimer Getia <khgetia@gmail.com>; a_gvamichava@yahoo.com; misha@gnsc.ge; djorj@mysoft.ge; Tamta Kobakhidze <tkobakhidze@hssp.org.ge> |
| Subject : | RE: ანგარიშგების მოდულის სერვისი |
| Cc : | e.kavtaradze@ncdc.ge; Nino Jvarelia <njvarelia@ncdc.ge>; Sopio Aspanidze <s.aspanidze@ncdc.ge>; Manuchar Tokhadze <MTokhadze@hssp.org.ge>; Mary Gelashvili <MGelashvili@hssp.org.ge>; Vazha Ezugbaia <VEzugbaia@hssp.org.ge> |
| Received On : | 26.06.2014 11:47 |
მოგესალმებით მეგობრებო,
შემთხვევით ხომ არ გაგიტესტიათ სერვისი? გთხოვთ მოგვაწოდოთ თქვენი რეკომენდაციები.
პატივისცემით,
ალეკო
Alexander Turdziladze
Chief of Party
Abt Associates Incorporated - Georgia
USAID Health System Strengthening Project
A. Tsereteli ave. #144 16th FL. Tblisi Georgia
Tel. (995 32) 510021 Ext.#1617
Mob: +995 593 226226
From: Vladimer Getia [mailto:khgetia@gmail.com]
Sent: Tuesday, June 24, 2014 4:46 PM
To: a_gvamichava@yahoo.com; misha@gnsc.ge; djorj@mysoft.ge
Cc: Alexander Turdzilaze; e.kavtaradze@ncdc.ge; Nino Jvarelia; Sopio Aspanidze; Manuchar Tokhadze; Mary Gelashvili; Vazha Ezugbaia
Subject: Fwd: ანგარიშგების მოდულის სერვისი
ბატონო მიშა და ბატონო დავით,
როგორც თქვენთვის ცნობილია, მიმდინარეობს კიბოს სკრინინგის და უსაფრთხო სისხლის პროგრამების ფარგლებში არსებული ელექტრონული პროგრამების სამინისტროს ფინანსურ მოდულთან ინტეგრაცია. აღნიშნული მიზნით, თქვენი თხოვნის საფუძველზე სამინისტროს პროგრამისტებმა მოამზადეს ფინანსური მოდულის სერვისის აღწერა.
თუ რაიმე შეკითხვები გექნებათ, გთხოვთ, კომუნიკაცია განახორციელოთ აღნიშნული მიმოწერის ფარგლებში (ყველა დაინტერესებული მხარე ჩასმულია მიმოწერაში).
სერვისის მისამართია: http://reporting.moh.gov.ge/Reporting/Services/HmisServiceWcf.svc
პატივისცემით,
ხვიჩა გეთია
დკსჯეც-ის სახელმწიფო პროგრამების
დეპარტამენტის უფროსი
სერვის მეტოდების აღწერა
ავტორიზაციის მეთოდი, რომელიც გიბრუნებთ null-ს იმ შემთხვევაში თუ ავტორიზაცია ვერ გაიარეთ
Guid? Login
(
String username - მომხმარებლის სახელი
String password - მომხმარებლის პაროლი
);
აბრუნებს ფორმების სქემებს მომხმარებლის მიხედვით
SchemaContract GetAllSchemas
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
);
აბრუნებს ფორმის სქემას ფორმის ID-ს და მომხმარებლის მიხედვით
FormSchemaContract GetFormSchema
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
Guid formID - ფორმის ID
);
ინახავს ფორმის მონაცემებს (ეს მეთოდი არის გათლილი BATCH სავე-ისთვის, ანუ მას შეიძლება გადმოეცეს ფორმის მთლიანი მონაცემები უკვე შევსებული ცხრილებით და ქვე ცხილებით)
ExecutionResultContract SaveFormData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
HmisFormDataContract formData - ფორმის მონაცემები
);
ამატებს მონაცემებს ფორმის ცხრილში
ExecutionResultContract AddFormGridData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
HmisFormDataContract rowData - ცხრილის მონაცემები
Guid formID - ფორმის ID
Guid? contractID - ხელშეკრულების ID
String gridName - ცხრილის სახელი
);
ასუფთავებს ფორმის ცხრილს
ExecutionResultContract ClearGridData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
Guid? contractID - ხელშეკრულების ID
Guid formID - ფორმის ID
String gridName - ცხრილის დასახელება
);
შლის მონაცემებს ფორმის ცხრილიდან
ExecutionResultContract RemoveRowData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
Guid? contractID - ხელშეკრულების ID
Guid formID - ფორმის ID
String gridName - ცხრილის დასახელება
Guid rowID - ცხრილის დასახელება
);
ანახლებს მონაცემებს ფორმის ცხრილში
ExecutionResultContract ModifyRowData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
Guid? contractID - ხელშეკრულების ID
Guid formID - ფორმის ID
String gridName - ცხრილის დასახელება
Guid rowID - ცხრილში ჩანაწერის ID
Dictionary
fields - ცხრილის Row-ს სრული სქემით განახლებული მონაცმემები (ეს საჭიროა რადგან ამ დროს ხდება ძველი Row-ს წაშლა და ახალის დამატება) );
აბრუნებს მტლიან ფორმის (ცხრილების ჩატლით) მონაცემებს
FormDataResultContract GetFormData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
Guid? contractID - ხელშეკრულების ID
Guid formID - ფორმის ID
);
აბრუნებს ფორმის ცხრილის სტრიქონს Row
GridRowDataContract GetRowData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
Guid? contractID - ხელშეკრულების ID
Guid formID - ფორმის ID
String gridName - ცხრილის დასახელება
Guid rowID - ცხრილში ჩანაწერის ID
);
აბრუნებს მხოლოდ ფორმის ცხრილის მონაცემებს ცხრილის სახელის მიხედვით
GridDataContract GetGridData
(
Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token
Guid? contractID - ხელშეკრულების ID
Guid formID - ფორმის იდენტიფიკატორი
String gridName - ცხრილის დასახელება
);
კლასები აღწერა
//ოპერაციის შესრულების რეზულტატის მატარებელი კლასი
[Serializable]
[DataContract]
public class ExecutionResultContract
{
//შეცდომის კოდი (ამ ეტაპზე შეცდომები არ არის დასტანდარტებული ამიტომ შეცდომის შემთხვევაში ამ ველის მნიშვნელობა იქნება 1 ხოლო თუ ოპერაციამ ჩაიარა წარმატებით ამ ველის მნიშვნელობა იქნება 0)
[DataMember]
public int ErrorCode { get; set; }
//შეცდომის ტექსტი
[DataMember]
public String ErrorMessage { get; set; }
}
//ფორმების და ცხრილების სქემების მატარებელი კლასი
[Serializable]
[DataContract]
public class SchemaContract : ExecutionResultContract
{
//ხელშეკტულებების მიხედვით ხელმისაწვდომი ფორმები
[DataMember]
public List<FormSchemaContract> Forms { get; set; }
}
//ფორმების და ცხრილების სქემების მატარებელი კლასი
[Serializable]
[DataContract]
public class FormSchemaContract : ExecutionResultContract
{
//ფორმის უნიკალური იდენტიფიკატორი
[DataMember]
public Guid ID { get; set; }
//ხელშეკრულების უნიკალური იდენტიფიკატორი
[DataMember]
public Guid? ContractID { get; set; }
//ფორმის სრული დასახელება
[DataMember]
public String Name { get; set; }
//ფორმის შემოკლებული ან განსხვავებული დასახელება
[DataMember]
public String Alias { get; set; }
//ფორმის ველების სია
[DataMember]
public List<FormFieldSchemaContract> FormFields { get; set; }
//ფორმაზე არსებული ცხრილების სია
[DataMember]
public List<GridSchemaContract> FormGrids { get; set; }
//ქვე ფორმების სია (ამის გამოყენება არ დაგჭირდებათ რადგან მიუხედავად ფუნქციონალის არსებობისა სისტემაში არ არსებობს ფორმა რომელსაც აქვს ქვე ფორმა)
[DataMember]
public List<FormSchemaContract> SubForms { get; set; }
}
//ფორმის ველის სქემის მატარებელი კლასი
[Serializable]
[DataContract]
public class FormFieldSchemaContract
{
//ველის დასახელება
[DataMember]
public String Name { get; set; }
//ველის დასახელება
[DataMember]
public String Alias { get; set; }
//ველის მონაცემების ტიპის დასახელება
[DataMember]
public String DataType { get; set; }
//მიმდევრობის რიგის მაჩვენებელი ველი
[DataMember]
public int OrderIndex { get; set; }
//ეკრანზე ხილვადომის განმსაღვრელი ველი
[DataMember]
public bool Visible { get; set; }
//გვიჩვენებს არის თუ არა ველი მხოლოდ ინფორმაციის გამოტანისის გათვლილი (ან ავტომატურად შევსებადი) რაც ნიშნავს იმას რომ მისი მნიშვნელობის შეცვლა მომხმარებელის მიერ დაუშვებელია
[DataMember]
public bool ReadOnly { get; set; }
//ID-ს განმსაზვრელი ველი (გვიჩვენებს არის თუ არა ველი ID ტიპის)
[DataMember]
public bool IsKeyField { get; set; }
}
//ფორმის ცხრილის სქემის მატარებელი კლასი
[Serializable]
[DataContract]
public class GridSchemaContract
{
//ცხრილის იდენტიფიკატორი
[DataMember]
public Guid ID { get; set; }
//ცხრილის დასახელება
[DataMember]
public String Name { get; set; }
//ცხრილის დასახელება
[DataMember]
public String Alias { get; set; }
//ცხრილის ველების სია
[DataMember]
public List<GridFieldSchemaContract> GridFields { get; set; }
//ცხრილის დეტალური ფორმის (Input/Output ფორმის) ველი
//ამ ფორმის საშუელების ხდება მოცემულ ცხრილში მონაცემების შეტანა და View რეძიმში გამოტანა
[DataMember]
public FormSchemaContract DetailsForm { get; set; }
}
//ცხრილის სქემის მატარებელი კლასი
[Serializable]
[DataContract]
public class GridFieldSchemaContract : ExecutionResultContract
{
//ფინანსურ მოდულთან დამაკავშირებელი ველი (მაგალითდ თუ ველის მნიშვნელობა არის Cost ამ ველის მიხედვით მოხდება თანხის თავლა რომელიც გადაიგზავნება ფინანსურ მოდულში)
[DataMember]
public String BillingAlias { get; set; }
//ველის დასახელება
[DataMember]
public String Name { get; set; }
//ველის დასახელება
[DataMember]
public String Alias { get; set; }
//ველის მონაცემების ტიპის დასახელება
[DataMember]
public String DataType { get; set; }
//მიმდევრობის რიგის მაჩვენებელი ველი
[DataMember]
public int OrderIndex { get; set; }
//ეკრანზე ხილვადომის განმსაღვრელი ველი
[DataMember]
public bool Visible { get; set; }
//ID-ს განმსაზვრელი ველი (გვიჩვენებს არის თუ არა ველი ID ტიპის)
[DataMember]
public bool IsKeyField { get; set; }
}
//ფორმის მონაცემების მაგარებელი კლასი
[Serializable]
[DataContract]
public class FormDataResultContract : ExecutionResultContract
{
//ფორმის მონაცემები მაგარებელი კლასი
[DataMember]
public HmisFormDataContract FormData { get; set; }
}
//ფორმის მონაცემები მაგარებელი კლასი
[Serializable]
[DataContract]
[KnownType(typeof(HmisFormDataContract))]
[KnownType(typeof(HmisBinaryDataContract))]
[DebuggerDisplay("FormID = {FormID}, ContractID = {ContractID}, FormGridsData = {FormGridsData.Count}")]
public class HmisFormDataContract
{
//ფორმის იდენტიფიკატორი
[DataMember]
public Guid? FormID { get; set; }
//ცონტრაქტის იდენტიფიკატორი
[DataMember]
public Guid? ContractID { get; set; }
//მონაცემების სტატუსი (მნიშვნელობა ივსება მხოლოდ სისტემიდან მონაცემების წაღებისას, მონაცემების გამოცემისას ამ ველის მნიშვნელობა იგნორირდება)
[DataMember]
public RecordStatusContract CommitStatus { get; set; }
//მონაცემის ვალიდურობის სტატუსი (მნიშვნელობა ივსება მხოლოდ სისტემიდან მონაცემების წაღებისას, მონაცემების გამოცემისას ამ ველის მნიშვნელობა იგნორირდება)
[DataMember]
public RecordStatusContract ValidationStatus { get; set; }
//ვალიდაციის კომენტარი (მნიშვნელობა ივსება მხოლოდ სისტემიდან მონაცემების წაღებისას, მონაცემების გამოცემისას ამ ველის მნიშვნელობა იგნორირდება)
[DataMember]
public String ValidationComment { get; set; }
//მონაცემები
[DataMember]
public Dictionary<String, Object> FormFieldsData { get; set; }
//ფორმაზე არსებული ცხრილების მონაცემები
[DataMember]
public Dictionary<String, IList<HmisFormDataContract>> FormGridsData { get; set; }
[DataMember]
public List<HmisFormDataContract> SubFormsData { get; set; }
}
//მონაცმეთა სტატუსი
[Serializable]
[DataContract]
public class RecordStatusContract
{
//სტატუსის იდენტიფიკატორი
[DataMember]
public Guid ID { get; set; }
//სტატუსის დასახელება
[DataMember]
public String Name { get; set; }
//სტატუსის დასახელება
[DataMember]
public String Alias { get; set; }
//სტატუსის ფერის კოდი
[DataMember]
public int? Color { get; set; }
//სტატუსის ტიპი
[DataMember]
public RecordStatusTypeEnum Type { get; set; }
}
//ცხრილის Row-ს მონაცემების მატარებელი კლასი
[Serializable]
[DataContract]
public class GridRowDataContract : ExecutionResultContract
{
//ფორმის იდენტიფიკატორი
[DataMember]
public Guid FormID { get; set; }
//ცხრილის დასახელება
[DataMember]
public String GridName { get; set; }
//ველების სახელები და მნიშვნელობები
[DataMember]
public Dictionary<String, Object> Fields { get; set; }
}
//ცხრილის მონაცემების მატარებელი კლასი
[Serializable]
[DataContract]
public class GridDataContract : ExecutionResultContract
{
//ცხრილის დასახელება
[DataMember]
public Guid FormID { get; set; }
//ფორმის იდენტიფიკატორი
[DataMember]
public String GridName { get; set; }
//ცხრილის Row-ების სია
[DataMember]
public List<Dictionary<String, Object>> Rows { get; set; }
}
Vazha Ezugbaia
Master Developer
Abt Associates Incorporated - Georgia
USAID Health System Strengthening Project
144 Tsereteli Avenue
Tbilisi 0119, Georgia
This message may contain privileged and confidential information intended solely for the addressee. Please do not read, disseminate or copy it unless you are the intended recipient. If this message has been received in error, we kindly ask that you notify the sender immediately by return email and delete all copies of the message from your system.